假设你的设备正在使用DHT22传感器来收集温度读数并将其推送到ThingsBoard。
DHT22传感器适用于-40至80°C的温度读数。如果温度超出范围,我们希望生成警报。
在本教程中,我们将配置ThingsBoard规则引擎以
我们假设你已完成以下指南并查看了以下文章:
在ThingsBoard中添加设备实体。它的名称为Thermostat Home其类型为Thermostat。
在本节中,我们将解释本教程中每个节点的用途:
在本教程中我们修改了Root Rule Chain并创建了规则链Create & Clear Alarms
以下屏幕截图显示了以上规则链的外观:
下载附件json文件以获取Create & Clear Alarms规则链。
如上图所示在根规则链中创建节点D,以将遥测转发到导入的规则链。
下一节将向你展示如何从头开始创建此规则链。
转到Rule Chains -> Add new Rule Chain
配置:
创建新规则链。点击Edit按钮进行配置。
在此规则链中,你将创建3个节点,如以下各节所述:
return msg.temperature < -40 || msg.temperature > 80;
如果温度在预期的时间间隔内,则脚本将返回False,否则将返回True。
添加Create alarm节点,并将其连接到关联类型为True的Filter Script节点。
如果发布的温度不在预期范围内(过滤器脚本节点返回True)则此节点将为消息发起方加载配置了警报类型的最新警报,即Thermostat Home
。
输入名称Create alarm并在警报类型中输入Critical Temperature。
添加Clear Alarm节点并将其连接到关联类型为False的Filter Script节点。
此节点将为消息始发者Thermostat Home
加载配置了警报类型的最新警报,如果发布的温度在预期范围内(脚本节点返回False)则清除该警报(如果存在)。
输入名称Clear Alarm并在警报类型中输入Critical Temperature。
以下屏幕截图显示了初始“根规则链”。
初始规则链已通过添加以下节点进行了修改:
添加Rule Chain节点并将其连接到关联类型为True的Filter Script节点。
节点将传入消息转发到指定的规则链Create & Clear Alarms。
输入名称Create & Clear Alarms.
以下屏幕截图显示了最终的Root Rule Chain应该是什么样子:
对于发布设备遥测我们将使用Rest API遥测上传API。为此,我们将需要复制设备Thermometer的访问令牌。
**你需要将$ACCESS_TOKEN替换为实际的设备令牌**
点击Clear Alarm和Create Alarm节点中的调试模式按钮以验证结果。
发布temperature = 99后会创建警报:
curl -v -X POST -d '{"temperature":99}' http://localhost:8080/api/v1/$ACCESS_TOKEN/telemetry --header "Content-Type:application/json"
发布temperature = 180后更新警报:
curl -v -X POST -d '{"temperature":180}' http://localhost:8080/api/v1/$ACCESS_TOKEN/telemetry --header "Content-Type:application/json"
发布temperature = 30后会清除警报:
curl -v -X POST -d '{"temperature":30}' http://localhost:8080/api/v1/$ACCESS_TOKEN/telemetry --header "Content-Type:application/json"
另外你可以:
在Create and Clear Alarm节点中配置Alarm Details功能
通过添加警报部件以可视化警报来配置仪表板。
定义用于警报处理的其他逻辑例如:发送电子邮件。
请参阅另请参阅部分下第二到第四的链接,以了解如何执行此操作。
验证传入遥测 - 有关如何使用Script Filter节点验证传入遥测的更多信息。
创建和清除警报: 警报详情: - 了解如何在Alarm节点中配置Alarm Details功能。
创建和清除警报: 配置面板 - 了解如何将警报部件添加到仪表板。
发送邮件。
入门指南 - 这些指南提供了ThingsBoard主要功能的快速概述。
安装指南 - 了解如何在各种操作系统上安装ThingsBoard。
设备连接 - 了解如何根据您的连接方式或解决方案连接设备。
数据看板 - 这些指南包含有关如何配置复杂的ThingsBoard仪表板的说明。
数据分析 - 了解如何使用规则引擎执行基本的分析任务。
硬件样品 - 了解如何将各种硬件平台连接到ThingsBoard。
高级功能 - 了解高级ThingsBoard功能。
开发指南 - 了解ThingsBoard中的贡献和开发。