物联网组件
在之前,已经将设备接入到物联网平台,并且通过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 客户端。
来源:CSDN
作者:小小刘木子
链接:https://blog.csdn.net/dingyc_ee/article/details/103744896