完成設(shè)備端和服務(wù)端業(yè)務(wù)開發(fā)后,啟動(dòng)服務(wù)端程序,與物聯(lián)網(wǎng)平臺(tái)建立連接,然后啟動(dòng)設(shè)備端模擬腳本上報(bào)數(shù)據(jù),在服務(wù)端調(diào)用Pub接口下發(fā)控制指令,進(jìn)行整體聯(lián)調(diào)運(yùn)行。
設(shè)備端上報(bào)數(shù)據(jù)聯(lián)調(diào)
設(shè)備端
在CMD窗口,使用cd
命令找到設(shè)備端的iot_device.js文件所在路徑,然后輸入如下命令,運(yùn)行iot_device.js代碼,啟動(dòng)設(shè)備。
node iot_device.js
設(shè)備接入成功,打印業(yè)務(wù)報(bào)文,如下所示。
payload=[ DE02,23,16,011101010,am024,1d478f ]
payload=[ DE02,29,24,011101010,am024,1d478f ]
payload=[ DE02,28,17,011101010,am024,1d478f ]
payload=[ DE02,26,18,011101010,am024,1d478f ]
payload=[ DE02,25,10,011101010,am024,1d478f ]
payload=[ DE02,18,10,011101010,am024,1d478f ]
payload=[ DE02,29,13,011101010,am024,1d478f ]
服務(wù)端
在IntelliJ IDEA,運(yùn)行已完成開發(fā)的AmqpClient.java程序。
服務(wù)端實(shí)時(shí)打印從物聯(lián)網(wǎng)平臺(tái)獲取到的消息數(shù)據(jù)。報(bào)文中包含設(shè)備原始報(bào)文完整內(nèi)容,如下圖所示。
物聯(lián)網(wǎng)平臺(tái)云端
登錄物聯(lián)網(wǎng)平臺(tái)控制臺(tái),進(jìn)入對(duì)應(yīng)的實(shí)例,選擇 。
可以看到業(yè)務(wù)類型為設(shè)備行為的日志,記錄設(shè)備上線(online)、設(shè)備離線(offline),如下圖所示。
還可以查看上行消息的消息詳情,包括Topic和Payload,跟蹤上行消息的流轉(zhuǎn)過(guò)程,如下圖所示。
圖中的日志已按產(chǎn)生時(shí)間標(biāo)記順序,依次為:
- 設(shè)備上報(bào)消息(圖示中①)。
- 消息從規(guī)則引擎流轉(zhuǎn)到AMQP(圖示中②)。
- AMQP推送消息到服務(wù)端(圖示中③)。
- 服務(wù)端響應(yīng)消息ACK(圖示中④)。
在控制臺(tái)左側(cè),選擇消費(fèi)組列表,單擊消費(fèi)組充電寶業(yè)務(wù)數(shù)據(jù)處理對(duì)應(yīng)的查看,進(jìn)入消費(fèi)組詳情頁(yè)面,可看到消息處理速率、堆積量、最后一條消息處理時(shí)間,以及服務(wù)端(即下圖中的客戶端)的信息。
,單擊服務(wù)端下發(fā)控制指令
服務(wù)端
在IntelliJ IDEA,運(yùn)行已完成開發(fā)的PubClient.java程序。
在服務(wù)端執(zhí)行Pub接口調(diào)用,向設(shè)備下發(fā)控制指令,如下圖所示。
設(shè)備端
設(shè)備端會(huì)實(shí)時(shí)打印指令信息,如下所示。
topic /a16****/deviceSN1/user/cmd/down
message CMD,82923,ad322
物聯(lián)網(wǎng)平臺(tái)云端
登錄物聯(lián)網(wǎng)平臺(tái)控制臺(tái),進(jìn)入對(duì)應(yīng)的實(shí)例,選擇 。
可以查看指令消息流轉(zhuǎn)的完整過(guò)程,如下圖所示。
圖中的日志已按產(chǎn)生時(shí)間標(biāo)記順序,依次為:
- 服務(wù)端調(diào)用下行API(圖示中①)。
- 云端收到服務(wù)端的API調(diào)用請(qǐng)求后,推送消息到設(shè)備端(圖示中②)。