首页 > 技术知识 > 正文

前言

各位读者好,截止目前,ThingsBoard系列文章已经做了三篇,分别是

ThingsBoard教程(一):ThingBoard介绍及安装 ThingsBoard教程(二):租户,租户配置,部件组模块的使用 ThingsBoard教程(三):系统设置模块的使用

主要涉及内容包括,租户,租户配置,部件组,安全,OAuth2.0等模块。 相信大家看完之后一定能做一个合格的系统管理员。系统管理员是一个具有所有权限的角色,他可以进入到租户的系统中,看到所有租户的数据。本篇文章我就给大家介绍一下租户管理员所能操作的资源。

租户管理员能够操作的资源有以下模块

规则链库

客户

资产管理

设备管理

设备配置

实体视图

部件库

仪表板库

审核日志

Api使用统计

本篇文章我将给大家讲解一下其中的 规则链库客户资产管理, 在所有的模块中,规则链库是最为复杂,并且最灵活的模块,只用一个模块肯定不能将其完全讲解完成,所以本篇的目的是为了让各位读者对规则库有个大致的了解,知道一些基本的操作。增删改查。前言就说到这里,让我们开始吧。

规则库链

读我的文章的人都清楚,我之前出了一个另一个物联网系列的文章Node-red系列文章,详细介绍了使用Node-red的拖拉拽来创建流,处理物联相关的数据。简单来说,这里的规则引擎就是和Node-red中的flow流的概念差不多。都是用于处理设备中数据,细分下来大致有以下三种主要组件来构成

消息Message,任何传入的事件,它可以是来自设备,设备生命周期事件,REST API事件,RPC请求等的传入数据。

规则节点 对传入的消息执行的函数,有许多不同的节点类型可以过滤,转化,或对传入的消息进行某些擦欧洲。

规则链 节点之间通过线来互相连接,因此来自规则节点的出站消息将发送到下一个连接的规则节点。

下面来看一下Web页面上的操作 ThingsBoard教程(四):规则链简介与操作

在安装tb后,系统会默认初始化一个租户管理员的账号, 租户帐号:tenant@thingsboard.org 租户密码:tenant

使用这个账号登录系统后,就可以看到租户管理员的首页如下图 ThingsBoard教程(四):规则链简介与操作1

如果是系统管理员,想进入某一个租户管理员的页面,可以在租户管理中点击这个按钮进入,注意此操作会退出系统管理员,使用租户管理员登录。 缺少图片

进入系统后,点击规则链库图标,或者菜单,进入规则链库的管理页面

在这个页面我们可以对规则链进行添加,删除,导出,导入,

现在让我们创建一个规则链,点击右上角的加号

ThingsBoard教程(四):规则链简介与操作2

ThingsBoard教程(四):规则链简介与操作3

创建好后,点击规则链库表格的某一行,可以打开右侧的抽屉,对其进行编辑,

ThingsBoard教程(四):规则链简介与操作4

点击打开规则链

ThingsBoard教程(四):规则链简介与操作5

这个页面熟不熟悉? 因为这个页面是和Node-red的操作页面一脉相承的。下面这个是Node-red的操作页面。

ThingsBoard教程(四):规则链简介与操作6

如我们所见,一共有6大类型的节点

筛选器 使用配置条件筛选传入的消息 属性集 向消息元数据中添加附加信息 变换 更改消息Payload和元数据 动作 执行特别动作 外部的 与外部系统交互 规则链 将传入的消息发送到指定的规则链

有的节点只有输入,没有输入,有的有输入但没有输出。有的节点输入和输出都有。 一共节点10+9+3+22+32+1 = 77个节点

看一下使用tb的规则链配置能实现那些功能吧

在保存到数据库之前,对传入遥测或属性进行数据验证和修改。 将遥测或属性从设备复制到相关资产,以便可以汇总遥测。例如,可以将多个设备中的数据汇总到相关资产中。 根据定义的条件创建/更新/清除警报。 根据设备生命周期事件触发操作。例如,如果设备处于在线/离线状态,则创建警报。 加载处理所需的其他数据。例如,在“设备的客户”或“租户”属性中定义的设备的负载温度阈值。 触发对外部系统的REST API调用。 发生复杂事件时发送电子邮件,并使用“电子邮件模板”中其他实体的属性。 在事件处理期间要考虑用户的偏好。 根据定义的条件进行RPC调用。 与外部管道(如Kafka,Spark,AWS服务等)集成。

先来看一下别人已经配好的规则链 ThingsBoard教程(四):规则链简介与操作7

ThingsBoard教程(四):规则链简介与操作8

点击此处可以进行导出规则链,下载的是一个json文件,

{ “ruleChain”: { “additionalInfo”: { “description”: “测试一下” }, “name”: “Fic”, “firstRuleNodeId”: null, “root”: false, “debugMode”: true, “configuration”: null }, “metadata”: { “firstNodeIndex”: null, “nodes”: [], “connections”: null, “ruleChainConnections”: null } }

你也可以对其进行导出。 因为使用json进行规则链的导入导出,所有自己创建一个规则链后,将json文件复制给任何使用tb的用户,都能将此规则链进行复现。 非常的方便快捷。

猜你喜欢