JetLinks物聯網基礎平臺-使用MQTT服務網關接入設備

本文檔以MQTT.fx爲例,介紹使用第三方軟件以MQTT協議接入物聯網平臺。MQTT.fx是一款基於Eclipse Paho,使用Java語言編寫的MQTT客戶端工具。支持通過Topic訂閱和發佈消息。

創建協議

自定義消息協議創建,請參考消息協議定義

i. 選擇 設備管理-->協議管理--> 點擊新建協議按鈕

新建協議導航

ii. 輸入型號名稱

iii. 選擇型號類型爲 jar

iv. 輸入類名org.jetlinks.demo.protocol.DemoProtocolSupportProvider

v. 上傳jar包 demo-protocol-1.0.jar

vi. 點擊保存,完成協議新增。

創建完成信息展示

新建型號協議

創建設備型號

自定義創建設備型號,請參考添加設備型號

i.下載型號文件配置JSON

ii. 選擇 設備管理-->設備型號--> 點擊導入配置按鈕

導入型號導航

iii. 選擇配置JSON文件

iv.型號導入完成效果如下圖

未發佈型號

v.點擊上圖中未發佈鏈接完成型號發佈,導航欄中發佈狀態變爲已發佈代表發佈成功。

已發佈型號

創建成功的型號信息展示

i. 點擊導航欄中編輯鏈接查看型號基本信息

ii. 點擊彈出框中設備定義板塊查看型號設備定義

iii. 點擊屬性定義、事件定義對應操作下的編輯按鈕查看更詳細的型號信息

型號信息1
型號信息2
型號信息3

創建設備實例

自定義創建設備實例,請參考添加設備實例

i. 下載設備實例Excel文件設備實例Excel

ii. 選擇 設備管理-->設備實例--> 點擊導入實例按鈕

導入設備導航

iii. 選擇設備實例Excel文件

iv. 設備實例導入完成效果如下圖

未激活的設備

v. 點擊上圖中激活鏈接完成設備實例激活,狀態欄中發佈狀態變爲離線代表設備激活成功。

已激活的設備

創建成功的設備實例信息展示

i. 設備基本信息

設備基本信息

ii. 設備運行狀態信息

設備運行狀態信息

iii. 設備日誌

設備日誌

創建網關配置

參照啓動設備網關服務

mqtt服務組件配置

網關配置

使用MQTT.fx接入

1.下載並安裝MQTT.fx軟件。請訪問MQTT.fx官網

2.打開MQTT.fx軟件,單擊設置圖標。

mqttfx首頁

3.設置連接參數。

說明 設置參數時,請確保參數值中或參數值的前後均沒有空格。

i. 設置基本信息

mqtt基本信息設置

參數 說明
Profile Name 輸入您的自定義名稱。
Profile Type 選擇爲MQTT Broker

MQTT Broker Profile Settings

參數 說明
Broker Address 連接域名。本地連接可直接填寫 127.0.0.1,如爲遠程連接,請填寫遠程連接地址
Broker Port 設置爲1889
Client ID 設備Id。本文檔中爲演示設備實例test001

General欄目下的設置項可保持系統默認,也可以根據您的具體需求設置。

ii. 單擊User Credentials,設置User Name和Password。

在消息協議未定義前,username,password可以填寫任意字符,但是不能留空。

 

mqtt用戶名名密碼設置

參數 說明
User Name 消息協議定義中決定User Name值(消息協議未定義時可填寫任意值)
Password 消息協議定義中決定Password值 (消息協議未定義時可填寫任意值)

iii. (可選)TLS連接。需要選擇SSL/TLS,勾選Enable SSL/TLS,設置Protocol。建議Protocol選擇爲TLSv1.2。

mqtt TSL設置

4.設置完成後,單擊右下角的OK

設備操作

設備連接上平臺,並進行一些基本的事件收發、屬性讀取操作。

設備上下線

單擊 Mqtt fx 中Connect進行連接

mqtt連接

平臺中設備狀態變爲上線即爲連接成功

設備上線

在設備日誌模塊可以看到設備上線日誌

設備上線日誌

單擊 Mqtt fx 中Disconnect斷開連接

mqtt連接

平臺中設備狀態變爲離線即爲斷開連接成功

設備離線

在設備日誌模塊可以看到設備離線日誌

設備離線日誌

讀取設備屬性

注意:第2步中回覆平臺屬性值需要在第1步平臺發送訂閱以後的十秒鐘內完成,否則平臺會視爲該次操作超時,導致讀取屬性值失敗。

1.平臺告知設備(MQTT.fx)需要設備返回設備屬性

在MQTT.fx上訂閱消息,訂閱物聯網平臺下發設備返回屬性的Topic

i. 在MQTT.fx上,單擊Subscribe。

ii. 輸入平臺獲取設備屬性會發送給網關的topic/read-property

iii. 單擊Subscribe,訂閱這個topic

訂閱topic

iv. 平臺發送訂閱操作

單擊設備實例頁面中test001設備對應的查看鏈接

選擇彈出框中運行狀態板塊

單擊屬性刷新

平臺屬性訂閱操作

v. 訂閱topic: /read-property對應的消息

訂閱topic

注意: 複製好訂閱該topic收到的消息中的messageId。此messageId將作爲回覆與平臺設備屬性的憑據之一 複製好

2.設備(MQTT.fx)回覆平臺設備屬性值

在MQTT.fx上發送消息,發送平臺所需要的設備屬性值。

i. 在MQTT.fx上,單擊 Publish

ii. 輸入一個回覆平臺屬性值消息Topic和要發送的消息內容,單擊Publish,向平臺推送該消息。

回覆設備屬性

參數 說明
messageId 第一步訂閱平臺topic“/read-property”所收到的messageId值
deviceId 設備Id
timestamp 當前時間戳
success 成功標識
properties 設備屬性值對象。例如: { "threshold":"50"}

該文檔所使用的回覆內容

{
    "messageId":"第一步訂閱平臺topic“/read-property”所收到的messageId值",
    "deviceId":"test001",
    "timestamp":"1583809148000",
    "success":true,
    "properties":{
      "temperature":"50"
     }
}

iii. 平臺收到Mqtt.fx推送的屬性值

平臺收到屬性值

iv. 讀取設備屬性回覆的日誌

設備屬性讀取日誌

獲取設備屬性值完整演示

注意:在下圖中,從在界面上刷新屬性開始直到動圖結束的所有操作,需要在十秒鐘內完成。否則平臺會視爲該次操作超時,導致讀取屬性值失敗。

獲取設備屬性值

設備事件上報

MQTT.fx 推送設備事件消息到平臺

以火災報警事件爲例。

1.在MQTT.fx上,單擊 Publish

2.輸入事件上報Topic和要發送的事件內容,單擊Publish按鈕,向平臺推送該事件消息。

設備事件上報

該文檔使用的topic: /fire_alarm

該文檔所使用的回覆內容

{
   "deviceId":"test001",
    "pname":"智能溫控",
    "aid":105,
    "a_name":"未來科技城",
    "b_name":"C2 棟",
    "l_name":"12-05-201",
    "timestamp":"2019-11-06 16:28:50",
    "alarm_type":1,
    "alarm_describe":"火災報警",
    "event_id":1,
    "event_count":1
}
參數 說明
deviceId 設備Id
pname 設備型號名稱
aid 區域Id
a_name 區域名稱
b_name 建築名稱
l_name 位置名稱
timestamp 上報時間
alarm_type 報警類型
alarm_describe 報警描述
event_id 事件 ID
event_count 該事件上報次數

3.事件上報設備日誌

事件上報設備日誌

4.事件上報內容

事件上報內容 事件上報內容1

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