烧录MQTT固件

购买的ESP8266一般没带MQTT固件,所以无法通过MQTT指令与云平台通信,需要烧录固件。
MQTT固件可以在安信可科技进行下载。
交流qun:6_15061293。
https://docs.espressif.com/projects/esp-at/zh_CN/release-v2.2.0.0_esp8266/index.html

在这里插入图片描述

下载器可以使用乐鑫官方的下载器。
https://www.espressif.com.cn/zh-hans/support/download/other-tools
在这里插入图片描述

下载完毕之后,选择对应模块的型号。
在这里插入图片描述

接线方式如下所示。
在这里插入图片描述

选择刚刚下载的固件,配置好对应的串口,点击下载即可。
在这里插入图片描述

下载成功如下所示。
在这里插入图片描述

若出现这种情况8-download data fail,则是flash大小不够,需要更换nor flash。
在这里插入图片描述

创建阿里云产品

阿里云官网:https://www.aliyun.com/
选择物联网平台,开始创建产品。
在这里插入图片描述

选择公共实例,点击进入。
在这里插入图片描述

创建产品。
在这里插入图片描述

这里我的基本配置如下所示。
在这里插入图片描述

添加设备。
在这里插入图片描述

这里可以输入自己喜欢的设备名字,也可以点击确认自动生成。
在这里插入图片描述

生成设备之后,将温湿度上报添加进来。
在这里插入图片描述

添加标准功能。
在这里插入图片描述

添加所需功能。
在这里插入图片描述

添加完毕之后点击上线。
在这里插入图片描述

AT指令接入阿里云
AT指令手册:https://docs.espressif.com/projects/esp-at/zh_CN/release-v2.2.0.0_esp8266/AT_Command_Set/MQTT_AT_Commands.html
设置Wi-Fi模式
在这里插入图片描述

AT+CWMODE=1

连接路由器
在这里插入图片描述

例如WIFI名称66,密码:1234abcd,则输入

AT+CWJAP="66","1234abcd"

可以通过查询IP地址来查看是否连接上wifi。
在这里插入图片描述

AT+CIFSR

使能 SNTP 服务器,设置中国时区 (UTC+08:00)
在这里插入图片描述

AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com"

查看MQTT参数,这里面包含MQTT三元组信息:clientld,username,password
在这里插入图片描述

设置登录密码
在这里插入图片描述

对应的MQTT参数如下所示。
在这里插入图片描述

AT+MQTTUSERCFG=0,1,"NULL","4WpGE15ik3MbGt0lEiIj&a1ZCbJN0kQB","0ac7bb4bf8eb2b96ea8ced5760eb72b62238935a5ec42c22849fcee7fe13137d",0,0,""

在这里插入图片描述

配置 MQTT 用户属性
设置指令:

AT+MQTTUSERCFG=<LinkID>,<scheme>,<"client_id">,<"username">,<"password">,<cert_key_ID>,<CA_ID>,<"path">

对应的MQTT参数如下所示。
在这里插入图片描述

注意:需要在每个逗号前面加上\

AT+MQTTCLIENTID=0,"a1ZCbJN0kQB.4WpGE15ik3MbGt0lEiIj|securemode=2\,signmethod=hmacsha256\,timestamp=1679562771636|"

连接 MQTT Broker
在这里插入图片描述

对应的MQTT参数如下所示。
在这里插入图片描述

设置指令:

AT+MQTTCONN=0,"a1ZCbJN0kQB.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883,1

此时可以查看设备,可以看到已经是在线状态。
在这里插入图片描述

订阅

订阅Topic是指在一个订阅服务中,用户可以选择关注或订阅感兴趣的话题或主题。
在这里插入图片描述

通过订阅Topic,用户可以更加精准地获取自己的内容,提高信息的质量和效率。
在这里插入图片描述

发送AT指令,订阅Topic
在这里插入图片描述

AT+MQTTSUB=0,"/a1ZCbJN0kQB/4WpGE15ik3MbGt0lEiIj/user/get",1

在这里插入图片描述

订阅成功会在阿里云进行显示。
在这里插入图片描述

上报数据

这里定义了温湿度的功能。
在这里插入图片描述

可以使用AT+MQTTPUBRAW发布 MQTT 消息
在这里插入图片描述

例如发送温度32 湿度66

AT+MQTTPUB=0,"/sys/a1ZCbJN0kQB/4WpGE15ik3MbGt0lEiIj/thing/event/property/post","{params:{\"Temperature\":32}}",0,0
AT+MQTTPUB=0,"/sys/a1ZCbJN0kQB/4WpGE15ik3MbGt0lEiIj/thing/event/property/post","{params:{\"CurrentHumidity\":66}}",0,0

实际情况如下所示:
在这里插入图片描述

下发数据

下发数据可以按照如下操作进行。
在这里插入图片描述

实际情况如下所示。
在这里插入图片描述

断开连接

在这里插入图片描述

使用下列指令可以断开连接

AT+MQTTCLEAN=0
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐