偷空写一篇关于TB规则链的用法简介

thingsboard开源项目提供了一个专用的开源流处理服务,其官网命名为“规则链”,如下图

其功能应该说还是相当强大的,其中有各种传输协议的RPC调用及处理,还有地理围栏功能,以及一些API的调用以及消息的发布,在物联网这个大环境下还是相当的实用的。

本篇我大概说一下一些简单的用法,可能不太全面,需要用到其他功能的小伙伴们可以移至官网底下,其中有详细的介绍:官网规则链 

在这之前,我们需要理解几个东西:

  • 消息 - 任何传入的事件。它可以是来自设备的传入数据,设备生命周期事件,REST API事件,RPC请求等。
  • 规则节点 - 在传入消息上执行的功能。有许多不同的Node类型可以对传入的Message进行过滤,转换或执行某些操作。
  • 规则链 - 节点通过关系相互连接,因此来自规则节点的出站消息被发送到下一个连接的规则节点。

然后是一些需要注意的参数:

  • 消息ID:基于时间的通用唯一标识符;
  • 消息的发起者:设备,资产或其他实体标识符;
  • 消息类型:“发布遥测”或“不活动事件”等;
  • 消息的有效载荷:具有实际消息有效载荷的JSON主体;
  • 元数据:包含有关消息的其他数据的键值对列表。

消息类型包括以下几种:

  • POST_ATTRIBUTES_REQUEST:发布属性
  • POST_TELEMETRY_REQUEST:发布遥测
  • TO_SERVER_RPC_REQUEST:来自设备的RPC请求
  • RPC_CALL_FROM_SERVER_TO_DEVICE:RPC请求到设备
  • ACTIVITY_EVENT:活动事件
  • INACTIVITY_EVENT:不活动事件
  • CONNECT_EVENT:连接事件
  • DISCONNECT_EVENT:断开事件
  • ENTITY_CREATED:实体创建
  • ENTITY_UPDATED:实体更新
  • ENTITY_DELETED:实体删除
  • ENTITY_ASSIGNED:实体已分配
  • ENTITY_UNASSIGNED:实体未分配
  • ADDED_TO_ENTITY_GROUP:添加到组
  • REMOVED_FROM_ENTITY_GROUP:已从组中删除
  • ATTRIBUTES_UPDATED:属性已更新
  • ATTRIBUTES_DELETED:属性已删除
  • ALARM:告警事件
  • REST_API_REQUEST:REST API请求到规则引擎

然后我们先将每个节点的功能说一下

过滤器

首先我们讲一下过滤器,顾名思义,就是过滤消息或者用作判断的节点

TB提供了上图中的这些过滤器,其中我们比较常用的就是脚本了

我们只需要在其中将传入数据的一些键上的值进行判断,就可以将不符合条件的数据过滤掉,从而将正确的数据引入下一个节点进行处理。

下面是我自己汉化的一些解释,大家可以参考一下:

属性集

属性集主要针对的是实体的属性配置

变换

变换主要说的是转化消息体中的数据为其他类型

动作

动作模块的节点全部都是用以处理数据的,比如数据的保存、关系的删除、消息的生成等等

这块由于截图量比较大,所以就不截图了,有需要的可以在我们的QQ群里联系我

外部数据处理

主要用以与外部系统的通信

剩下还有个节点叫做“规则链”的,这个主要用于与创建的其他规则链的关联

 

 

QQ群

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 我可以提供一些技术支持,但是具体的编程工作还是要靠你自己。要使用Python编一个带界面的串口助手,可以参考Python官方文档中有关serial模块的内容,以及相关GUI工具库,如PyQt、wxPython等。 ### 回答2: 要用Python编一个带界面的串口助手,可以使用Python的GUI库Tkinter来实现。以下是一个简单的实现思路: 1. 导入所需的模块:首先,需要导入Tkinter模块以及Python的串口通信库pySerial。 2. 创建主界面:使用Tkinter创建一个窗口作为主界面,可以设置窗口的标题、大小和其他属性。 3. 设计串口设置区域:在主界面中添加一个区域,用户可以在该区域设置串口的端口号、波特率、数据位、停止位和校验位等参数。 4. 设计数据收发区域:在主界面中添加一个文本框用于显示接收到的串口数据,以及一个输入框和发送按钮用于发送数据。 5. 实现串口通信功能:使用pySerial库来实现串口打开、关闭、设置参数和数据的读等功能。可以在界面中的相应按钮点击事件中调用相应的函数来实现。 6. 实现数据收发功能:在界面中的发送按钮点击事件中获取用户输入的数据,并调用pySerial库的入函数将数据发送给串口。同时,在读取串口数据的函数中将接收到的数据显示在文本框中。 7. 运行界面:在主程序中创建一个主界面的实例并运行,使得界面能够显示出来。 8. 添加其他功能:可以进一步添加其他功能,例如清空收发区域的数据、保存接收数据到文件等。 通过上述步骤,我们可以实现一个简单的带界面的串口助手。当然,还可以根据具体需求添加更多的功能和优化界面设计。 ### 回答3: 使用Python编一个带界面的串口助手主要有以下步骤: 1. 导入必要的库:首先需要导入PySerial库,该库提供了操作串口的函数和方法。还需要导入Tkinter库,用于创建GUI界面。 2. 创建GUI界面:使用Tkinter库创建一个窗口,可以添加一些按钮、文本框、下拉框等界面元素。可以为这些元素设置相应的事件回调函数。 3. 配置串口参数:创建一个串口对象,使用PySerial库提供的函数设置串口的名称、波特率、数据位、校验位、停止位等参数。 4. 串口数据的收发:编读取和发送串口数据的函数。通过调用串口对象的方法,可以实现从串口读取数据并在界面上显示,以及将用户输入的数据发送到串口。 5. 添加事件回调函数:为界面上的各个按钮添加相应的事件回调函数,例如点击“打开串口”按钮时,调用打开串口的函数;点击“发送数据”按钮时,调用发送数据的函数。 6. 运行界面:在代码中加入主循环,使窗口保持运行状态,监听用户的操作。 编完成后,使用Python命令运行代码,即可打开一个带有界面的串口助手。用户可以通过界面上的按钮来打开串口、发送和接收数据,实现串口通信的功能。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值