ThingsBoard规则链节点:Push to Edge节点详解

devtools/2024/11/7 6:47:36/

引言

1. Push to Edge 节点简介

2. 节点配置

2.1 基本配置示例

3. 使用场景

3.1 边缘计算

3.2 本地数据处理

3.3 实时响应

4. 实际项目中的应用

4.1 项目背景

4.2 项目需求

4.3 实现步骤

5. 总结


引言

ThingsBoard 是一个开源的物联网平台,提供了设备管理、数据收集、处理和可视化等功能。规则链是 ThingsBoard 中的一个强大功能,允许用户定义复杂的业务逻辑来处理设备上报的数据。在规则链中,Push to Edge 节点用于将数据推送到边缘设备,这对于实现边缘计算和本地数据处理非常有用。

ThingsBoard从入门到实战课程,深入透析底层原理,快速搭建自己的IOT平台_哔哩哔哩_bilibiliThingsBoard从入门到实战课程,深入透析底层原理,快速搭建自己的IOT平台共计33条视频,包括:1、ThingsBoard项目介绍、2、ThingsBoard前端Vue版本代码编译、3、ThingsBoard本地后端源码编译等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1CH36egEDM/?spm_id_from=333.999.0.0 

1. Push to Edge 节点简介

Push to Edge 节点的主要作用是在规则链执行过程中将数据推送到边缘设备。通过 Push to Edge 节点,可以将处理后的数据发送到边缘设备,实现在边缘侧进行进一步的处理和决策。这在边缘计算、本地数据处理和实时响应中非常有用。

2. 节点配置
  • Edge设备:选择目标边缘设备,可以是已经注册在ThingsBoard中的边缘设备。
  • 消息类型:指定要发送的消息类型,常见的有 POST_TELEMETRYRPC_CALL 等。
  • 消息内容:设置要发送的消息内容,可以是静态值、动态表达式或消息中的属性。
2.1 基本配置示例
{"edge": "EdgeDevice1","messageType": "POST_TELEMETRY","data": {"temperature": "${msg.temperature}","humidity": "${msg.humidity}"}
}
3. 使用场景

Push to Edge 节点在多种场景下都非常有用,特别是在需要实现边缘计算、本地数据处理和实时响应时。以下是一些具体的应用场景:

3.1 边缘计算

在边缘计算中,需要将部分数据处理任务从云端下放到边缘设备,以减少网络延迟和带宽消耗。

{"edge": "EdgeDevice1","messageType": "POST_TELEMETRY","data": {"temperature": "${msg.temperature}","humidity": "${msg.humidity}"}
}
3.2 本地数据处理

在某些场景下,需要在边缘设备上进行本地数据处理,例如实时数据分析和异常检测。

{"edge": "EdgeDevice1","messageType": "RPC_CALL","method": "processData","params": {"data": "${msg.data}"}
}
3.3 实时响应

在实时响应中,需要将处理后的数据快速推送到边缘设备,以便进行即时的控制和决策。

{"edge": "EdgeDevice1","messageType": "RPC_CALL","method": "controlDevice","params": {"action": "turnOn"}
}
4. 实际项目中的应用

下面是一个实际项目中的例子,展示如何在智能工厂监控系统中使用 Push to Edge 节点。

4.1 项目背景

假设我们正在开发一个智能工厂监控系统,该系统需要实时监测生产线上的设备状态,并在边缘设备上进行本地数据处理和实时响应。此外,还需要将处理后的数据发送到云端进行进一步的分析和存储。

4.2 项目需求
  • 监测生产线上的设备状态。
  • 在边缘设备上进行本地数据处理和异常检测。
  • 将处理后的数据发送到云端进行进一步的分析和存储。
  • 实现实时响应,例如控制设备的开关状态。
4.3 实现步骤
  1. 部署传感器

    • 在生产线上安装传感器,实时采集设备状态数据。
  2. 创建规则链

    • 添加 Push to Edge 节点,将数据推送到边缘设备。
    • 添加其他处理节点,如数据处理、异常检测和数据存储。
  3. 配置规则链

    • 配置 Push to Edge 节点,将设备状态数据推送到边缘设备。
{"edge": "EdgeDevice1","messageType": "POST_TELEMETRY","data": {"temperature": "${msg.temperature}","humidity": "${msg.humidity}","pressure": "${msg.pressure}"}
}
  • 配置 Push to Edge 节点,调用边缘设备上的RPC方法进行数据处理和异常检测。
{"edge": "EdgeDevice1","messageType": "RPC_CALL","method": "processData","params": {"data": "${msg.data}"}
}
  1. 处理数据
    • 在边缘设备上进行本地数据处理和异常检测。
    • 如果检测到异常情况,立即采取措施,例如停止设备运行。
// 边缘设备上的RPC方法
public void processData(Map<String, Object> data) {double temperature = (double) data.get("temperature");double humidity = (double) data.get("humidity");double pressure = (double) data.get("pressure");if (temperature > 80 || humidity > 70 || pressure > 100) {// 检测到异常情况,立即停止设备运行stopDevice();}
}
  1. 实时响应
    • 根据处理结果,控制设备的开关状态。
{"edge": "EdgeDevice1","messageType": "RPC_CALL","method": "controlDevice","params": {"action": "turnOn"}
}
  1. 前端界面

    • 开发一个前端界面,显示实时的设备状态和处理结果。
    • 提供一个界面,让用户能够查看和管理设备的开关状态。
  2. 数据查询

    • 使用 ThingsBoard 的 REST API 或 GraphQL 查询,获取历史数据和处理结果。
GET /api/plugins/telemetry/DEVICE/{deviceId}/values/timeseries?keys=temperature,humidity,pressure&startTs={startTimestamp}&endTs={endTimestamp}
5. 总结

Push to Edge 节点在 ThingsBoard 规则链中是一个非常有用的工具,可以帮助将数据推送到边缘设备,实现在边缘侧进行进一步的处理和决策。通过合理地使用 Push to Edge 节点,可以更好地管理和自动化系统中的各种操作。无论是在智能工厂、工业监控还是其他物联网应用中,Push to Edge 节点都能发挥重要作用。

 🌐 项目地址

Things Vueicon-default.png?t=O83Ahttp://thingsvue.tpson.cn:7772/#/login?redirect=/tb-home/index

账号:admin@thingsboard.org 
密码:admin123456
🎽 安装使用

获取项目代码:

代码地址​icon-default.png?t=O83Ahttps://gitee.com/tpsonwell_admin/thingsvue


http://www.ppmy.cn/devtools/131945.html

相关文章

Django替换现有用户模型(auth_user)

当Django现有的用户模型信息不满足我们的需求时&#xff0c;可以建立另一个数据模型来替代现有的。 一、设置settings文件 AUTH_USER_MODELaccounts.User 在settings文件中配置上述信息&#xff0c;引号内为&#xff1a;模块名.数据模型名 二、继承AbstractUser 在要替代au…

ServletContext,Cookie,HttpSession的使用

ServletContext对象 ServletContext对象官方也称servlet上下文。服务器会为每一个Web应用创建一个ServletContext对象&#xff0c;这个对象全局唯一&#xff0c;而且Web应用中所有的Servlet都共享这个对象。 ServletContext对象的作用 相对路径转绝对路径 servletContext.g…

RabbitMQ自动发送消息工具(自动化测试RabbitMQ)

点击下载《RabbitMQ自动发送消息工具(自动化测试RabbitMQ)》 1. 前言 在现代分布式系统中&#xff0c;消息队列扮演着至关重要的角色&#xff0c;用于在不同的服务或组件之间传递数据。RabbitMQ作为一个流行的开源消息代理软件&#xff0c;被广泛用于实现异步通信、负载均衡和…

【系统架构设计师】2024年上半年真题论文: 论云上自动化运维级其应用(包括解题思路和素材)

更多内容请见: 备考系统架构设计师-专栏介绍和目录 文章目录 真题题目(2024年上半年 试题4)解题思路1、CloudOps 的定义与主要衡量指标2、衡量 CloudOps 成熟度的五大维度论文素材参考真题题目(2024年上半年 试题4) 云上自动化运维是传统IT运维和DevOps的延伸,通过云原生…

虚拟现实辅助工程技术如何加速汽车设计与制造

汽车行业正面临着以超常速度进行创新的压力&#xff0c;以满足新出现的环境、技术和社会需求。这就要求产品开发具有极高的效率和准确性。传统的汽车产品开发周期通常依赖于大量的物理原型和实际测试。这些设计周期冗长、成本高昂、资源密集&#xff0c;当需要更改设计时&#…

行业人才缺口达百万,无人机“飞手”之渴如何解?0基础无人机学习技术详解

针对无人机“飞手”行业人才缺口达百万的问题&#xff0c;以下是对如何缓解这一缺口以及0基础学习无人机技术的详细解析&#xff1a; 一、缓解无人机“飞手”人才缺口的方法 1. 产教融合&#xff1a; 通过校企合作、产教融合等方式&#xff0c;培养具备实战能力的无人机“飞手…

C学习(6)

字节&#xff08;Byte&#xff09;: 一个字节由8个相邻的二进制位组成&#xff0c;每个位由0或1组成。字节是计算机技术中最小的可操作存储单位。一个字节的整数范围是0~255 整数 int int类型的大小。比较常见的是使用4个字节&#xff08;32位&#xff09;存储一个int类型的值…

什么是任天堂Switch卡带

任天堂Switch卡带&#xff0c;是任天堂Switch游戏机专用的物理游戏媒介&#xff0c;其设计独特且功能丰富。以下是对任天堂Switch卡带的详细解读&#xff1a; 设计与构造 任天堂Switch卡带呈现出一种独特的方形设计&#xff0c;这种设计不仅便于携带&#xff0c;还具有一定的…