環境:
NodeMCU V3 ESP8266-12F 固件: Ai-Thinker_ESP8266_DOUT_8Mbit_v1.5.4.1-a_20171130
查詢版本指令
AT+GMR
查詢版本,AT+GMR
AT version:1.2.0.0(Jul 1 2016 20:04:45) SDK version:1.5.4.1(39cb9a32) Ai-Thinker Technology Co. Ltd. v1.5.4.1-a Nov 30 2017 15:54:29 OK
復位
AT+RST
設置當前 Wi-Fi 模式並保存到 Flash,設置為station模式
AT+CWMODE_DEF=? <mode>: ‣ 1:Station 模式 客戶端模式 ‣ 2:SoftAP 模式 軟路由模式 ‣ 3:SoftAP+Station 模式
列出當前可用AP
AT+CWLAP
連接WIFI
AT+CWJAP_DEF="WIFI名字","WIFI密碼"
查詢IP地址
AT+CIFSR +CIFSR:STAIP,"192.168.137.91" +CIFSR:STAMAC,"68:c6:3a:f4:cf:dd" OK
使用TCP協議連接阿里雲服務器,其中a1nzNt73zF1替換成自己的ProductKey
AT+CIPSTART="TCP","a1nzNt73zF1.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883
使用ESP8266向阿里雲發送MQTT報文
AT+CIPSEND=數據長度 ESP8266回復 > 然后輸入相應信息即可
MQTT報文內容
CONNECT報文,根據MQTT協議資料,發送CONNECT報文
CONNECT報文 可變 10 ?? 00 04 4d 51 54 54 04 c2 00 64 負載(包含客戶端ID,用戶名、密碼) 客戶端ID(設備名稱|securemode=3,signmethod=hmacsha1|) 00 39 69 6F 74 5F 6C 69 67 68 74 5F 6D 71 74 74 *****3 69 67 6E 6D 65 74 68 6F 64 3D 68 6D 61 63 73 68 61 31 7C 用戶名(設備名稱&ProductKey) 00 23 69 6F 74 5F 6C 69 67 68 ******************************* 31 6E 7A 4E 74 37 33 7A 31 密碼(clientId*deviceName*productKey# *替換為設備名稱 #替換為ProductKey 並用用DeviceSecret做密鑰,使用hmacsha1算法加密 ) 00 28 63 65 35 32 37 36 39 35*************************36 65 31 66 61 31 33 39 38 39 66 63 31 33 61 34 39 31 61 XX CONNECT報文 10 94 01 00 04 4d 51 54 54 04 c2 00 64 00 39 69 6F 74 5F 6C 69 67 68 74 5F 6D 71 74 74 66 78 5F 61 6C 69 79 75 6E 7C 73 65 63 75***********33 61 34 39 31 61 33 148個長度是94 01 即1*128+0x14(根據MQTT協議中,計算報文的長度,超過127字節要特殊處理) 服務器響應: [2020-04-13 16:28:30.017]# RECV HEX> 20 02 00 00
DISCONNECT 報文
E0 00
PING報文
C0 00 服務器回復: D0 00
訂閱報文
訂閱 /a1nzNt73zF1/iot_light_mqttfx_aliyun/user/get 報文中第四個字節的格式符,實際是個ID,阿里雲會返回這個ID 82 32 00 0A 00 2D 2F 61 31 6E 7A 4E 74 37 33 7A 46 31 2F 69 6F 74 5F 6C 69 67 68 74 5F 6D 71 74 74 66 78 5F 61 6C 69 79 75 6E 2F 75 73 65 72 2F 67 65 74 00
服務器回復
90 03 00 0A 01
取消訂閱
取消訂閱 取消 /a1nzNt73zF1/iot_light_mqttfx_aliyun/user/g/a1nzNt73zF1/iot_light_mqttfx_aliyun/user/get A2 31 00 0A 00 2D 2F 61 31 6E 7A 4E 74 37 33 7A 46 31 2F 69 6F 74 5F 6C 69 67 68 74 5F 6D 71 74 74 66 78 5F 61 6C 69 79 75 6E 2F 75 73 65 72 2F 67 65 74 取消訂閱回復 B0 02 00 0A
發布消息 向topic發布消息 /a1nzNt73zF1/iot_light_mqttfx_aliyun/user/SW_LED
30 41 00 30 2F 61 31 6E 7A 4E 74 37 33 7A 46 31 2F 69 6F 74 5F 6C 69 67 68 74 5F 6D 71 74 74 66 78 5F 61 6C 69 79 75 6E 2F 75 73 65 72 2F 53 57 5F 4C 45 44 7B 22 53 57 5F 4C 45 44 22 3A 22 4F 4E 22 7D
發布等級1消息
32 43 00 30 2F 61 31 6E 7A 4E 74 37 33 7A 46 31 2F 69 6F 74 5F 6C 69 67 68 74 5F 6D 71 74 74 66 78 5F 61 6C 69 79 75 6E 2F 75 73 65 72 2F 53 57 5F 4C 45 44 00 0f 7B 22 53 57 5F 4C 45 44 22 3A 22 4F 4E 22 7D