燒錄MQTT固件
購買的ESP8266一般沒帶MQTT固件,所以無法通過MQTT指令與云平臺通信,需要燒錄固件。 MQTT固件可以在安信可科技進行下載。
[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]

下載完畢之后,選擇對應模塊的型號。

接線方式如下所示。

選擇剛剛下載的固件,配置好對應的串口,點擊下載即可。

下載成功如下所示。

若出現(xiàn)這種情況8-download data fail,則是flash大小不夠,需要更換nor flash。

創(chuàng)建阿里云產(chǎn)品
阿里云官網(wǎng):https://www.aliyun.com/
選擇物聯(lián)網(wǎng)平臺,開始創(chuàng)建產(chǎn)品。

選擇公共實例,點擊進入。

創(chuàng)建產(chǎn)品。

這里我的基本配置如下所示。

添加設備。

這里可以輸入自己喜歡的設備名字,也可以點擊確認自動生成。

生成設備之后,將溫濕度上報添加進來。

添加標準功能。

添加所需功能。

添加完畢之后點擊上線。

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 服務器,設置中國時區(qū) (UTC+08:00)

AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com"
查看MQTT參數(shù),這里面包含MQTT三元組信息:clientld,username,password

設置登錄密碼

對應的MQTT參數(shù)如下所示。

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參數(shù)如下所示。

注意:需要在每個逗號前面加上
AT+MQTTCLIENTID=0,"a1ZCbJN0kQB.4WpGE15ik3MbGt0lEiIj|securemode=2,signmethod=hmacsha256,timestamp=1679562771636|"
連接 MQTT Broker

對應的MQTT參數(shù)如下所示。

設置指令:
AT+MQTTCONN=0,"a1ZCbJN0kQB.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883,1
此時可以查看設備,可以看到已經(jīng)是在線狀態(tài)。

訂閱
訂閱Topic是指在一個訂閱服務中,用戶可以選擇關(guān)注或訂閱感興趣的話題或主題。

通過訂閱Topic,用戶可以更加精準地獲取自己的內(nèi)容,提高信息的質(zhì)量和效率。

發(fā)送AT指令,訂閱Topic

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

訂閱成功會在阿里云進行顯示。

上報數(shù)據(jù)
這里定義了溫濕度的功能。

可以使用AT+MQTTPUBRAW發(fā)布 MQTT 消息

例如發(fā)送溫度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
實際情況如下所示:

下發(fā)數(shù)據(jù)
下發(fā)數(shù)據(jù)可以按照如下操作進行。

實際情況如下所示。

斷開連接

使用下列指令可以斷開連接
AT+MQTTCLEAN=0
審核編輯:湯梓紅
-
單片機
+關(guān)注
關(guān)注
6074文章
45322瀏覽量
662976 -
STM32
+關(guān)注
關(guān)注
2305文章
11118瀏覽量
370956 -
下載器
+關(guān)注
關(guān)注
1文章
63瀏覽量
13302 -
阿里云
+關(guān)注
關(guān)注
3文章
1028瀏覽量
45475 -
ESP8266
+關(guān)注
關(guān)注
51文章
966瀏覽量
48972 -
stm32cubemx
+關(guān)注
關(guān)注
5文章
287瀏覽量
17122
發(fā)布評論請先 登錄
esp8266連接阿里云平臺時mqtt連接超時
esp8266怎樣通過MQTT協(xié)議連接阿里云
stm32通過esp8266 AT命令連接阿里云物聯(lián)網(wǎng)
STM32單片機如何通過ESP8266與阿里云平臺進行通信
stm32通過esp8266 AT命令連接阿里云物聯(lián)網(wǎng)
使用STM32L496+AT組件+ESP8266連接阿里云出錯是什么原因造成的
想通過ESP8266連接阿里云,固件哪里有?
Esp8266(NodeMCU)連接阿里云服務器
基于STM32單片機ESP8266物聯(lián)網(wǎng)阿里云的遠程控制LED系統(tǒng)

STM32驅(qū)動ESP8266連接阿里云(1)----使用AT指令連接阿里云
評論