物联网专题34:物联网组件

半腔热情 提交于 2019-12-30 04:03:52

物联网组件

在之前,已经将设备接入到物联网平台,并且通过MQTT协议,成功的向云平台发送数据。

那么,数据发送到云平台后,除了转发给其他 MQTT 客户端,我们该如何处理这些数据?

想让数据以图形 / 数表都形式显示在网页上,该怎么办?

想将设备上报的数据都记录下来,留作他用,该怎么办?

想分析设备上报的数据,从而控制设备的运行,该怎么办?

。。。。。。各种需求的【云消息后续处理】,该怎么办?

好在,百度云、阿里云、腾讯云都提供了【规则引擎】等【物联网组件】,是我们可以将数据显示、记录、分析等。

如下图所示:

当传感器的数据通过 MQTT 协议上传到百度云平台后,云平台会根据订阅的主题,分发给不同的设备(坐标的信息流),同时,云平台也可以将维护据通过规则引擎,发送到时序数据库、对象存储等。

规则引擎,就是通过灵活的设定规则,将设备传上云端的数据,送往不同的数据目的地(如时序数据库TSDB、Kafka、对象存储BOS等),以达到不同的业务目标。

百度云、阿里云、腾讯云都支持【规则引擎】,他们各自的【规则引擎】,其实都是大同小异的。

注意:【百度云】

1 推荐用户使用 FireFox 或 Chrome 浏览器执行控制台操作;

2 规则引擎为免费服务,暂无收费计划;

3 规则引擎需要通过【物接入】获取设备端发往云端的消息,因此,在配置规则引擎之前,需要先配置物接入 IoT Hub打通云端和设备端之间的双向通道;

4 规则引擎基于主题处理消息,主题中的消息必须是 JSON 格式(查询字段为*且约束条件为空的规则除外);

5 数据目的地可以是物接入主题:规则引擎可以将数据转发到其他主题(可以跨实例转发);

 

使用规则引擎

1 在百度云平台中,新建 Rule_Engine_Test 【规则引擎测试】的主题过滤器,如下所示:

可以通过规则引擎,将向 Rule_Engine_Test 发布的消息转发给 SW_LED 主题过滤器,如果有设备订阅了 SW_LED 主题,那么将收到 规则引擎转发给 SW_LED 的消息。

2 通过 MQTT-FX 客户端软件订阅 Rule_Engine_Test 主题,并发布 JSON 字符串,如下所示:

如下所示可以看到,由于MQTT-FX也订阅了 Rule_Engine_Test 主题,客户端软件成功的收到了消息;

但由于 8266 并没有订阅 Rule_Engine_Test 主题,因此不会收到消息;

3 设置规则引擎

在百度云天工物接入中,找到并创建规则引擎,如下所示:

填入规则名称、实例和主题(选择数据型设备实例,主题为新增的测试主题),然后进行数据筛选。如下图所示:

然后进行数据处理,设置数据目的地,如下所示:

选择物接入主题,主题名为 SW_LED,如下所示;

点击提交,规则引擎创建成功。

4 通过 MQTT-FX发送JSON字符串,可以看到,8266成功的收到了 Temp 键值对的数据;

这说明规则引擎设置成功,通过规则引擎,会将发给 Rule_Engine_Test 这个主题的消息,转发给订阅了这个主题的设备,包括 ESP8266 和 MQTT-FX 客户端。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!