目录

MQTT固件

烧录固件

 调试工具

 AT指令

 阿里云创建设备

ESP01S连接阿里云

 发布与订阅

结语


 

 

MQTT固件

ESP_01S的MQTT固件

 0edd79520bd14f08b498c684a4530031.png

烧录固件

 本人使用的是ESP通用下载器,也可以使用USB转TTL为模块下载固件。

下载器购买地址

 3dd5afca1a4b412caf4ddaecf4055d1c.png

 使用的固件烧录工具下载地址

 941488170fd4479686ac1b65a1a31c95.png

  1.  选择下载好的固件(注意固件号为1471);
  2. 设置SPI速度 模式 和flash的大小;
  3. 选择设备连接的串口号;
  4. 点击START开始下载(我所使用的下载器可以自动完成下载);
  5. 等待完成。
  6. 下载完成后需要断电重启!

 调试工具

本人使用的串口工具为SSCOM

 b3e7de778a8345cfb327c4c5f7dd13a6.png

 串口设置信息如下:

524c8c67834a4fd492a7b6f4e103b4e8.png

 AT指令

AT+GMR //获取版本信息
AT+CWMODE=1 //设置工作模式为STA模式
AT+CWJAP="WIFI_NAME","WIFI_PWD" //连接WIFI WIFI名称 WIFI密码
AT+CIPSNTPCFG=1,8,"ntp1.aliyuncs.com" //连接阿里云
+MQTTUSERCFG=0,1,"XXX","ESP_01S_TEST&icugpYTjNph","e5ee14d78f4d0ab144e2ce775bd4a0026de0ecb23f6c5dc27bc0e68665800ab4",0,0,""  //配置MQTT三元组  XXX可以自己自定义也可为空
AT+MQTTCLIENTID=0,"icugpYTjNph.ESP_01S_TEST|securemode=2\,signmethod=hmacsha256\,timestamp=1679750123512|" //配置clientId  注意每个逗号前加\
AT+MQTTCONN=0,"iot-06z00aqefhlq5ki.mqtt.iothub.aliyuncs.com",1883,1 //配置连接域名

/**订阅的主题为物理型通信Topic 中的设备属性设置**/
/**原型为 /sys/icugpYTjNph/${deviceName}/thing/service/property/set **/
/** ${deviceName} 需要使用自己的设备名替换**/

AT+MQTTSUB=0,"/sys/icugpYTjNph/ESP_01S_TEST/thing/service/property/set",1 //订阅主题

/**发布的主题为物理型通信Topic 中的设备属性上报**/
/**原型为 /sys/icugpYTjNph/${deviceName}/thing/event/property/post **/
/** ${deviceName} 需要使用自己的设备名替换**/

/** 多个设备属性一起发布格式如下 **/
AT+MQTTPUB=0,"/sys/icugpYTjNph/ESP_01S_TEST/thing/event/property/post","{\"method\":\"thing.service.property.set\"\,\"id\":\"1273638156\"\,\"params\":{\"LEDSwitch\":0\,\"PowerSwitch_1\":0}\,\"version\":\"1.0.0\"}",1,0  //发布主题

/** 多个设备属性一起发布格式如下 **/
AT+MQTTPUB=0,"/sys/icugpYTjNph/ESP_01S_TEST/thing/event/property/post","{\"method\":\"thing.service.property.set\"\,\"id\":\"1273638156\"\,\"params\":{\"PowerSwitch_1\":0}\,\"version\":\"1.0.0\"}",1,0

 阿里云创建设备

 注册好阿里云账号后在搜索框输入物联网平台,然后点击控制台选项中的物联网平台。

7851c1f92ac74ba38d71c6bb94a9c6b5.png

 刚注册使用的账号会提示需要开通物联网平台,点击开通即可免费使用

进入物联网平台之后点击公共实例,刚注册的账号也需要开通 (免费)

在公共实例中需要创建一个产品

469600a562ea44be991f7df0fc83e016.png

 此类为示例使用,具体需要创建什么样的产品请根据个人使用情况选择。

aceeb01626dd4a68b9287afedc1dd358.png

 有产品之后才能创建设备,创建设备示例如下(产品选择刚刚创建好的产品名称)

207bb4f8fdca461ca9300c51d133f9e8.png

ESP01S连接阿里云

 创建好设备后,点击查看设备,然后查看设备的MQTT连接参数

59e43851f2d745e2a869cd5fd437acff.png

078a9e4a3073464f906e54be44221429.png

 username和passwd参数需要填写进“AT+MQTTUSERCFG”指令中

clientId需要填写进“AT+MQTTCLIENTID”指令中,需要注意的是每个逗号之前需要加一个\

mqttHostUrl参数需要填写进“AT+MQTTCONN”指令中

port为“AT+MQTTCONN”指令的倒数第二个参数,一般默认为1883

指令执行示例如下:

 a24ed9b091584a29a85c7b24f99f1102.png

 正确连接阿里云后设备状态会变更为在线状态。

 发布与订阅

 订阅主题

 

使用AT+MQTTSUB指令

主要订阅的主题为物理型通信Topic 中的设备属性设置

原型为 /sys/icugpYTjNph/${deviceName}/thing/service/property/set

其中${deviceName}需要替换为自己的设备名称

 

发布主题使用AT+MQTTPUB指令

主要发布的主题为物理型通信Topic 中的设备属性上报

原型为 /sys/icugpYTjNph/${deviceName}/thing/event/property/post

其中${deviceName}需要替换为自己的设备名称

如果不清楚发布主题中的JSON字符串该如何写可以打开监控运维中的在线调试,将设备的属性推送到串口上,自己按照推送过来的信息格式书写就可以了!

ba3db4ec0a86468dac116509469222d7.png

 点击设置,串口会收到如下信息。

c6b9f5bf7de742bf80bd3d5b5715cc6d.png

 注意花括号中的每个双引号与逗号之前需要加上\转义

结语

至此ESP8266通过AT指令连接阿里云物联网平台就到这里结束了!祝各位调试顺利。

附本文章中使用的指令集 ESP_01S使用MQTT连接阿里云指令集https://download.csdn.net/download/qq_43400957/87613506

 

 

 

 

 

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐