AT+MQTT 對接微軟 Azure IoT 雲
本文介紹如何通過 AT
指令對接微軟雲(Azure IoT
).
AT+MQTT
指令說明參考 AT+MQTT 介紹
準備
讀者需根據 Azure IoT 中心文檔, 獲取 MQTT 連接參數:
ClientID
用戶名
密碼
IoT 中心名稱
建議:
多閱讀幾遍 Azure IoT
文檔, 加深印象, 尤其是下面文檔:
MQTT
基於密碼方式的 TLS 對接 Azure IoT
當前 AT+MQTT
連接微軟雲是基於 TLS, 無證書認證方式;
MQTT 連接需要使用上述準備階段中的: ClientID
, 用戶名
, 密碼
, IoT 中心名稱
.
編譯燒寫 AT 固件
按照 AT
README.md 重新編譯燒寫 AT
固件
AT+MQTT 對接 Azure IoT 指令參考
AT+CWMODE=1
AT+CWJAP="ssid","password"
AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com"
AT+CIPSNTPTIME?
AT+MQTTUSERCFG=0,2,"NULL","NULL","NULL",0,0,""
AT+MQTTCLIENTID=0,"esp-at-chenwu"
AT+MQTTUSERNAME=0,"esp.azure-devices.cn/esp-at-chenwu/?api-version=2018-06-30"
AT+MQTTPASSWORD=0,"SharedAccessSignature sr=esp.azure-devices.cn%2Fdevices%2Fesp-at-chenwu&sig=NDbisVUPd7fXZtOQvfbiq2v8ZDPsZGBvgnp95vWfIGY%3D&se=1577475654"
AT+MQTTCONN=0,"esp.azure-devices.cn",8883,1
AT+MQTTSUB=0,"devices/esp-at-chenwu/messages/devicebound/#",1
AT+MQTTPUB=0,"devices/esp-at-chenwu/messages/events/","hello",1,0
注意:
AT+MQTTUSERCFG
中第二參數爲2
, 即基於 TLS, 無證書校驗的方式AT+MQTTCLIENTID
中第二參數爲準備階段的ClientID
AT+MQTTUSERNAME
中第二參數爲準備階段的用戶名
AT+MQTTPASSWORD
中第二參數爲準備階段的密碼
AT+MQTTCONN=0,"<endpoint>",8883,1
中,endpoint
爲準備階段的IoT 中心名稱
, 端口8883
不可更改Azure IoT
使用受限的MQTT topic
, 注意閱讀Azure IoT 中心文檔中介紹- 設備發佈到
Azure IoT
的 MQTT 消息, 需用戶自己通過開通消息路由等方式去接收
示例 LOG
正常交互 LOG
如下:
-
ESP
設備端LOG
-
Azure IoT
端LOG