HC-25 MQTT 接入阿里雲
一、到阿里雲https://www.aliyun.com/註冊賬號。
二、註冊成功後,請登錄上阿里雲賬號,並進入https://iot.console.aliyun.com/lk/summary物聯網平臺。
三、打開“產品文檔”裏面的“物聯網設備接入和管理”頁面:
https://help.aliyun.com/product/30520.html進行學習如何創建產品與設備。
四、創建產品與設備:
依次填寫好以上信息,聯網方式選WiFi,設置完後會生成一個產品密鑰,例如:
給產品設置一個設備名,例如:HC-25,並設置好參數。設置成功後,請保管好請設備證書,包含ProductKey、DeviceName和DeviceSecret。
五、用AT指令設置模塊參數,連接到阿里雲。(請參考使用MQTT.fx接入物聯網平臺:
https://help.aliyun.com/document_detail/86706.html?spm=a2c4g.11186623.6.820.4fc62359hUkURl#title-3yi-w85-xqo)
(1)設置MQTT連接域名:
AT+SOCK=MQTT,a1JqTigOYks.iot-as-mqtt.cn-shanghai.aliyuncs.com,1883
其中“a1JqTigOYks”爲產品密鑰Productkey,請修改爲對應的Productkey。
${YourProductKey}.iot-as-mqtt.${YourRegionId}.aliyuncs.com:1883
${YourProductKey}請替換爲您的產品key。
${YourRegionId}請參考地域和可用區替換爲您的Region ID。
- 設置可變報頭(variable header):Keep Alive
AT+MQTTK=60
Connect指令中需包含Keep Alive(保活時間)。保活心跳時間取值範圍爲30至1200秒。如果心跳時間不在此區間內,物聯網平臺會拒絕連接。如果網絡不穩定,將心跳時間設置高一些。
(3)設置MQTT的Connect報文參數
①AT+MQTTCID=12345|securemode=3,signmethod=hmacsha1,timestamp=789|
mqttClientId: clientId+"|securemode=3,signmethod=hmacsha1,
timestamp=789|"
②AT+MQTTUSERNAME=HC-25&a1JqTigOYks
mqttUsername: deviceName+"&"+productKey
③AT+MQTTPASSWORD=1c810f26b7dd7573657d5c37b21a0690f815029e
mqttPassword:sign簽名需把提交給服務器的參數按字典排序後,根據signmethod加簽。
content的值爲提交給服務器的參數(ProductKey、DeviceName、
timestamp和clientId),按照字母順序排序, 然後將參數值依次拼接。
clientId:表示客戶端ID,建議使用設備的MAC地址或SN碼,64字符內。
timestamp:表示當前時間毫秒值,可以不傳遞。
mqttClientId:格式中||內爲擴展參數。
signmethod:表示簽名算法類型。支持hmacmd5,hmacsha1和hmacsha256,默認爲hmacmd5。
securemode:表示目前安全模式,可選值有2 (TLS直連模式)和3(TCP直連模式)。
示例:
假設clientId = 12345,deviceName = HC-25, productKey = a1JqTigOYks, timestamp = 789,
signmethod=hmacsha1,
deviceSecret=wumV9KMNYXG2LpFxWBggkGCDqNp0JFul,
加密後的Password爲二進制轉16制字符串,示例結果爲:
1c810f26b7dd7573657d5c37b21a0690f815029e
(4)設置MQTT訂閱消息主題
AT+MQTTSUBTOPIC=/sys/a1yH6UqG4wl/hc25/thing/service/property/set
(5)設置MQTT推送消息主題
AT+MQTTPUBTOPIC=/sys/a1yH6UqG4wl/hc25/thing/event/property/post
把設備Topic列表中的對應消息主題設置到HC-25模塊裏面。
- 設置MQTT訂閱消息的質量等級
AT+MQTTSUBQOS=1
- 設置MQTT推送消息的質量等級
AT+MQTTPUBQOS=1
五、設備(HC-25模塊)連接到阿里雲,進行數據傳輸。
登錄阿里雲賬號後,打開控制檯,點擊物聯網平臺,從設備管理欄選取設備,可以在線調試設備了。
請登錄https://help.aliyun.com/product/30520.html詳細瞭解阿里雲物聯網平臺!
- https://help.aliyun.com/document_detail/73742.html?spm=a2c4g.11186623.4.4.7d1e9ff56wjSAT MQTT-TCP連接通信
注意:此文章來源於hc-25官方羣,經羣主同意後發出。本人還沒有時間親自測試,等測試成功了再發一個Arduino的實例文章。