使用MQTTBox連接MindSphere IoT Extention


==靜態模板==

https://cumulocity.com/guides/device-sdk/mqtt/#mqtt-static-templates 

 

==創建連接==

打開MQTTBox,在Client創建界面中輸入相應信息:

【MQTT Client Name】Client識別名

【MQTT Client Id】可使用 “Generate a random ID” 按鈕或者自行輸入。此ID會成為平台上此網關的ID名稱(MQTT ClientId是一個字段,用於唯一標識每個連接的客戶端。Cumulocity IoT還使用ClientId將客戶端直接鏈接到設備。一個好的設備標識符可以是網絡適配器的MAC地址,移動設備的IMEI或硬件序列號。

【Protocol】選擇mqtt/tcp

【Host】Tenant的URL地址:{TenantName}.mciotextension.cn1.mindsphere-in.cn:1883

【Username】:{TenantName}/{MailAddress}, 例如:cnsocdev/san.zhang@163.com

【Password】登錄IoT Extension的密碼

 

其他選項可直接使用默認,點擊Save保存。顯示Connected,則表示與平台連接成功。如下圖所示:

 

==創建設備==

在Topic to publish中輸入s/us,使用此topic發送數據至平台側。

創建設備,發送100模版消息(100,myDevice,myType),點擊發送。如:

100,QchDevice0403,qchtype

 

點擊Publish發送。

 

這樣就可以去MindSphere IoT Extention上可以看到注冊的設備了。

 

可以點進進去查看設備信息:

 

==設置硬件信息==

使用消息模版110(110,serialNumber,model,revision),同樣是用s/us topic 發送:

110,202004031044000,DView500邊緣控制器,1.0.0

 

再次查看設備信息,可以看到通過消息模板發送的硬件信息了:

 

==設置網關設備要求間隔時間==

使用消息模板117(117,requireIntervalInSeconds)

117,60

 

之后在IoT Extension的設備界面中,及會顯示此信息,並且設備狀態更新為“在線”

 

==發送模擬數據==

使用消息模版211(發送溫度測量值 211,temperatureValue,timestamp)

 

之后在此網關頁面的“測量”上即可看到此上傳數據值

 

==上傳自定義屬性==

使用消息模版200。如:

200,QchMeasurement,AR_TEST_VAR1,100,度,
200,QchMeasurement,AR_TEST_VAR2,101,度,
200,QchMeasurement,AR_TEST_VAR3,101,度,

 

在測量上查看發送的自定義變量。

 

也可以在payload里寫批量的靜態模板。如:

200,QchMeasurement,AR_TEST_VAR4,101,度,
200,QchMeasurement,AR_TEST_VAR5,102,度,
200,QchMeasurement,AR_TEST_VAR6,103,度,

 

在頁面上查看結果:

 

==反向控制(向設備發送控制命令)==

1)網關需接受從雲端發送的消息,則需要訂閱Topic s/ds。

 

點擊“Subscribe”訂閱。

 

2)向雲端申明,支持的下發操作類型。

使用消息模版114

114,c8y_Command,c8y_Restart,c8y_Configuration,c8y_SoftwareList

 

3)返回設備界面,到“控制”頁面中,點擊“重新啟動設備”。

如果不發送上面的那條申報命令,是看不到“重新啟動設備”的按鈕的。

 

在MQTT Box訂閱的消息中,則會收到此重啟命令,消息模版510

 

4)使用IoT Extension的API調取實現反向控制操作,下發到設備。

使用Postman工具,調取API:

【url】https://{TenantName}.mciotextension.cn1.mindsphere-in.cn/devicecontrol/operations/

【authorization】使用BasicAuth認證,用戶名密碼均為登錄IoT Extension時所使用的。

【body】使用JSON格式(其中deviceId可以去頁面上去找)

{
  "deviceId" : "17910",
  "c8y_Command": {
    "text": "Machine_Stop"
  }
}

 

點擊send之后,在MQTT Box上訂閱的信息會顯示此命令:

 

可在設備的控制頁上查看到此使用API調取發送的控制命令:

 

--END--

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM