完成設(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程序。

說(shuō)明 本示例Demo代碼中,添加了結(jié)束程序的代碼(Thread.sleep(60 * 1000);),即程序啟動(dòng)成功,運(yùn)行一分鐘后會(huì)結(jié)束。實(shí)際場(chǎng)景中,您可根據(jù)需要自行設(shè)置運(yùn)行時(shí)間。

服務(wù)端實(shí)時(shí)打印從物聯(lián)網(wǎng)平臺(tái)獲取到的消息數(shù)據(jù)。報(bào)文中包含設(shè)備原始報(bào)文完整內(nèi)容,如下圖所示。

服務(wù)端日志

物聯(lián)網(wǎng)平臺(tái)云端

登錄物聯(lián)網(wǎng)平臺(tái)控制臺(tái)進(jìn)入對(duì)應(yīng)的實(shí)例,選擇監(jiān)控運(yùn)維 > 日志服務(wù) > 云端運(yùn)行日志

可以看到業(yè)務(wù)類型設(shè)備行為的日志,記錄設(shè)備上線(online)、設(shè)備離線(offline),如下圖所示。

設(shè)備行為日志

還可以查看上行消息的消息詳情,包括Topic和Payload,跟蹤上行消息的流轉(zhuǎn)過(guò)程,如下圖所示。

上行消息日志

圖中的日志已按產(chǎn)生時(shí)間標(biāo)記順序,依次為:

  1. 設(shè)備上報(bào)消息(圖示中①)。
  2. 消息從規(guī)則引擎流轉(zhuǎn)到AMQP(圖示中②)。
  3. AMQP推送消息到服務(wù)端(圖示中③)。
  4. 服務(wù)端響應(yīng)消息ACK(圖示中④)。

在控制臺(tái)左側(cè),選擇消息轉(zhuǎn)發(fā) > 服務(wù)端訂閱,單擊消費(fèi)組列表,單擊消費(fèi)組充電寶業(yè)務(wù)數(shù)據(jù)處理對(duì)應(yīng)的查看,進(jìn)入消費(fèi)組詳情頁(yè)面,可看到消息處理速率、堆積量、最后一條消息處理時(shí)間,以及服務(wù)端(即下圖中的客戶端)的信息。

消費(fèi)組詳情

服務(wù)端下發(fā)控制指令

服務(wù)端

在IntelliJ IDEA,運(yùn)行已完成開發(fā)的PubClient.java程序。

在服務(wù)端執(zhí)行Pub接口調(diào)用,向設(shè)備下發(fā)控制指令,如下圖所示。

Pub接口調(diào)用

設(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í)例,選擇監(jiān)控運(yùn)維 > 日志服務(wù) > 云端運(yùn)行日志

可以查看指令消息流轉(zhuǎn)的完整過(guò)程,如下圖所示。

下行消息日志

圖中的日志已按產(chǎn)生時(shí)間標(biāo)記順序,依次為:

  1. 服務(wù)端調(diào)用下行API(圖示中①)。
  2. 云端收到服務(wù)端的API調(diào)用請(qǐng)求后,推送消息到設(shè)備端(圖示中②)。

執(zhí)行結(jié)果

至此,我們?cè)诒M量少影響業(yè)務(wù)的前提下,完成了企業(yè)存量設(shè)備遷移上阿里云物聯(lián)網(wǎng)平臺(tái)的工作,為企業(yè)業(yè)務(wù)增長(zhǎng)提供了穩(wěn)定的技術(shù)保障。