ESP-AT 應用: AT+MQTT 對接微軟 Azure IoT 雲

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

注意:

  1. AT+MQTTUSERCFG 中第二參數爲 2, 即基於 TLS, 無證書校驗的方式
  2. AT+MQTTCLIENTID 中第二參數爲準備階段的 ClientID
  3. AT+MQTTUSERNAME 中第二參數爲準備階段的 用戶名
  4. AT+MQTTPASSWORD 中第二參數爲準備階段的 密碼
  5. AT+MQTTCONN=0,"<endpoint>",8883,1 中, endpoint 爲準備階段的 IoT 中心名稱, 端口 8883 不可更改
  6. Azure IoT 使用受限的 MQTT topic, 注意閱讀Azure IoT 中心文檔中介紹
  7. 設備發佈到 Azure IoT 的 MQTT 消息, 需用戶自己通過開通消息路由等方式去接收

示例 LOG

正常交互 LOG 如下:

  • ESP 設備端 LOG
    在這裏插入圖片描述

  • Azure IoTLOG
    在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章