目录
问题一:关于mqtt的AT命令
固件问题而产生的其他问题:
关于mqtt报文连接阿里云的问题
问题一:关于mqtt的AT命令
用串口调试助手发送:
AT+MQTTCONN=0,"iot-06z00fmgtrunfzt.mqtt.iothub.aliyuncs.com",1883,0
一直回复error,连不上的问题
当我的esp8266烧录的是1112号的固件,这个固件我不知道是不是有问题,有时候能连上阿里云有时候一直回复error
解决,换一个固件,用的是下面安信可官网的5号固件,选择8M的
但是注意,这个固件是不支持mqtt的AT命令的,所以用AT命令中的连接TCP的命令,之后用mqtt协议的报文链接!!!!
AT+CIPSTART="TCP","#.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883
#换成阿里云三元组中的productkey
mqtt的报文协议网上有很多资源,可以学一下,代码网上也有很多,主要是mqtt.h和mqtt.c这两个代码,比如阿里云物联网论坛的这个:
STM32+ESP8266+MQTT协议连接阿里云物联网平台-阿里云开发者社区 (aliyun.com)https://developer.aliyun.com/article/843140STM32 ES8266上阿里云IOT MQTT实践【第一章】:物联网简介(什么是物联网)-CSDN博客这个csdn的文章也是真的强:
STM32 ES8266上阿里云IOT MQTT实践【第一章】:物联网简介(什么是物联网)-CSDN博客https://blog.csdn.net/u014779536/article/details/106326129
小吐槽:这个固件问题我是最后才发现的,真是饶了一大圈!,心累
固件问题而产生的其他问题:
用at+mqtt命令链接阿里云是很简单,当时我看的是B站一问up主的分享,之后用stm32通过串口就能控制esp8266连上阿里云,就下面这个代码,很简单就行了。但是看的很容易。这个up主用的就是1112号固件。
然后我就调试,先用串口调试助手控制esp8266连接wifi,成功了,当之后的这个连接阿里云的AT+MQTTCONN,有时候能连上,有时候连不上。我是在连上阿里云后,做的是stm32串口控制连接阿里云,前面5个命令都可以成功控制,就是在第六个命令就死循环了,怎么也连不上。
看网上的教程,有个说是阿里云的mqtt连接参数会一直变,需要换,这个方法也是,大概率连不上的,有问题。
所以最后还是硬着头皮学了一下mqtt的报文,就该用TCP+报文连接了,
这里再提醒一下,要注意esp8266的固件。如果还是用的1112号的固件,这个AT+CIPSTART命令也有时候有问题。当时网上有的说是端口的问题,看电脑1883端口是不是打开的,按他的步骤最后也是无果而终。
关于mqtt报文连接阿里云的问题
如果已经学了mqtt的报文,主要是下面这个报文类型
要连接阿里云的话,有个不一样的,设备接受阿里云发来的post指令,是0x32!!!不是0x30
好了,这就差不多了(虽然写得好像有点乱……)之后有什么其他问题我再补充。欢迎大家评论区留言一起学习!!文章来源:https://www.toymoban.com/news/detail-824748.html
注:本人也是物联网萌新,能力有限,有些问题可能也回答不了文章来源地址https://www.toymoban.com/news/detail-824748.html
到了这里,关于关于stm32控制esp8266链接阿里云时遇到的一些问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!