MQTT如何連線雲IOT

2021-10-04 18:34:01 字數 3083 閱讀 8820

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訊息進行確...