目录
前言
固件烧录
1.ESP8266 模块 AT(含MQTT)固件下载教程-CSDN博客
硬件接线(本篇代码基于2篇)
2.STM32通过串口发送AT命令控制ESP8266连接阿里云的代码-CSDN博客
主控芯片STM32f103c8t6,WIFI模块为ESP8266-01s
ESP8266模式
ESP8266 支持 softAP 模式,station 模式,softAP + station 共存模式三种。 利用 ESP8266 可以实现十分灵活的组网方式和网络拓扑。
AP 模式
AP:无线接入点,是一个无线网络的中心节点。通常使用的无线路由器就是一个无线接入点。
ESP8266 作为 AP,手机、电脑、用户设备、其他 ESP8266 station 接 口等均可以作为 station 连入ESP8266,组建成一个局域网。
station 模式
Station:即无线终端,是一个无线网络的终端。
ESP8266 作为 station,通过路由器(AP)连入 internet ,可向云端服务 器上传、下载数据。用户可随时使用移动终端(手机、笔记本等),通过云端监控 ESP8266 模块的状况,向 ESP8266 模块发送控制指令。
AP + station 共存模式
ESP8266 支持AP+station 共存的模式,用户设备、手机等可以作为 station 连入 ESP8266 的 softAP 接口,同时,可以控制 ESP8266 的 station 接口通过路由器(AP)连入 internet。
透传功能
透传,即透明传输功能。Host 通过 uart 将数据发给 ESP8266,ESP8266 再 通过无线网络将数据传出去;ESP8266 通过无线网络接收到的数据,同理通过 uart 传到Host。ESP8266 只负责将数据传到目标地址,不对数据进行处理,发送方和接收方的数据内容、长度完全一致,传输过程就好像透明一样。
透传需要先建立连接
无线网络参数
网络名称(SSID)
安全模式
密钥(password)
TCP连接参数
协议类型
连接类型 客户端(Client)或服务端(Server)
目的IP地址
目的端口
加密
ESP8266 支持多种无线网络加密方式
WEP (only station)
WPA-PSK/TKIP
WPA-PSK/AES
WPA2-PSK/TKIP
WPA2-PSK/AES
UART 成帧机制
ESP8266 判断 UART 传来的数据时间间隔,若时间间隔大于20ms,则认为一 帧结束;否则,一直接收数据到上限值2KB,认为一帧结束。ESP8266模块判断 UART 来的数据一帧结束后,通过WIFI接口将数据转发出去。 成帧时间间隔为20ms,一帧上限值为2KB。
AT指令介绍
什么是AT指令?
AT 指令(AT Commands)最早是由发明拨号调制解调器的贺氏公司为了控制拨号调制解调器而发明的控制协议。后来随着网络带宽的升级,速度很低的拨号调制解调器基本退出市场,但是 AT 指令被保留了下来。
在嵌入式开发中,经常是使用 AT 命令去控制各种通讯模块,比如 ESP8266 模块、4G 模块、GPRS 模块等等。一般就是主芯片通过硬件接口(比如串口、SPI)发送 AT 指令给通讯模块,模块接收到数据之后回应响应的数据。
AT指令类型
AT 指令分为四种类型:
类型 | 格式 | 功能 |
---|---|---|
测试指令 | AT + < X > = ? | 查询设置命令或内部程序设置的参数及其取值范围 |
查询指令 | AT + < X > ? | 返回参数的当前值 |
设置指令 | AT + < X > = < ... > | 设置用户自定义的参数值 |
执行指令 | AT + < X > | 执行受模块内部程序控制的变参数不可变 |
AT 指令有近百条,但常用的就十几条,理解起来也非常简单,现在举例一些常用指令,并使用这些指令一步一步的通过 TCP 实现收发数据。
常用AT指令
AT指令 | 功能 |
---|---|
AT | 测试是否正常启动 |
AT+CWMODE=1 | 设置 STA 模式 |
AT+CWMODE=2 | 设置 AP 模式 |
AT+CWMODE=3 | 设置 AP+STA 模式 |
AT+RST | 重启生效 |
AT+CWSAP=”SSID”,”password”,1,4 | 设置 AP 参数:账号为SSID ,密码为password,通道号为 1,加密方式为:WPA_WPA2_PSK |
AT+CIPMUX=0 | 开启单连接 |
AT+CIPMUX=1 | 开启多连接 |
AT+CIPSERVER=1,8080 | 开启 SERVER 模式,设置端口为 8080 |
AT+CIPSTART=“TCP”,"192.168.X.XXX”,8080 | 建立 TCP 连接到”192.168.X.XXX”,8080 AT+CIPSTART="协议模式","服务端IP地址",端口号 |
AT+CIPSTART=“UDP”,“192.168.X.XXX”,8080 | 建立 UDP 连接到”192.168.X.XXX”,8080 |
AT+CIPCLOSE | 断开 TCP 连接 |
AT+CW |