其應(yīng)顯示以下輸出結(jié)果:
< output truncated > AMQ-Broker tcp://localhost:61616 ready to work!
Device-Type = temperature
Device-ID = 4711
Payload = 70
Result = 1
----------------------
Sending 18.05.2016 10:46:22 766temperature47117000.01
第七步:測試規(guī)則服務(wù)
我們通過軟件傳感器發(fā)送一條測試消息,從而進(jìn)行服務(wù)測試。具體步驟如下:
軟件傳感器通過MQTT發(fā)送一條高值。
路由服務(wù)獲取該值后,將其轉(zhuǎn)換為消息并發(fā)送至AMQP消息隊(duì)列。
業(yè)務(wù)規(guī)則服務(wù)從隊(duì)列中獲取此消息,并在其滯業(yè)務(wù)規(guī)則條件時將其添加至另一AMQP消息隊(duì)列。
在新終端內(nèi)輸入以下命令:
[[email protected] Desktop]$ cd
[[email protected] ~]$ cd IoT_Summit_Lab/
[[email protected] IoT_Summit_Lab]$ ./runHighSensor.sh
輸出結(jié)果如下:
Starting the producer to send messages
Sending '70,0'
AMQ-Broker tcp://localhost:61616 ready to work!
Device-Type = temperature
Device-ID = 4711
Payload = 70
Result = 1
----------------------
Sending 17.05.2016 15:08:59 265temperature47117000.01
----------------------
大家也可以利用另一種方法進(jìn)行消息驗(yàn)證,即通過‘http://localhost:8181’'查看紅帽JBoss Fuse控制臺。這里的入隊(duì)與出隊(duì)消息數(shù)量應(yīng)該顯示,已經(jīng)有一條消息由message.to.rules’處獲取并被放置在‘message.to.datacenter’當(dāng)中。
注意:Fuse控制臺的登錄名/密碼為admin/change12_me。
總結(jié)
我們可以利用Ansible并配合紅帽自動化工具輕松完成智能物聯(lián)網(wǎng)網(wǎng)關(guān)的構(gòu)建工作。這套企業(yè)級智能物聯(lián)網(wǎng)網(wǎng)關(guān)基于多項(xiàng)開源技術(shù),包括紅帽企業(yè)Linux、紅帽JBoss Fuse、紅帽JBoss BRMS以及紅帽JBoss A-MQ。
這里我們已經(jīng)提供了示例代碼,包括部署路由機(jī)制與業(yè)務(wù)規(guī)則服務(wù)以保證此智能物聯(lián)網(wǎng)網(wǎng)關(guān)開始正常運(yùn)作。其中傳感器應(yīng)用負(fù)責(zé)向A-MQ代理發(fā)送溫度數(shù)據(jù)。這些MQTT消息由我們此前啟動的服務(wù)進(jìn)行處理。最后,我們創(chuàng)建了業(yè)務(wù)規(guī)則,用于在傳感器值達(dá)到閾值時觸發(fā)特定操作。