当前位置: 首页 > backend >正文

嵌入式学习笔记-MCU阶段-DAY10ESP8266模块

1.ESP8266概述

官方网址:ESP8266 Wi-Fi MCU I 乐鑫科技 (espressif.com.cn)

ESP8266模块---wifi模块

产品特点:

2.ESP8266中的wifi:

ESP8266EX ⽀持 TCP/IP 协议,完全遵循 802.11 b/g/n WLAN MAC 协议,⽀持分布式控制功能 (DCF) 下的基本服务集 (BSS) STA 和 SoftAP 操作。⽀持通过最⼩化主机交互来优化有效⼯作时⻓,以实现功耗管理。

应用方向:

外观尺寸大小: 

今天主要是使用wifi功能,最终联网

3.AT指令集的概念:

AT指令是应用于终端设备与PC应用之间的连接与通信的指令。AT 即Attention。每个AT命令行中只能包含一条AT指令;对于AT指令的发送,除AT两个字符外,最多可以接收1056个字符的长度(包括最后的空字符)。

格式:

AT+CMD

 4.ESP8266引脚:

 

复位:

 使能管脚:

电源部分: 

 

串口配置部分:

 

 启动模式:

程序正常运行,我们需要保证使能位和RST,必须拉高

 

5.ESP8266联网步骤

AT+CWMODE=1 :设置工作模式(STA模式)
AT+RST :模块重启(生效工作模式)
AT+CWJAP="111","11111111"     :连接当前环境的WIFI热点(热点名,密码)
AT+CIPMUX=0:设置单路连接模式
AT+CIPSTART="TCP","xxx.xxx.xxx.xxx",xxxx   :建立TCP连接
AT+CIPMODE=1   :开启透传模式
AT+CIPSEND    :透传模式下,传输数据
+++:退出透传模式

如何将以上指令通过串口发送至ESP8266????

1.串口3配置

2.中断配置

USART3接收中断:主机用于接收ESP8266的应答信号和有效数据,用中断主要是为了避免数据阻塞。

USART3空闲中断:用于判断数据是否接收完成,因为每次接受的数据长度都不一样,所以目前只能用空闲中断。

USART1接收中断:用于接收上位机传输过来的数据

USART1空闲中断:上位机发送的数据是否结束

发送指令的函数

ESP8266_Cmd ( "AT", "OK",NULL,500)
参数1:AT--发送的指令
参数2:ESP8266的应答信号
参数3:ESP8266的应答信号
参数4:500--延时时间

代码编写部分:

指令详解

 

 

 

热点和服务器地址设置: 

 服务器:安信可透传云

整体链接流程: 

[16:16:08.100]收←◆配置ESP8266联网流程AT测试.....[16:16:10.107]收←◆
AT测试次数 0......[16:16:10.606]收←◆000
00ATOKAT测试启动成功 0......
正在配置ESP8266模式[16:16:11.113]收←◆000
00AT+CWMODE=1OK
正在配置WIFI热点信息[16:16:11.620]收←◆000
00AT+CWJAP="iPhone010","66666666"[16:16:28.874]收←◆000
00WIFI CONNECTED
AT+CWJAP="iPhone010","66666666"busy p...[16:16:29.385]收←◆000
00AT+CWJAP="iPhone010","66666666"busy p...
WIFI GOT IP[16:16:30.908]收←◆000
00AT+CWJAP="iPhone010","66666666"busy p...OK
正在配置单链接[16:16:31.413]收←◆000
00AT+CIPMUX=0OK
正在配置服务器端信息[16:16:31.925]收←◆000
00AT+CIPSTART="TCP","122.114.122.174",36408CONNECTOK
进入透传模式[16:16:34.978]收←◆000
00AT+CIPMODE=1OK[16:16:35.481]收←◆000
00AT+CIPSENDOK>进入透传模式成功
开始传输数据

http://www.xdnf.cn/news/16756.html

相关文章:

  • 初识微服务
  • 飞算 JavaAI 中 SQL 另存为脚本功能详解
  • ZKmall开源商城微服务架构电商平台:服务注册与配置中心设计
  • 充电桩与照明“联动”创新:智慧灯杆破解新能源基建难题
  • 微服务消息队列之RabbitMQ,深入了解
  • 【unity小技巧】封装unity适合2D3D进行鼠标射线检测,获取鼠标位置信息检测工具类
  • Java设计模式之行为型模式(解释器模式)实现方式详解
  • Elasticsearch 集群管理核心 API 指南:健康、状态、分片诊断与运维实战
  • 调试 Rust 生成的 WebAssembly
  • 工业级蓝光三维扫描仪:汽车零部件高精度检测的利器
  • Python LRU缓存应用与示例
  • 守护数字核心:主机安全的重要性与全方位防护指南
  • zabbix的PostgreSQL监控模板中文环境采集问题处理
  • JsHook入门
  • Nginx 来正确地托管网站服务
  • 汇川ITS7100E触摸屏交互界面开发(二)界面开发软件使用记录
  • 使用python连接MongoDB
  • 【RAG 检索排序详解】RRF vs Reranker:原理、区别与实战应用
  • 编程算法:驱动技术创新与业务增长
  • 【Linux】System V - 责任链模式与消息队列
  • 【LeetCode 热题 100】155. 最小栈
  • LVGL 使用自定义字体
  • VS Code中配置使用slint(Rust)的一个小例子
  • 【PHP 构造函数与析构函数:从基础到高级的完整指南】
  • 数据库小知识
  • vi/vim跳转到指定行命令
  • 下次接好运~
  • 【C#学习Day16笔记】XML文件、 事件Event 、Json数据
  • MySQL学习从零开始--第七部分
  • Linux---make和makefile