1. 程式人生 > 其它 >MQTT閘道器連線華為雲物聯網平臺應用

MQTT閘道器連線華為雲物聯網平臺應用

1.概述

ZLAN5143D是一款專門為工業環境設計的RS485裝置資料採集器/物聯網閘道器,兼具串列埠伺服器、Modbus閘道器、MQTT閘道器、RS485轉JSON等多種功能於一體。如圖 1所示,可以連線華為雲的還有MQTT閘道器5144J、8308、8305、8305L、7144等型號

圖一 MQTT閘道器5143D圖

華為雲物聯網平臺

裝置接入服務(IoTDA)是華為雲的物聯網平臺,提供海量裝置連線上雲、裝置和雲端雙向訊息通訊、批量裝置管理、遠端控制和監控、OTA升級、裝置聯動規則等能力,並可將裝置資料靈活流轉到華為雲其他服務。如圖2所示:

圖二 華為雲裝置接入IoTDA
2.平臺端 2.1進入華為雲物聯網平臺

進入華為雲官網後,點選產品選項,下拉找到IoT物聯網,選擇物聯網雲服務,雙擊裝置接入IoTDA,進入下一個頁面

圖三 華為雲ioT物聯網

正常使用的時候需要購買使用,本次測試直接選擇立即使用進入下一頁面

圖四 華為雲接入圖

這個頁面主要需要的是產品,裝置,平臺接入地址,首先通過平臺接入地址得到華為雲mqtt伺服器的域名和埠,得到域名為xxxxxx.iot-mqtts.cn-north-4.myhuaweicloud.com,(不同賬號不同)埠號為1883;

圖五 華為雲接入地址圖

域名,埠如圖所示:

圖六 MQTT閘道器接入地址埠
2.2建立產品

通過上一張圖我們看到還需要設定的還有產品,裝置兩個選項,首先設定產品,點選建立產品,引數設定如圖所示:

圖七 華為雲建立產品圖

點選確定以後,出現產品列表,點選產品後面的檢視按鈕,出現如下頁面:模型定義,線上除錯,Topic管理,首先第一步需要自定義模型

圖八 華為雲模型定義圖

新增服務,服務id等於說物模型id,這邊我們設定的是wenshidu,是溫溼度的拼音,服務型別和服務描述任意填

圖九 華為雲新增服務圖

在剛剛新增的服務ID:wenshidu裡面新增2個屬性,因為採集的是溫溼度,所以分別新增2個屬性,分別是溫度,溼度,2條屬性詳細設定如圖所示

圖十 華為雲新增屬性圖
圖十一 華為雲新增屬性圖

2條屬性配置完以後,物模型已基本設定完畢,下面進入Topic管理頁面

首先我們呼叫物模型的使用,需要用到的是裝置屬性相關Topic裡面的$oc/devices/{device_id}/sys/properties/report,即裝置上報屬性資料,可以自定義topic,但是自定義主題無法呼叫物模型,不建議使用

圖十二 華為雲toplc圖

到這步為止,產品相關的配置已完成,下面進入裝置配置

2.3註冊裝置

選擇單設備註冊,相關配置如下圖所示,務必記住金鑰一定要儲存好!!!

圖十三 華為雲單設備註冊圖

新建的裝置如圖所示,裝置影子類似於物模型狀態,訊息跟蹤類似於訊息追蹤,可以看到訊息日誌

圖十四 華為雲訊息日誌圖
3.裝置端

使用VIRCOM軟體點選裝置管理,自動搜尋到裝置以後雙擊,進入如下頁面,ip模式選擇動態獲取,工作模式選擇TCP客戶端,目的ip和埠為華為雲物聯網平臺的ip和埠,具體的域名在第五頁有!!不設定也沒關係,設定mqtt引數就可以,然後點選韌體與配置

圖十五 MQTT閘道器配置圖

首先需要新建資料夾,新建後配置mqtt引數和json配置,

圖十六 MQTT閘道器配置圖
3.1mqtt設定
圖十七 MQTT閘道器MQTT配置圖

伺服器域名或者IP::xxxxxxxxx.iot-mqtts.cn-north-4.myhuaweicloud.com

具體的域名在第五頁有!!!裝置ID和金鑰在第九頁!!!

伺服器mqtt埠:1883

使用者名稱:通過裝置ID和金鑰計算

密碼:通過裝置ID和金鑰計算

客戶端ID:通過裝置ID和金鑰計算

訂閱主題:$oc/devices/{device_id}/sys/properties/set/request_id={request_id}

釋出主題:$oc/devices/{device_id}/sys/properties/report

{device_id}由實際的裝置ID來代替!!!

下面為計算網頁地址

https://iot-tool.obs-website.cn-north-4.myhuaweicloud.com/

圖十八 華為雲mqtt引數圖
3.2JSON設定

第一頁總體設定如圖所示:

圖十九 MQTT閘道器json配置

具體配置頁面JSON巢狀

圖二十 MQTT閘道器json巢狀配置

固定字串

圖二十一 MQTT閘道器json固定字串配置
圖二十二 MQTT閘道器時間配置
圖二十三 MQTT閘道器modbus引數配置

上發josn格式示例:

{"services":[{"service_id":"wenshidu","properties":{"Temperature":23,"humidity":54},"eventTime":"2021-04-30 14:42:50"}]}

3.3下位機模擬

通過modbus slave模擬下位機溫溼度感測器資料,站地址為1,暫存器是40001,40002,40001存放的溫度的資料,40002存放的是溼度的資料

圖二十四 modbus從站模擬
4.裝置與平臺聯動 4.1裝置配置完成

配置完成後,請點選下載,確保資料夾已經下載,觀察指示燈狀態LINK燈藍色,ACTIVE燈閃爍

圖二十五 MQTT閘道器下載配置
4.2.平臺收到資料

點選訊息跟蹤重新整理後可以看到,平臺收到裝置的屬性上報,並且影子重新整理成功!!

圖二十六 華為雲訊息跟蹤

通過概述頁面可以看到最新的上報資料,溫度為23度,溼度為54%,上報重新整理間隔為6秒,可以通過我們的json裡面的配置頁面自定義!!!

圖二十七 華為雲資料顯示
5.相關示例

JSON格式CSV格式

圖二十八 JSON的CSV格式

業務詳情上發:

Device Id is:608b6b0ba6467502c03a7dc4_zlan000001,

topic is : $oc/devices/608b6b0ba6467502c03a7dc4_zlan000001/sys/properties/report, DatatoStringis

:{"services":[{"service_id":"wenshidu","properties":{"Temperature":23,"humidity":54},"eventTime":"2021-04-30 15:12:38"}]}