- 能成功运行的Thingsboard环境,可参考前作 编译、运行
- IDE Idea或Eclipse,本文使用Idea
- Mqtt数据模拟器或
消息生成
规则节点,本文使用消息生成规则节点 - 支持Html5的浏览器,本文使用Chrome
- 参考前作普通设备了解如何创建设备
- 参考前作规则引擎了解如何创建规则链
- 参考前作仪表盘了解如何创建别名以及绑定数据源到部件
分析官方谷仓监控仪表盘,在本地环境复现。
使用tenant@thingsboard.org
账号登录系统,导入仪表盘。
组件包含:地图、饼图、静态组件、数字仪表、时序折现图、时序条形图、时序表。
谷仓设备:Silo A
、 Silo B
、Silo C
,属性包含:经度(latitude)、纬度(longitude),时序数据包含:重量(weight)、温度(temperature)、湿度(humidity)。
事件设备:Silo Dispatcher(右下角监控事件表使用该设备),时序数据包含: 谷仓名(silo)、事件类型(tag)、消息(body)。
新建设备配置silo device profile
,输入名称silo device profile
,点击添加
按钮。
编辑告警规则,添加创建报警规则 temperature>40
,级别为警告
,详情为Silo temperature is high!
,添加清除报警规则temperature<=40
,详情为Silo temperature is back to normal!
,点击右上角勾
进行保存。
然后使用[OpenStreetMap](https://www.openstreetmap.org/ 拾取经纬度坐标(示例中使用北京三里屯某个位置的坐标)
- 新建事件设备
Silo Dispatcher
- 新建事件设备与谷仓设备关联
点击设备Silo Dispatcher
,切换到关联
tab页,选择方向为到
,点击右上角+
号按钮。
选择从实体类型为设备
,选择实体Silo A
、Silo B
、Silo C
,点击添加
按钮。
使用规则节点generator
模拟谷仓设备Silo A
、Silo B
、Silo C
时序数据:重量(weight)、温度(temperature)、湿度(humidity),使用规则节点device profile
生成设备警告,使用规则节点change originator
将告警关联到事件设备Silo dispatcher
,使用规则节点Msg transfrom
将告警消息转换成时序数据:谷仓名(silo)、事件类型(tag)、消息(body),使用规则节点Save timeseries
保存时序数据。
点击规则链Slio
,在右侧弹出页中点击打开规则链
按钮,进行编辑,关键配置如下:
- 温度(temperature)数据生成脚本
var msg = {
temperature: Math.round(Math.random()*50*100)/100
};
var metadata = { "deviceName": "Silo A" };
var msgType = "POST_TELEMETRY_REQUEST";
return { msg: msg, metadata: metadata, msgType: msgType };
湿度(humidity)、重量(weight)数据生成类似。
- 告警关联配置
- 告警消息转换脚本
var newMsg = {
"silo": metadata.deviceName,
"tag": metadata.isNewAlarm ? "WARNING":"INFO",
"body": msg.details.data
};
return {msg: newMsg, metadata: metadata, msgType: "POST_TELEMETRY_REQUEST"};
点击右下角勾
进行保存。
点击仪表盘名称,点击打开仪表盘
按钮,然后点击右上角笔形
按钮进入编辑状态。
关联实体别名Silo Dispatcher 到设备Silo Dispatcher
,进行保存。
关联实体别名Silo A到设备Silo A
,进行保存(实体别名Silo B、Silo C进行同样操作)
关联实体别名Silo C
到设备Silo A
、Silo B
、Silo C
,进行保存。
- 官方仪表盘文件silos_monitoring_no_banner
- 为了快速学习,可以使用脚本创建相关资源[create.sql](../../file/silo/create
.sql)以及清除clean.sql,创建的资源默认在名称为
Tenant
的租户下,可手动修改为其他租户,更推荐大家进行手动创建,熟悉Thingsboard功能。