一、阿里云端配置
1、注册阿里云账号:
访问阿里云官网(https://www.aliyun.com/),注册并登录账号。
2、创建物联网产品:
进入阿里云物联网平台(IoT Platform)。
开通公共实例(如果尚未开通)。
在设备管理下点击“产品”,然后点击“创建产品”。
填写产品信息,如产品名称、自定义品类等,并创建产品。
3、创建设备:
在产品下点击“添加设备”,输入设备名称并确认。
查看并记住设备的MQTT连接参数,包括ClientID、Username、Password等。
4、编辑物模型
5、建立设备与平台连接
二、ESP8266固件准备
烧录MQTT固件:ESP8266默认固件可能不支持MQTT协议,需要烧录支持MQTT的固件。
1、固件:
链接:https://pan.baidu.com/s/1ztGQ5o1Vy92fTlNPpM1Qsg
提取码:l8u2
2、烧录工具:
注意:串口号在设备管理器里查看,一定要选择相对应的串口号。
三、使用AT指令连接阿里云
工具:串口调试工具
链接:https://pan.baidu.com/s/10-l-Aa21XqGZKF0ltxtu6Q
提取码:io8f
1、重置ESP8266:
发送AT+RST命令以重置模块。
2、设置ESP8266为STA模式:
发送AT+CWMODE=1命令,将ESP8266设置为STA(Station)模式,即客户端模式。
ESP8266工作模式:STA(客户端),AP(服务端),STA+AP
AT+CWMODE=1------>STA
AT+CWMODE=2------>AP
AT+CWMODE=3------>STA+AP
3、连接Wi-Fi:
发送AT+CWJAP="WIFI名称","WIFI密码"命令,连接Wi-Fi网络。
4、配置MQTT连接参数:
发送AT+MQTTUSERCFG=0,1,"clientId","username","passwd",0,0,""命令,配置MQTT的用户名、密码和ClientID。注意,ClientID中的逗号前需要加反斜杠“\”进行转义。
5、连接MQTT服务器:
发送AT+MQTTCONN=0,"mqttHostUrl",1883,0命令,连接到阿里云的MQTT服务器。其中,“mqttHostUrl”为阿里云物联网平台提供的MQTT服务器地址。
6、订阅主题:
发送AT+MQTTSUB=0,"订阅Topic",0命令,订阅需要接收消息的主题。主题格式通常为"/sys/ProductKey/{deviceName}/thing/service/property/set"。
7、发布消息:
发送AT+MQTTPUB=0,"发布Topic","消息内容",1,0命令,向指定主题发布消息。消息内容通常为JSON格式,包含设备上报的数据。
四、测试和调试
使用串口调试助手等工具,观察ESP8266与阿里云之间的通信过程,确保数据能够正确发送和接收。在阿里云物联网平台的监控运维界面,查看设备状态和数据接收情况。
五、温馨提示
1、烧录固件一定要注意选择合适的固件,不要反反复复烧录固件,一定要清除(Erase)。
2、一定要注意MQTT连接参数刷新之后就会更新,所以相应的AT指令也要做相应修改。
3、注意发布消息时的数据格式(JOSN),以及引号逗号前都要用'\'转义字符。
4、我做的时候,第一天前面倒是没什么问题,但是到订阅和发布一直出错,不知道问题出在哪,所以,我就反反复复烧录不同的固件,但还是没成功。第二天,就又重新烧录固件,清理了之前的。换了个串口调试助手,然后就成功了,我也很莫名奇妙。