其应显示以下输出结果:
< 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
第七步:测试规则服务
我们通过软件传感器发送一条测试消息,从而进行服务测试。具体步骤如下:
软件传感器通过MQTT发送一条高值。
路由服务获取该值后,将其转换为消息并发送至AMQP消息队列。
业务规则服务从队列中获取此消息,并在其滞业务规则条件时将其添加至另一AMQP消息队列。
在新终端内输入以下命令:
[[email protected] Desktop]$ cd
[[email protected] ~]$ cd IoT_Summit_Lab/
[[email protected] IoT_Summit_Lab]$ ./runHighSensor.sh
输出结果如下:
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
----------------------
大家也可以利用另一种方法进行消息验证,即通过‘http://localhost:8181’'查看红帽JBoss Fuse控制台。这里的入队与出队消息数量应该显示,已经有一条消息由message.to.rules’处获取并被放置在‘message.to.datacenter’当中。
注意:Fuse控制台的登录名/密码为admin/change12_me。
总结
我们可以利用Ansible并配合红帽自动化工具轻松完成智能物联网网关的构建工作。这套企业级智能物联网网关基于多项开源技术,包括红帽企业Linux、红帽JBoss Fuse、红帽JBoss BRMS以及红帽JBoss A-MQ。
这里我们已经提供了示例代码,包括部署路由机制与业务规则服务以保证此智能物联网网关开始正常运作。其中传感器应用负责向A-MQ代理发送温度数据。这些MQTT消息由我们此前启动的服务进行处理。最后,我们创建了业务规则,用于在传感器值达到阈值时触发特定操作。