Skip to content

Latest commit

 

History

History
144 lines (96 loc) · 7.07 KB

示例.md

File metadata and controls

144 lines (96 loc) · 7.07 KB

环境准备

  • 能成功运行的Thingsboard环境,可参考前作 编译运行
  • IDE Idea或Eclipse,本文使用Idea
  • Mqtt数据模拟器或消息生成规则节点,本文使用消息生成规则节点
  • 支持Html5的浏览器,本文使用Chrome
  • 参考前作普通设备了解如何创建设备
  • 参考前作规则引擎了解如何创建规则链
  • 参考前作仪表盘了解如何创建别名以及绑定数据源到部件

描述

分析官方谷仓监控仪表盘,在本地环境复现。

准备

从官方demo中导出仪表盘。 谷仓监控仪表盘导出

使用tenant@thingsboard.org账号登录系统,导入仪表盘。 谷仓监控仪表盘导入

分析

打开本地仪表盘,与官方示例进行对比分析。 谷仓监控仪表盘打开

组件包含:地图、饼图、静态组件、数字仪表、时序折现图、时序条形图、时序表。 谷仓监控仪表盘下载

谷仓设备Silo ASilo BSilo 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!,点击右上角进行保存。 谷仓监控设备配置告警配置

设备新建以及关联
  • 新建谷仓设备Silo ASilo BSilo CSilo A为例(Silo BSilo C按同样步骤处理),首先新建设备Silo A谷仓监控谷仓设备新建

然后使用[OpenStreetMap](https://www.openstreetmap.org/ 拾取经纬度坐标(示例中使用北京三里屯某个位置的坐标) 谷仓监控设备地理位置拾取

最后设置服务端属性latitudelongitude 谷仓监控设备地理位置配置

  • 新建事件设备Silo Dispatcher

谷仓监控事件设备新建

  • 新建事件设备与谷仓设备关联

点击设备Silo Dispatcher,切换到关联tab页,选择方向为,点击右上角+号按钮。 谷仓监控事件设备关联新建

选择从实体类型为设备,选择实体Silo ASilo BSilo C,点击添加按钮。 谷仓监控事件设备关联新建1

规则链新建

使用规则节点generator模拟谷仓设备Silo ASilo BSilo C时序数据:重量(weight)、温度(temperature)、湿度(humidity),使用规则节点device profile生成设备警告,使用规则节点change originator将告警关联到事件设备Silo dispatcher,使用规则节点Msg transfrom将告警消息转换成时序数据:谷仓名(silo)、事件类型(tag)、消息(body),使用规则节点Save timeseries保存时序数据。

谷仓监控规则链编辑

新建规则链Silo,输入名称Silo,点击添加按钮。 谷仓监控规则链新建

点击规则链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_Dispatcher

关联实体别名Silo A到设备Silo A,进行保存(实体别名Silo B、Silo C进行同样操作) 谷仓监控仪表盘实体别名Silo_A

关联实体别名Silo C到设备Silo ASilo BSilo C,进行保存。 谷仓监控仪表盘实体别名Silos

点击实体别名对话框右下角保存按钮进行别名保存。 谷仓监控仪表盘实体别名保存

点击仪表盘右下角钩形按钮进行仪表盘保存。 谷仓监控仪表盘保存

TIPS

  • 官方仪表盘文件silos_monitoring_no_banner
  • 为了快速学习,可以使用脚本创建相关资源[create.sql](../../file/silo/create .sql)以及清除clean.sql,创建的资源默认在名称为Tenant的租户下,可手动修改为其他租户,更推荐大家进行手动创建,熟悉Thingsboard功能。