燒錄MQTT固件
購(gòu)買的ESP8266一般沒帶MQTT固件,所以無(wú)法通過MQTT指令與云平臺(tái)通信,需要燒錄固件。 MQTT固件可以在安信可科技進(jìn)行下載。
[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]
下載完畢之后,選擇對(duì)應(yīng)模塊的型號(hào)。
接線方式如下所示。
選擇剛剛下載的固件,配置好對(duì)應(yīng)的串口,點(diǎn)擊下載即可。
下載成功如下所示。
若出現(xiàn)這種情況8-download data fail,則是flash大小不夠,需要更換nor flash。
創(chuàng)建阿里云產(chǎn)品
阿里云官網(wǎng):https://www.aliyun.com/
選擇物聯(lián)網(wǎng)平臺(tái),開始創(chuàng)建產(chǎn)品。
選擇公共實(shí)例,點(diǎn)擊進(jìn)入。
創(chuàng)建產(chǎn)品。
這里我的基本配置如下所示。
添加設(shè)備。
這里可以輸入自己喜歡的設(shè)備名字,也可以點(diǎn)擊確認(rèn)自動(dòng)生成。
生成設(shè)備之后,將溫濕度上報(bào)添加進(jìn)來(lái)。
添加標(biāo)準(zhǔn)功能。
添加所需功能。
添加完畢之后點(diǎn)擊上線。
AT指令接入阿里云 AT指令手冊(cè):
[https://docs.espressif.com/projects/esp-at/zh_CN/release-v2.2.0.0_esp8266/AT_Command_Set/MQTT_AT_Commands.html]
設(shè)置Wi-Fi模式
AT+CWMODE=1
連接路由器
例如WIFI名稱66,密碼:1234abcd,則輸入
AT+CWJAP="66","1234abcd"
可以通過查詢IP地址來(lái)查看是否連接上wifi。
AT+CIFSR
使能 SNTP 服務(wù)器,設(shè)置中國(guó)時(shí)區(qū) (UTC+08:00)
AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com"
查看MQTT參數(shù),這里面包含MQTT三元組信息:clientld,username,password
設(shè)置登錄密碼
對(duì)應(yīng)的MQTT參數(shù)如下所示。
AT+MQTTUSERCFG=0,1,"NULL","4WpGE15ik3MbGt0lEiIj&a1ZCbJN0kQB","0ac7bb4bf8eb2b96ea8ced5760eb72b62238935a5ec42c22849fcee7fe13137d",0,0,""
配置 MQTT 用戶屬性 設(shè)置指令:
AT+MQTTUSERCFG=< LinkID >,< scheme >,< "client_id" >,< "username" >,< "password" >,< cert_key_ID >,< CA_ID >,< "path" >
對(duì)應(yīng)的MQTT參數(shù)如下所示。
注意:需要在每個(gè)逗號(hào)前面加上
AT+MQTTCLIENTID=0,"a1ZCbJN0kQB.4WpGE15ik3MbGt0lEiIj|securemode=2,signmethod=hmacsha256,timestamp=1679562771636|"
連接 MQTT Broker
對(duì)應(yīng)的MQTT參數(shù)如下所示。
設(shè)置指令:
AT+MQTTCONN=0,"a1ZCbJN0kQB.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883,1
此時(shí)可以查看設(shè)備,可以看到已經(jīng)是在線狀態(tài)。
訂閱
訂閱Topic是指在一個(gè)訂閱服務(wù)中,用戶可以選擇關(guān)注或訂閱感興趣的話題或主題。
通過訂閱Topic,用戶可以更加精準(zhǔn)地獲取自己的內(nèi)容,提高信息的質(zhì)量和效率。
發(fā)送AT指令,訂閱Topic
AT+MQTTSUB=0,"/a1ZCbJN0kQB/4WpGE15ik3MbGt0lEiIj/user/get",1
訂閱成功會(huì)在阿里云進(jìn)行顯示。
上報(bào)數(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
實(shí)際情況如下所示:
下發(fā)數(shù)據(jù)
下發(fā)數(shù)據(jù)可以按照如下操作進(jìn)行。
實(shí)際情況如下所示。
斷開連接
使用下列指令可以斷開連接
AT+MQTTCLEAN=0
審核編輯:湯梓紅
-
單片機(jī)
+關(guān)注
關(guān)注
6037文章
44558瀏覽量
635217 -
STM32
+關(guān)注
關(guān)注
2270文章
10900瀏覽量
355981 -
下載器
+關(guān)注
關(guān)注
1文章
62瀏覽量
12838 -
阿里云
+關(guān)注
關(guān)注
3文章
956瀏覽量
43036 -
ESP8266
+關(guān)注
關(guān)注
50文章
962瀏覽量
45000 -
stm32cubemx
+關(guān)注
關(guān)注
5文章
283瀏覽量
14807
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論