1.mqtt協議連線iot平台
使用阿里
物聯網平台的第一步是在雲端建立產品和對應裝置,獲取裝置證書(productkey、devicename和devicesecret)
。具體在阿里雲平台的建立步驟詳解上述提供的官方文件鏈結中的
建立產品與裝置。
建立產品中的功能定義具備自定義和根據主題,標準生成。
根據主題(如城市智慧型井蓋監測),標準生成如下資訊:
自定義配置(具備屬性,服務,事件三種型別):
實現屬性上報(如上報裝置狀態)、事件上報(上報裝置異常或錯誤)和服務呼叫(通過雲端呼叫裝置提供的服務):
注意:識別符號非常重要,是json裡傳遞的屬性!而且要區分大小寫
1.1連線平台的入口資訊
在阿里物聯網平台控制台建立完產品和裝置後,可獲得以下阿里雲連線的裝置三元組:
①productkey:阿里雲頒發的產品唯一標識,11位長度的英文數字隨機組合
②devicename:使用者註冊裝置生成的裝置唯一編號,支援系統自動生成,也可支援新增自定義編號,產品維度內唯一
③devicesecret:裝置金鑰,與devicename成對出現,可用於一機一密的認證方案
如建立生成的例子:
1.2第三方軟體以mqtt協議接入物聯網平台
獲取裝置三元組資訊後,再根據平台的生成規則,可形成如下
mqtt
協議接入平台的資訊:
● mqtt
使用者名稱
● mqtt 密碼
● 客戶端id
● 屬性發布主題 ●
屬性訂閱主題
mqtt使用者名稱生成規則:
如上例的"devicename": "ali_mqtt" 和 "productkey": "a13awux**ig", 可得到mqtt使用者名稱(字串): "ali_mqtt&a13awux**ig"
客戶端id生成規則:
這裡的裝置id,可選用devicename,如上例的"devicename": "ali_mqtt",這裡選擇hmacsha1演算法,可得到客戶端id(字串):"ali_mqtt|securemode=3,signmethod=hmacsha1|"
mqtt密碼生成規則:
password
iot password
生成小工具」,程式中可通過新增
hmacsha1
或hmacmd5
演算法來生成對應的密碼,常用
hmacsha1
演算法為多。
這裡以password生成小工具舉例說明,上述中的客戶端id生成採用hmacsha1演算法,這裡的method也得選用hmacsha1演算法,填上對應的資訊,可生成如下mqtt密碼(字串):"2eb0b4feebca4df344c26d7ac30dc9cf9cae09ef"
屬性發布和訂閱主題生成規則:
建立產品和裝置後,在物聯網平台控制台中,該裝置的裝置詳情頁,topic列表下
可以檢視生成的主題,也可自定義主題。
自定義topic
規則:
1.3 阿里iot平台的ip位址和埠號
nb通訊模組需要通過ip位址和埠號來跟平台建立tcp連線。
假設裝置的物聯網平台所在地域為華東2號,即region為」cn-shanghai」. 上例中"productkey": "a13awux**ig" ,則連線網域名稱為:」a13awux**ig.iot-as-mqtt.cn-shanghai.aliyuncs.com」 。也可通過ping該網域名稱解析出ip位址來連線。
埠號生成規則:
埠號固定為:1883
2. 軟體程式實現
使用巨集定義和其他方式,來實現這些要素資訊靈活配置生成:
3.裝置上報payload格式詳解
3.1上報主題pub topic 格式:/sys///thing/event/property/post
裝置上報payload格式:
,"method": "thing.event.property.post"
}iot雲端響應replytopic
1.replytopic: /sys///thing/event/property/post_reply
2.雲端響應payload格式
}3.2 雲端設定裝置屬性
裝置訂閱subtopic
/sys///thing/service/property/set
iot雲端下行的payload格式
,"method": "thing.service.property.set"
}裝置響應replytopic
/sys///thing/service/property/set_reply
裝置響應payload格式
}
基於開源MQTT自主接入阿里雲IoT平台(C )
本文由 gxic 作者 wongxmig 完成,歡迎關注 iot 開發者社群。1.1 註冊阿里雲賬號 使用 賬號或手機號,開通阿里雲賬號,並通過實名認證 可以用支付寶認證 1.2 免費開通iot物聯網套件 產品官網 1.3 軟體開發環境2.1 建立基礎版產品 產品資訊 訊息通訊topic 2.2 註...
Qt基於開源MQTT自主接入阿里雲IoT平台
三 示例 1 根據三元組資訊計算登入阿里雲iot平台的必要引數 片.三元組資訊設定 productkey xx 需要跟阿里雲iot平台一致 devicename xx 需要跟阿里雲iot平台一致 devicesecret xx 需要跟阿里雲iot平台一致 regionid cn shanghai p...
IoT 七 MQTT協議詳解
mqtt是哪一層的協議?mqtt訊息格式 固定報文頭 fixed header 可變報文頭 variable header 有效負荷 payload mqtt的主要特性 mqtt的訊息型別 message type 訊息質量 qos qos 1 至少分發一次。伺服器的訊息接收由puback訊息進行確...