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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript 实现文本转语音功能

全篇大概2000 字&#xff08;含代码&#xff09;&#xff0c;建议阅读时间10分钟。 引言 我将向大家展示如何使用 JavaScript 和 Web Speech API 快速实现一个“文本转语音”的 Web 应用。通过这个教程&#xff0c;你将了解如何让浏览器将输入的文本朗读出来。 预览效果 一、…

动态规划理论基础和习题【力扣】【算法学习day.25】

前言 ###我做这类文档一个重要的目的还是给正在学习的大家提供方向&#xff08;例如想要掌握基础用法&#xff0c;该刷哪些题&#xff1f;&#xff09;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关键点&#xff0c;力扣上的大佬们的题解质量是非常非常高滴&am…

Linux的基本指令(一)

1.ls指令 功能&#xff1a;对于目录&#xff0c;该命令列出该目录下的所有子目录与文件。对于文件&#xff0c;将列出文件名以及信息。 常用选项&#xff1a; -a列出目录下的所有文件&#xff0c;包括以 . 开头的隐含文件。 -l列出文件的详细信息 举例&#xff1a; rooti…

智能化健身房管理:Spring Boot与Vue的创新解决方案

作者介绍&#xff1a;✌️大厂全栈码农|毕设实战开发&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。 &#x1f345;获取源码联系方式请查看文末&#x1f345; 推荐订阅精彩专栏 &#x1f447;&#x1f3fb; 避免错过下次更新 Springboot项目精选实战案例 更多项目…

【Vue】简易博客项目跟做

项目框架搭建 1.使用vue create快速搭建vue项目 2.使用VC Code打开新生成的项目 端口号简单配置 修改vue.config.js文件&#xff0c;内容修改如下 所需库安装 npm install vue-resource --save --no-fund npm install vue-router3 --save --no-fund npm install axios --save …

Hadoop简介及单点伪分布式安装

目录 1. 大数据2. Hadoop简介3. Hadoop伪分布式安装4. Hadoop启动参考 1. 大数据 大数据的定义&#xff1a;一种规模大到在获取、存储、管理、分析方面大大超出传统数据库软件工具能力范围的数据集合。   特征&#xff1a;   1.海量的数据规模   2.快速的数据流转   3.…

windows server2019下载docker拉取redis等镜像并运行项目

一、基本概念 1、windows server 指由微软公司开发的“Windows”系列中的“服务器”版本。这意味着它是基于Windows操作系统的&#xff0c;但专门设计用于服务器环境&#xff0c;而不是普通的桌面或个人用户使用。主要用途包括服务器功能、用户和资源管理、虚拟化等 2、dock…

使用最新版的wvp和ZLMediaKit搭建Gb28181测试服务器

文章目录 说明安装1.安装nodejs简介安装步骤 2.安装java环境3.安装mysql安装修改密码 4.安装redis5.安装编译器6.安装cmake7.安装依赖库8.编译ZLMediaKit9.编译wvp-GB28181-pro 配置1.ZLMediaKit配置2.wvp-GB28181-pro配置2.1.配置ZLMediaKit连接信息2.2.28181服务器的配置2.3.…

Python程序设计 生成器

1. 基础概念 在讲迭代之前&#xff0c;先搞清楚这些名词&#xff1a; 循环&#xff08;loop&#xff09;&#xff0c;指的是在满足条件的情况下&#xff0c;重复执行同一段代码。比如&#xff0c;while 语句。迭代&#xff08;iterate&#xff09;&#xff0c;指的是按照某种…

mac m1 docker本地部署canal 监听mysql的binglog日志

mac m1 docker本地部署canal监听mysql的binglog日志(虚拟机同理) 根据黑马视频部署 1.docker 部署mysql 1.docker拉取mysql 镜像 因为m1是arm架构.需要多加一条信息 正常拉取 docker pull mysql:tagm1拉取 5.7的版本. tag需要自己指定版本 docker pull --platform linux/x…

[linux]docker基础

常见命令 Docker最常见的命令就是操作镜像、容器的命令&#xff0c;详见官方文档: Docker Docs 案例: 查看DockerHub&#xff0c;拉取Nginx镜像&#xff0c;创建并运行Nginx容器 在DockerHub中搜索Nginx镜像 拉取Nginx镜像 查看本地镜像列表 把镜像保持到本地 查看保持命令的…

C++builder中的人工智能(10)神经网络中的Sigmoid函数

在这篇文章中&#xff0c;我们将探讨最受欢迎的激活函数之一——Sigmoid函数。我们将解释什么是Logistic函数&#xff0c;以及它与Sigmoid函数的区别&#xff0c;并展示如何在C应用中使用这些函数。 目录 人工神经网络&#xff08;ANN&#xff09;中的激活函数是什么&#xff…

cursor:如何注销帐号和使用流量

点击右上角的设定图标 点击管理 在弹出的网页点登入 点”continue" 点SETING 了解最新信息请扫码关注&#xff1a;

如何选择适合小团队的项目管理工具?免费与开源软件推荐

目录 一、小团队项目管理工具的重要性 二、热门项目管理工具介绍 &#xff08;一&#xff09;禅道 &#xff08;二&#xff09;Trello &#xff08;三&#xff09;Asana &#xff08;四&#xff09;JIRA 三、免费项目管理软件推荐 &#xff08;一&#xff09;ES 管理器 …

Scaffold-ETH 2:颠覆传统开发的区块链神器,快速构建你的去中心化应用!

目录 引言一、Scaffold-eth框架二、前期准备三、搭建Scaffold-ETH 2&#xff08;一&#xff09;使用npx create-ethlatest进行设置&#xff08;二&#xff09;使用git clone进行设置1、克隆仓库&#xff1a;2、进入到此目录3、安装依赖项 四、配置Scaffold ETH-2的开发环境&…

kafka+zookeeper的搭建

kafka从2.8版本开始&#xff0c;就可以不用配置zookeeper了&#xff0c;但是也可以继续配置。我目前使用的kafka版本是kafka_2.12-3.0.0.tgz&#xff0c;其中前面的2.12表示是使用该版本的scala语言进行编写的&#xff0c;而后面的3.00才是kafka当前的版本。 通过百度网盘分享…

恢复rm -rf删除的数据

注&#xff1a;本文演示的是ext4文件系统格式数据恢复 系统版本&#xff1a;ubuntu16.04 恢复数据目录&#xff1a;数据盘&#xff08;非根&#xff09;目录 恢复工具&#xff1a;extundelete 0.2.4 恢复所有被删除数据 ext4magic 恢复指定目录数据 一、注意事项&#xff1a; …

Elasticsearch(三):Elasticvue使用及DSL执行新增、查询操作

Elasticvue使用及DSL执行CURD 1 概述2 什么是Elasticsearch DSL3 基本结构4 客户端工具介绍4.1 索引介绍4.2 创建简单索引4.3 创建相对完整的索引4.4 插入数据4.4.1 基本插入操作4.4.2 批量插入操作 5 常用的DSL查询类型5.1 match查询5.1.1 match工作原理5.1.2 operator 参数5.…

静态库、动态库、framework、xcframework、use_frameworks!的作用、关联核心SDK工程和测试(主)工程、设备CPU架构

1.1库的概念 库&#xff1a;程序代码的集合&#xff0c;编译好的二进制文件加上头文件供使用&#xff0c;共享程序代码的一种方式。 1.2库的分类 根据开源情况分为&#xff1a;开源库&#xff08;能看到具体实现&#xff09;、闭源库&#xff08;只公开调用的的接口&#xf…

C++【string类,模拟实现string类】

&#x1f31f;个人主页&#xff1a;落叶 &#x1f31f;当前专栏: C专栏 目录 为什么学习string类 C语言中的字符串 标准库中的string类 auto和范围for auto关键字 迭代器 范围for string类的常用接口说明和使用 1. string类对象的常见构造 2.string类对象的容量操作 3…