ESP8266 基于AT指令集连接阿里云物联网平台设备
生活随笔
收集整理的這篇文章主要介紹了
ESP8266 基于AT指令集连接阿里云物联网平台设备
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
總結一下之前學習的內容。想通過ESP8266連接上阿里云物聯網平臺上創建的設備。
用ESP8266連接阿里云,本質上就是開啟ESP8266的透傳模式,發送MQTT報文。所謂MQTT報文,就是符合MQTT協議的一串16進制數據,我們通過透傳模式發送相應的數據即報文,就會有相應的結果產生。
如何學習MQTT報文
這里推薦一個視頻,對MQTT協議及其報文進行了詳細的講解。
https://www.bilibili.com/video/av65909330?p=31
就是在這個視頻的介紹下,我對MQTT協議及相關報文有所了解。
接下來就是連接阿里云的具體步驟:
首先就是創建一個阿里云賬號,在物聯網平臺建立自己的設備,這里網上都有很多資料,不在贅述。
建立好設備后,獲取設備的三元組,并進行相關處理,得到阿里云服務器地址,客戶端ID,用戶名和密碼。
{"ProductKey": "xxxxxxx","DeviceName": "xxxx","DeviceSecret": "xxxxxxxxxxxxxxxxx" } 阿里云服務器地址(華東2) : *.iot-as-mqtt.cn-shanghai.aliyuncs.com:1883 *表示自己賬號的ProductKey注意替換客戶端ID : *|securemode=3,signmethod=hmacsha1| *代表設備名稱 注意替換用戶名 : *&# *代表設備名稱 #代表ProductKey 注意替換密碼 : 用DeviceSecret做為秘鑰對clientId*deviceName*productKey#進行hnacsha1加密后的結果 *代表設備名稱 #代表ProductKey 注意替換hnacsha1加密在線計算網站: http://encode.chahuo.com/這些處理好之后就是寫代碼開啟ESP8266的透傳模式,這里我是在正點原子的STM32F1 ATK-ESP8266代碼基礎上修改的。直接用AT指令集。
while(atk_8266_send_cmd("ATE0","OK",20));//關閉回顯 while(atk_8266_send_cmd("AT+CWMODE_CUR=1","OK",20)); //設為客戶端模式 while(atk_8266_send_cmd("AT+CWJAP_CUR=\"自己的WIFI名稱\",\"密碼\"","OK",20)); //連接WIFI while(atk_8266_send_cmd("AT+CIPSTART=\"TCP\",\"自己的ProductKey.iot-as-mqtt.cn-shanghai.aliyuncs.com\",1883","OK",20)); //TCP連接 while(atk_8266_send_cmd("AT+CIPMODE=1","OK",20)); //打開透傳模式 while(atk_8266_send_cmd("AT+CIPSEND",">",20)); //開始傳輸數據之后就是發送MQTT報文了,有專門構筑各種報文的函數,在我發布的文件里,詳見下載地址。
https://download.csdn.net/download/qq_44036645/12260392
一切就緒后,就可以在阿里云物聯網平臺看到自己的設備上線了。
總結
以上是生活随笔為你收集整理的ESP8266 基于AT指令集连接阿里云物联网平台设备的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于华为云平台上服务器虚拟机(银河麒麟服
- 下一篇: 保姆级安装,在FusionCompute