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

引言

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/909592.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第二届计算机网络技术与电子信息工程国际学术会议(CNTEIE 2024,12月6-8日)

第二届计算机网络技术与电子信息工程国际学术会议&#xff08;CNTEIE 2024&#xff09; 2024 2nd International Conference on Computer Network Technology and Electronic and Information Engineering 官方信息 会议官网&#xff1a;www.cnteie.org 2024 2nd Internation…

A013-基于SpringBoot的宽带业务管理系统的设计与实现

&#x1f64a;作者简介&#xff1a;在校研究生&#xff0c;拥有计算机专业的研究生开发团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339; 赠送计算机毕业设计600…

「C/C++」C/C++标准库 之 #include<cstddef> 常用定义和宏

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「C/C」C/C程序设计&#x1f4da;全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…

Vue3-子传父

1. 主组件 App.vue&#xff08;父组件&#xff09; 在 App.vue 中&#xff0c;我们先引入了子组件 SonCom&#xff0c;这个小家伙将在父组件中出场。 接着&#xff0c;我们写了一个叫 getMessage 的函数。这个函数的任务很简单——接收子组件传来的消息&#xff0c;然后用 con…

网络--传输层协议--TCP

1、TCP协议的特性 面向连接(需要建立连接,才能继续通信) 面向字节流的一对一通信模式 通过流量控制和拥塞控制 -> 确保可靠传输 报头大小20字节(若带选项,最大60字节) 2、TCP报文字段 16位源端口号 和 16位目的端口号 -- 2 + 2 = 4 字节 32位序号 和 32位确认序…

【Python】计算机视觉应用:OpenCV库图像处理入门

计算机视觉应用&#xff1a;OpenCV库图像处理入门 在当今的数字化时代&#xff0c;计算机视觉&#xff08;Computer Vision&#xff09;已经渗透到各行各业&#xff0c;比如自动驾驶、智能监控、医疗影像分析等。而 Python 的 OpenCV 库&#xff08;Open Source Computer Visi…

【Ai测评】GPT Search偷偷上线,向Google和微软发起挑战!

最近&#xff0c;OpenAI 又推出了一个令人兴奋的新功能——GPT Search&#xff0c;已经正式上线了&#xff01; 功能介绍 GPT Search&#xff1a;为你带来全新搜索体验 目前&#xff0c;桌面端和移动端应用程序已经全面上线&#xff0c;所有 GPT Plus 和 Team 用户都可以立即…

iOS用rime且导入自制输入方案

iPhone 16 的 cantonese 只能打传统汉字&#xff0c;没有繁简转换&#xff0c;m d sh d。考虑用「仓」输入法 [1] 使用 Rime 打字&#xff0c;且希望导入自制方案 [2]。 仓输入法有几种导入方案的方法&#xff0c;见 [3]&#xff0c;此处记录 wifi 上传法。准备工作&#xff1…

【数据结构】算法的时间复杂度和空间复杂度

写在前面 在我们学习数据结构之前&#xff0c;我们肯定就听过某某大神说&#xff0c;我的排序算法的时间复杂度只需要O(logN)&#xff0c;空间复杂度只需要O(1)…听的好唬人&#xff0c;但是实际也真牛。那其中时间复杂度和空间复杂度是什么呢&#xff1f;不才这篇笔记就深入讲…

基于MATLAB的农业病虫害识别研究

matlab有处理语音信号的函数wavread&#xff0c;不过已经过时了&#xff0c;现在处理语音信号的函数名称是audioread选取4.wav进行处理&#xff08;只有4的通道数为1&#xff09; 利用hamming窗设计滤波器 Ham.m function [N,h,H,w] Ham(fp,fs,fc)wp 2*pi*fp/fc;ws 2*pi*…

MongoDB基础介绍以及从0~1语法介绍

目录 MongoDB 教程导读 NoSQL 简介 关系型数据库遵循ACID规则 分布式系统 分布式计算的优点 分布式计算的缺点 什么是NoSQL? 为什么使用NoSQL ? RDBMS vs NoSQL NoSQL 简史 CAP定理&#xff08;CAP theorem&#xff09; NoSQL的优点/缺点 BASE ACID vs BASE N…

Oracle简介、环境搭建和基础DML语句

第一章 ORACLE 简介 1.1 什么是 ORACLE ORACLE数据库系统是美国ORACLE 公司&#xff08;甲骨文&#xff09;提供的以分布式数据库为核心的一组软件产品&#xff0c;是目前最流行的客户/服务器体系结构的数据库之一。 英文官网&#xff1a;Database | Oracle 中文官网&#xff…

前端好用的网站分享——CSS(持续更新中)

1.CSS Scan 点击进入CSS Scan CSS盒子阴影大全 2.渐变背景 点击进入color.oulu 3.CSS简化压缩 点击进入toptal 4.CSS可视化 点击进入CSS可视化 这个强推&#xff0c;话不多说&#xff0c;看图! 5.Marko 点击进入Marko 有很多按钮样式 6.getwaves 点击进入getwaves 生…

黑马官网2024最新前端就业课V8.5笔记---HTML篇

Html 定义 HTML 超文本标记语言——HyperText Markup Language。 标签语法 标签成对出现&#xff0c;中间包裹内容<>里面放英文字母&#xff08;标签名&#xff09;结束标签比开始标签多 /拓展 &#xff1a; 双标签&#xff1a;成对出现的标签 单标签&#xff1a;只有开…

6:arm condition code flags详细的讲解

目录 6.1 arm的 condition code flag 的详细讲解 6.1.1C 6.1.2Z 6.1.3N 6.1.4V 6.1 arm的 condition code flag 的详细讲解 在这篇文章中&#xff0c;我更加严格与严谨的讲解一下 arm的四个condition code flags&#xff0c;因为这个在汇编中还是非常重要的。 6.1.1C 在…

其他节点使用kubectl访问集群,kubeconfig配置文件 详解

上述两种方式&#xff1a;可使用kubectl连接k8s集群。 $HOME/.kube/config 是config文件默认路径&#xff0c;要么直接定义环境变量&#xff0c;要么就直接把文件拷过去 config文件里面&#xff0c;定义了context&#xff0c;里面指定了用户和对应的集群信息&#xff1a; ku…

新世联科技:NG2-A-7在DAC空气捕集提取CO2的应用

一、DAC空气捕集提取CO2的介绍 直接空气碳捕获&#xff08;Direct Air Capture&#xff0c;简称DAC&#xff09;是一种直接从大气中提取二氧化碳的技术。 二、DAC空气捕集提取CO2的前景 从大气中提取的这种二氧化碳可以作为循环经济的一部分以各种不同方式使用。未来&#xf…

十四届蓝桥杯STEMA考试Python真题试卷第二套第五题

来源:十四届蓝桥杯STEMA考试Python真题试卷第二套编程第五题 本题属于迷宫类问题,适合用DFS算法解决,解析中给出了Python中 map() 和列表推导式的应用技巧。最后介绍了DFS算法的两种常见实现方式——递归实现、栈实现,应用场景——迷宫类问题、图的连通性、树的遍历、拓朴排…

js WebAPI黑马笔记(万字速通)

此笔记来自于黑马程序员&#xff0c;pink老师yyds 复习&#xff1a; splice() 方法用于添加或删除数组中的元素。 注意&#xff1a; 这种方法会改变原始数组。 删除数组&#xff1a; splice(起始位置&#xff0c; 删除的个数) 比如&#xff1a;1 let arr [red, green, b…

【C++】踏上C++学习之旅(五):auto、范围for以及nullptr的精彩时刻(C++11)

文章目录 前言1. auto关键字&#xff08;C11&#xff09;1.1 为什么要有auto关键字1.2 auto关键字的使用方式1.3 auto的使用细则1.4 auto不能推导的场景 2. 基于范围的for循环&#xff08;C11&#xff09;2.1 范围for的语法2.2 范围for的使用条件 3. 指针空值nullptr&#xff0…