本文主要是介绍物联网小白上云(阿里云):正点原子STM32f130zet6 + ESP8266-01S + MQTT服务器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
启蒙视频:stm32+esp8266(MQTT固件)阿里云物联网开发哔哩哔哩bilibili 视频说明:内容主要是部分实现,细节实现以及可能遇到问题解决如下
一、烧录固件
0. 为什么要烧录固件:一般出厂的esp8266还不支持MQTT,需要重新烧录带有MQTT的指令包 1. 查看esp8266-01s的Flash大小(我的Flash:1M)* 2. 固件下载地址:AT固件汇总 | 安信可科技(这里面根据自己Flash大小选择AT固件) 3. 使用多绑线连接esp8266和STM32引脚对应图:
二、连接阿里云AT指令(按顺序即可)
-
-
AT+RST //重启
-
-
-
ATE0 //关闭回显
-
-
-
AT+CIPMODE=1 //sta模式
-
-
-
AT+CWJAP="WIFI名称","WIFI密码" //连接热点
-
-
-
AT+MQTTUSERCFG=0,1,"clientId","username","passwd",0,0,"" //用户信息配置
-
-
-
AT+MQTTCONN=0,"阿里云服务器IP地址",1883,1 //连接服务器
-
重点说明
第五小点细节说明(可参考阿里云MQTT接入文档):
-
Client ID、username、passwd这三个不是MQTT连接参数
-
Client ID(图解):
-
细说这个Client ID:
-
一般值为 ${ClientId任意值(建议五位)}|securemode=3,signmethod=hmacsha1|
-
第一点的值(有个坑):在发送AT指令时,要在| | 之间的每个逗号前面要加 \发送
-
由上图可知Client ID和ClientId是不同的
-
-
username(图解):
-
总结:就是{DeviceName}&{ProductKey}
-
passwd(图解):
-
总结:需要工具生成密码(工具下载地址:https://linkkit-export.oss-cn-shanghai.aliyuncs.com/signTool/MQTT_Password.7z?spm=a2c4g.11186623.0.0.bb7b2ec0qxlE6g&file=MQTT_Password.7z)
-
工具使用细节:
说明ProductKey、DeviceName、DeviceSecret:
-
获取位置
三、我遇到问题
-
使用use-ttl以及多邦线连接,通过串口工具发送AT指令
失败原因:上图中 \ 没有加导致返回error
解决:在||之间的逗号前加 \
-
串口工具的使用
失败原因:不清楚
解决:前面我一直使用的XCOM串口工具,发送AT指令,在连接服务器时始终失败,后面我更换了串口工具SSCOM结果就成功了。
-
密码生成工具的使用
失败原因:我在ClientId一栏填写了Client ID(就是完整的值:${ClientId:任意值(建议五位)}|securemode=3,signmethod=hmacsha1|)
解决:只需要填写任意值(建议5个)生成密码才是正确密码
这篇关于物联网小白上云(阿里云):正点原子STM32f130zet6 + ESP8266-01S + MQTT服务器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!