ESP AT指令使用记录
一、前言本篇文章主要用于记录自己在使用AT指令时候的流程,记录一些资料与程序等。如果能帮到你,请给我点个赞。
二、背景知识
ESP-AT是什么?
[*]ESP-AT 是乐鑫开发的可直接用于量产的物联网应用固件,旨在降低客户开发成本,快速形成产品。通过 ESP-AT 指令,您可以快速加入无线网络、连接云平台、实现数据通信以及远程控制等功能,真正的通过无线通讯实现万物互联。
[*]ESP-AT 是基于 ESP-IDF 或 ESP8266_RTOS_SDK 实现的软件工程。它 使 ESP 模组作为从机,MCU 作为主机 。MCU 发送 AT 命令给 ESP 模组,控制 ESP 模组执行不同的操作,并接收 ESP 模组返回的 AT 响应。ESP-AT 提供了大量功能不同的 AT 命令,如 Wi-Fi 命令、TCP/IP 命令、Bluetooth LE 命令、Bluetooth 命令、MQTT 命令、HTTP 命令、Ethernet 命令等。
[*]AT 命令以 “AT” 开始,代表 Attention,以新的一行 (CR LF) 为结尾。输入的每条命令都会返回 OK 或 ERROR 的响应,表示当前命令的最终执行结果。注意,所有 AT 命令均为串行执行,每次只能执行一条命令。因此,在使用 AT 命令时,应等待上一条命令执行完毕后,再发送下一条命令。如果上一条命令未执行完毕,又发送了新的命令,则会返回 busy p... 提示。
可以看到乐鑫公司为ESP模组开发了一个AT指令框架,这样ESP就可以作为从机,一个附属模块来进行开发,同样的也可以基于这个框架来搭建属于自己的AT指令。目前市面上也存在着大量的第三方AT指令,一般都是一些云平台(腾讯云、阿里云等)魔改的AT指令,烧写相应的固件即可使用这些魔改的AT指令。
AT指令资料
除了乐鑫官方的ESP-AT手册以外,目前提供较完整的ESP-AT指令的第三方还有安信可(Ai-Thinker)
乐鑫官方ESP-AT手册
安信可ESP产品资料
其中安信可提供了非常全面的ESP-AT示例,还包括烧入软件等等。通过上述链接,即可进入进行资料的查询
单片机选择
固件基本上支持很多的ESP系列的MCU,不过我们既然选择使用了AT指令,肯定是想让ESP模组作为从机,或者说一个WIFI模块来使用的,我这里推荐ESP01S
这个模组基于ESP8266芯片设计,引出了几个必要的引脚,体积小巧。在购买的时候需要注意购买ESP01S即可,是ESP01的升级款。且购买的店家最好确认一下,之前安信可售卖的质量比较好,后面没有再进行出售了,比较可惜。
三、ESP01S AT指令链接巴法云具体流程
选择固件烧入
常见的AT固件,在安信可的资料当中已经列出了,根据具体的需求选择对应的AT固件进行下载即可
我这里选择固件号为 1471 的固件,足够使用了。且使用方式与官方的ESP-AT指令集保持一致。
引脚连接测试、固件烧入
到开发工具当中下载好烧入工具
准备好如下两份文件即可开始进行固件的烧入
准备一个USB-TTL,安装好对应的驱动(CH340或者CP210X)
需要注意烧入固件的时候需要配置为UART烧入模式,参见下表
模式CH_PD(EN)RSTGPIO15GPIO0GPIO2TXD0UART下载模式高高低低高高Flash运行模式高高低高高高Chip测试模式-----低可以看到IO0是需要拉低电平的,我们将IO0接到GND上,如果USB-TTL只有一个GND,只要拿个洞洞板上面焊接一排排针,然后将GND通过杜邦线接上去,这样就有很多个GND可以使用了。
类似这样,焊接一排排针即可:
接好线之后,解压固件,打开前面下载的烧入软件:
按照下图进行选择:
首先擦除(ERASE),然后再下载即可。
擦除完成:
烧入完成:
之后将之前拉低电平的IO0拔掉,即可按照正常的串口连接方式进行测试:
打开串口软件,选择好串口,波特率默认115200,烧入AT,选择发送新行,有收到“OK”回复。说明固件烧入成功。
AT指令连接巴法云平台
1471号固件的时候方式参照乐鑫官方的ESP-AT指令集:
乐鑫 ESP-AT指令集
我们需要的是MQTT,参考基础AT 命令集 WIFI AT 命令集 MQTT AT 命令集即可。
基础 AT 命令集
只要使用下面两个即可:
WIFI AT 命令集
使用下面的指令即可:
MQTT AT 命令集
巴法云的MQTT服务器的连接比较简单,按照巴法云的连接手册,只需要
[*]密钥
[*]baseurl
[*]端口
这三个即可,具体参考巴法云接入文档:
巴法云MQTT接入文档
注意!!!!!
巴法云支持MQTT协议当中的Qos0和Qos1,不要配置成Qos2了。
MQTT指令集大部分都是需要的:
具体流程
连接WIFI
[*]测试AT指令是否完好
[*]设置ESP为AP模型
[*]扫描WIFI
[*]连接WIFI
连接巴法云服务器,订阅主题
[*]配置好ClientID服务器地址、端口
[*]订阅配置好的MQTT主题
成功连接并且订阅到服务器主题!!!!
发布、接受信息
使用如下AT指令即可
AT+MQTTPUB=<LinkID>,<"topic">,<"data">,<qos>,<retain>四、结合STM32(主机)控制ESP01S(从机)与巴法云进行数据上传
测试完成之后,我们就可以搭配着STM32来通过串口进行自动化的MQTT连接了。具体思路如下:
页:
[1]