奢做品二手 哪个网站好,深圳软件公司开发,做网站最小的字体是多少钱,外包公司能去吗esp8266WiFi模块通过MQTT连接华为云总结#xff1a;一、 MQTT透传AT固件烧录二、 串口调试2.1 设置模块为STA模式2.2 连接WiFi2.3 设置MQTT的登陆用户名与密码2.4 设置MQTT的ClientID2.5 设置MQTT接入地址2.6 订阅设备属性上报的主题2.7 上传数据2.8 平台下发命令2.9 华为云物…
esp8266WiFi模块通过MQTT连接华为云总结一、 MQTT透传AT固件烧录二、 串口调试2.1 设置模块为STA模式2.2 连接WiFi2.3 设置MQTT的登陆用户名与密码2.4 设置MQTT的ClientID2.5 设置MQTT接入地址2.6 订阅设备属性上报的主题2.7 上传数据2.8 平台下发命令2.9 华为云物联网平台的-监控运维-在线调试完成命令下发三、示例代码最近突然想做物联网的项目做一个类似远程控制家里的设备比如控制灯电视机空调这样的同时能够将家里的温湿度等信息可以实时上传到手机里。 刚开始认为这个不就是一个很简单的项目嘛几个小时之内就能做出来可是没想到诸事不顺遇到各种各样的bug最后竟然花了我周六和周末两个下午才做出来做出来不要问为什么是周六和周末的下午因为早上起不来最后终于调通了因此写这篇文章来记录一下。
我手里正好有一块正点原子的esp8266并且以前正好参加过华为云的训练营ModelBoxAI了解一点华为云的知识然后就用这两个东西来度过愉快的周末。
参考链接: ESP8266接入华为云物联网平台
总结
坑一esp8266出厂固件不支持MQTT功能必须自己在链接 AT固件汇总 上下载。 坑二下载固件的时候一定要注意你用的ESP8266系列模组的型号这里我刚开始没注意花了我很久时间。 坑三正点原子esp8266型号是esp-01固件必须用1112_esp8266-4M。 坑四烧录的时候注意要把GPIO0接地才能进入烧录模式。 坑五找到华为云平台接入地址且保证平台在线我这里是用的免费版。 一、 MQTT透传AT固件烧录
我最终使用的是stm32AT指令控制esp01接入华为云联网平台完成数据上报与命令处理在开发的时候先用usb-ttl模块连接esp8266调试 出厂固件不支持全部的MQTT功能这里我们首先对esp8266进行MQTT固件烧录。
在这里有个问题根据下面官网图我用的esp-01Flash是8M 应该下载 MQTT 透传AT固件固件号1471 可是我下载进去后总是卡在 连接的第三步
ATMQTTUSERCFG0,1,NULL,填写用户名,填写密码,0,0,AT命令输入后总是返回error这里卡了我好久。
在尝试各种方法之后排除了所有可能性之后我开始怀疑是不是我烧录的固件错了 尼玛不可能啊官方怎么会错 然后我下载了官方给的两个固件如下图最后成功了。 这里我也不知道为什么会这样如果有懂的小伙伴可以在评论区解答一下。 二、 串口调试
2.1 设置模块为STA模式
ATCWMODE12.2 连接WiFi
ATCWJAP填写wifi名称,填写WiFi密码2.3 设置MQTT的登陆用户名与密码
ATMQTTUSERCFG0,1,NULL,填写用户名,填写密码,0,0,用户名与密码为华为云MQTT三元组的相关信息可以在链接: MQTT ClientId生成工具生成
2.4 设置MQTT的ClientID
ATMQTTCLIENTID0,填写ClientID设置MQTT的ClientIDClientID华为云MQTT三元组的相关信息在上一步骤中获取的三元组中查看
2.5 设置MQTT接入地址
ATMQTTCONN0,填写MQTT接入的地址,1883,1设置MQTT接入地址华为云物联网平台的地址具体参考控制台首页的平台接入地址
2.6 订阅设备属性上报的主题 ATMQTTSUB0,订阅的主题,1完成属性上报的话需要先订阅设备属性上报的主题此处可填写为:
$oc/devices/填写设备ID/sys/properties/report2.7 上传数据
ATMQTTPUB0, 订阅的主题 ,上报的json数据,0,0上报的json数据
$oc/devices/64047c741eaf704179abaa58_Temp_test/sys/properties/report ,{\services\:[{\service_id\:\esp8266_data\\,\properties\:{\temp\: 100}}]}建议大家完成这步时先使用MQTT.fx进行设备属性上报测试确保数据无误正常上传。 在完成上面的每一步时系统都会打印一个OK
2.8 平台下发命令
ATMQTTSUB0,订阅的主题topic ,1我们在这填写的是平台下发命令的主题$oc/devices/填写设备ID/sys/commands/#
2.9 华为云物联网平台的-监控运维-在线调试完成命令下发
三、示例代码
ATMQTTUSERCFG0,1,NULL,6404eaf704179abaa58_Temp_test,3859a228b3bcdd143d94eff8198d58bb801b820e528b96ea6ca6ece86,0,0,OK
ATMQTTCLIENTID0,64047c7704179abaa58_Temp_test_0_0_2023030511OK
ATMQTTCONN0,04dcad.st1.iotda-device.cn-north-4.myhuaweicloud.com,1883,1
MQTTCONNECTED:0,1,04d3ad.st1.iotda-device.cn-north-4.myhuaweicloud.com,1883,,1OK
ATMQTTSUB0,$oc/devices/64047cf704179abaa58_Temp_test/sys/properties/report,1OK
ATMQTTPUB0, $oc/devices/6404eaf704179abaa58_Temp_test/sys/properties/report ,{\services\:[{\service_id\:\esp8266_data\\,\properties\:{\temp\: 100}}]},0,0OK