天天看點

ESP-01S+AT指令基于MQTT協定連接配接阿裡雲步驟一、封包制作二、IP擷取 三、連接配接阿裡雲

目錄

一、封包制作

1、連接配接封包

建構步驟:

建構後的資訊(需轉為十六進制):

封包資訊(十六進制):

組合後的封包:

2、訂閱封包

封包内容:

建構後的訂閱封包(十六進制):

3、PIN封包

4、斷開連接配接

二、IP擷取

使用MQTT連接配接的域名組成:

替換後的域名:

域名轉IP:

三、連接配接阿裡雲

 1、 硬體連接配接:(與序列槽)

2、發送AT指令步驟:

前提是已經在阿裡雲建立好項目産品,完成添加裝置及相關設定。

一、封包制作

封包組成:固定封包+可變封包+負載封包。

固定封包:控制類型+剩餘長度(所有封包都有)

1、連接配接封包

封包内容:

        可變封包:協定名+協定級别+連接配接标志+保持連接配接時間;

        負載封包:用戶端ID+使用者名+密碼(資訊前分别用兩位元組表示長度)。

        固定封包和可變封包在MQTT手冊中檢視,基本可以固定不變。是以重點在負載封包。在阿裡雲官網中有對用戶端ID+使用者名+密碼的說明(去掉timestamp項後):

用戶端ID:clientId+"|securemode=3,signmethod=hmacsha1|";

使用者名:deviceName+"&"+productKey;

密碼:clientId12345deviceNamedeviceproductKeypk(示例,其中12345為clientId,device為deviceName,pk為productKey,此密碼需要加密後才能使用)

在阿裡雲建立好的裝置資訊界面:

ESP-01S+AT指令基于MQTT協定連接配接阿裡雲步驟一、封包制作二、IP擷取 三、連接配接阿裡雲

建構步驟:

1)clientId和deviceName替換為自己裝置的DeviceName;

2)productKey替換為自己裝置的ProductKey;

3)密碼加密:

百度搜尋線上加密連結,使用hmacsha1進行加密,密鑰是裝置資訊中的DeviceSecret(點選複制)。

建構後的資訊(需轉為十六進制):

用戶端ID:  NBIOT02|securemode=3,signmethod=hmacsha1|;

使用者名:    NBIOT02&a1zqBbogNSH;

密碼:       clientIdNBIOT02deviceNameNBIOT02productKeya1zqBbogNSH;

加密後密碼:c4fecfa9c70c7cf10797d852723094dfe7c97484(使用該密碼);

封包資訊(十六進制):

固定封包:10 ??(剩餘長度暫定,位元組機關)

可變封包:00 04 4D 51 54 54 04 C2 00 64 (保持連接配接時間64,為100秒)

負載:00 29 4E 42 49 4F 54 30 32 7C 73 65 63 75 72 65 6D 6F 64 65 3D 33 2C 73 69 67 6E 6D 65 74 68 6F 64 3D 68 6D 61 63 73 68 61 31 7C 00 134E 42 49 4F 54 30 32 26 61 31 7A 71 42 62 6F 67 4E 53 48 00 28 63 34 66 65 63 66 61 39 63 37 30 63 37 63 66 31 30 37 39 37 64 38 35 32 37 32 33 30 39 34 64 66 65 37 63 39 37 34 38 34

組合後的封包:

10 74 00 04 4D 51 54 54 04 C2 00 64 00 29 4E 42 49 4F 54 30 32 7C 73 65 63 75 72 65 6D 6F 64 65 3D 33 2C 73 69 67 6E 6D 65 74 68 6F 64 3D 68 6D 61 63 73 68 61 31 7C 00 13 4E 42 49 4F 54 30 32 26 61 31 7A 71 42 62 6F 67 4E 53 48 00 28 63 34 66 65 63 66 61 39 63 37 30 63 37 63 66 31 30 37 39 37 64 38 35 32 37 32 33 30 39 34 64 66 65 37 63 39 37 34 38 34

2、訂閱封包

封包内容:

        固定封包:82 ??(剩餘長度暫定,位元組機關);

        可變封包:封包辨別符00 0A(固定);

        負載封包:長度(兩位元組表示)+訂閱主題+服務品質;

ESP-01S+AT指令基于MQTT協定連接配接阿裡雲步驟一、封包制作二、IP擷取 三、連接配接阿裡雲

訂閱選擇的主題:/sys/a1zqBbogNSH/NBIOT02/thing/service/property/set;

服務品質 01;

建構後的訂閱封包(十六進制):

82 38 00 0A 00 33 2F 73 79 73 2F 61 31 7A 71 42 62 6F 67 4E 53 48 2F 4E 42 49 4F 54 30 32 2F 74 68 69 6E 67 2F 73 65 72 76 69 63 65 2F 70 72 6F 70 65 72 74 79 2F 73 65 74 01

3、PIN封包

每隔一段時間發送一個PIN封包,用于保持裝置與伺服器的連接配接。

封包内容:C0 00 (僅有固定封包)

伺服器回複:D0 00 表示發送成功。

4、斷開連接配接

封包:E0 00 (僅有固定封包)

二、IP擷取

使用MQTT連接配接的域名組成:

${YourProductKey}.iot-as-mqtt.${YourRegionId}.aliyuncs.com:1883

說明:

        ${YourProductKey}:請替換為裝置所屬産品的ProductKey;

        ${YourRegionId}:請替換為您的物聯網平台裝置所在地域代碼;

        1883:端口号;

地域代碼清單:

ESP-01S+AT指令基于MQTT協定連接配接阿裡雲步驟一、封包制作二、IP擷取 三、連接配接阿裡雲

替換後的域名:

a1zqBbogNSH.iot-as-mqtt.cn-shanghai.aliyuncs.com

域名轉IP:

Windows下:win+r->輸入cmd->打開DOS視窗->輸入指令nslookup +域名->回車。

ESP-01S+AT指令基于MQTT協定連接配接阿裡雲步驟一、封包制作二、IP擷取 三、連接配接阿裡雲

IP:47.103.191.238

三、連接配接阿裡雲

 1、 硬體連接配接:(與序列槽)

       VCC--- 3.3V

       GND---GND

       TX ---  RX

       RX ---- TX

       EN---- 3.3V

2、發送AT指令步驟:

注意指令不要含有空格符!!!

1)AT+CWMODE=1    //配置為station模式

2)AT+CWJAP_DEF="wifi名","密碼"  //連接配接wifi

3)AT+CIPMUX=0      //開啟單連結

4)AT+CIPSTART="TCP","47.103.191.238",1883  //連接配接TCP伺服器,需要快速發送後續指令

5)AT+CIPMODE=1    //開啟透傳

6)AT+CIPSEND  //開始發送資訊

發送AT+CIPSEND指令等待回複“>”後即可發送連接配接封包和訂閱封包(十六進制發送)。

發送連接配接封包:

ESP-01S+AT指令基于MQTT協定連接配接阿裡雲步驟一、封包制作二、IP擷取 三、連接配接阿裡雲

回複(需要勾選16進制顯示):

ESP-01S+AT指令基于MQTT協定連接配接阿裡雲步驟一、封包制作二、IP擷取 三、連接配接阿裡雲

阿裡雲裝置顯示線上:

ESP-01S+AT指令基于MQTT協定連接配接阿裡雲步驟一、封包制作二、IP擷取 三、連接配接阿裡雲

發送訂閱封包:

ESP-01S+AT指令基于MQTT協定連接配接阿裡雲步驟一、封包制作二、IP擷取 三、連接配接阿裡雲

APP端控制,服務端釋出消息成功:

ESP-01S+AT指令基于MQTT協定連接配接阿裡雲步驟一、封包制作二、IP擷取 三、連接配接阿裡雲

繼續閱讀