当前位置: 首页 > news >正文

ThingsBoard规则链节点:GPS Geofencing Events节点详解

引言

1. GPS Geofencing Events 节点简介

2. 节点配置

3. 使用场景

3.1 物流跟踪

3.2 资产管理

3.3 安全监控

3.4 农业监测

4. 实际项目中的应用

4.1 项目背景

4.2 项目需求

4.3 实现步骤

5. 总结


引言

GPS Geofencing Events 是 ThingsBoard 规则链中的一个重要节点,用于处理基于地理位置的事件。通过这个节点,可以定义地理围栏(Geofence),并检测设备是否进入或离开这些围栏区域。

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. GPS Geofencing Events 节点简介

GPS Geofencing Events 节点的主要作用是根据设备的位置数据,判断设备是否进入或离开预定义的地理围栏区域,并触发相应的事件。这种功能在物流跟踪、资产管理、安全监控等领域非常有用。

2. 节点配置
  • Geofences:定义一个或多个地理围栏区域。每个地理围栏由一个名称和一组多边形坐标组成。
  • Event Types:选择需要触发的事件类型,如 ENTER 和 LEAVE
  • Device ID or Device Attribute:指定用于获取设备位置信息的设备ID或设备属性。
  • Output Metadata:设置输出消息的元数据,以便后续节点使用。
3. 使用场景

GPS Geofencing Events 节点在多种场景下都非常有用,特别是在需要基于地理位置进行监控和管理时。以下是一些具体的应用场景:

3.1 物流跟踪

在物流行业中,可以通过地理围栏来监控货物的运输情况。例如:

  • 当货车进入某个仓库区域时,触发入库事件。
  • 当货车离开某个仓库区域时,触发出库事件。
{"geofences": [{"name": "Warehouse A","coordinates": [[37.7749, -122.4194],[37.7750, -122.4195],[37.7751, -122.4196],[37.7752, -122.4197]]}],"eventTypes": ["ENTER", "LEAVE"],"deviceId": "${device.id}","outputMetadata": {"geofenceName": "${geofence.name}","eventType": "${event.type}"}
}
3.2 资产管理

在资产管理中,可以通过地理围栏来监控重要资产的位置。例如:

  • 当贵重设备被移动到未经授权的区域时,触发警报。
  • 当设备从维修区域返回到正常工作区域时,记录维护完成事件。
{"geofences": [{"name": "Authorized Area","coordinates": [[37.7749, -122.4194],[37.7750, -122.4195],[37.7751, -122.4196],[37.7752, -122.4197]]},{"name": "Maintenance Area","coordinates": [[37.7755, -122.4198],[37.7756, -122.4199],[37.7757, -122.4200],[37.7758, -122.4201]]}],"eventTypes": ["ENTER", "LEAVE"],"deviceId": "${device.id}","outputMetadata": {"geofenceName": "${geofence.name}","eventType": "${event.type}"}
}
3.3 安全监控

在安全监控中,可以通过地理围栏来监控人员或车辆的活动。例如:

  • 当有人进入禁区时,触发警报。
  • 当有车辆离开停车场时,记录离场时间。
{"geofences": [{"name": "Restricted Area","coordinates": [[37.7749, -122.4194],[37.7750, -122.4195],[37.7751, -122.4196],[37.7752, -122.4197]]},{"name": "Parking Lot","coordinates": [[37.7755, -122.4198],[37.7756, -122.4199],[37.7757, -122.4200],[37.7758, -122.4201]]}],"eventTypes": ["ENTER", "LEAVE"],"deviceId": "${device.id}","outputMetadata": {"geofenceName": "${geofence.name}","eventType": "${event.type}"}
}
3.4 农业监测

在农业领域,可以通过地理围栏来监控牲畜的活动范围。例如:

  • 当牲畜进入或离开特定区域时,记录其活动轨迹。
  • 当牲畜离开放牧区域时,发送通知给农场主。
{"geofences": [{"name": "Grazing Area","coordinates": [[37.7749, -122.4194],[37.7750, -122.4195],[37.7751, -122.4196],[37.7752, -122.4197]]}],"eventTypes": ["ENTER", "LEAVE"],"deviceId": "${device.id}","outputMetadata": {"geofenceName": "${geofence.name}","eventType": "${event.type}"}
}
4. 实际项目中的应用

下面是一个实际项目中的例子,展示如何在智能物流系统中使用 GPS Geofencing Events 节点。

4.1 项目背景

假设我们正在开发一个智能物流系统,该系统需要实时监控货车的位置,并在货车进入或离开仓库区域时触发相应的事件。此外,还需要记录货车的进出时间,并发送通知给相关人员。

4.2 项目需求
  • 监控货车的位置。
  • 当货车进入或离开仓库区域时,触发相应事件。
  • 记录货车的进出时间。
  • 发送通知给相关人员。
4.3 实现步骤
  1. 定义地理围栏
    • 创建一个地理围栏,表示仓库区域。
{"name": "Warehouse A","coordinates": [[37.7749, -122.4194],[37.7750, -122.4195],[37.7751, -122.4196],[37.7752, -122.4197]]
}
  1. 创建规则链

    • 添加 GPS Geofencing Events 节点,配置地理围栏和事件类型。
    • 添加后续节点,处理触发的事件,如记录时间和发送通知。
  2. 配置规则链

    • 配置 GPS Geofencing Events 节点,设置地理围栏和事件类型。
{"geofences": [{"name": "Warehouse A","coordinates": [[37.7749, -122.4194],[37.7750, -122.4195],[37.7751, -122.4196],[37.7752, -122.4197]]}],"eventTypes": ["ENTER", "LEAVE"],"deviceId": "${device.id}","outputMetadata": {"geofenceName": "${geofence.name}","eventType": "${event.type}"}
}
  1. 处理事件
    • 当货车进入仓库区域时,记录进入时间,并发送通知给相关人员。
    • 当货车离开仓库区域时,记录离开时间,并发送通知给相关人员。
// 进入仓库
{"type": "SEND_EMAIL","to": "logistics@company.com","subject": "Truck Entered Warehouse A","body": "Truck with ID ${device.id} has entered Warehouse A at ${ts}."
}// 离开仓库
{"type": "SEND_EMAIL","to": "logistics@company.com","subject": "Truck Left Warehouse A","body": "Truck with ID ${device.id} has left Warehouse A at ${ts}."
}
  1. 前端界面

    • 开发一个前端界面,显示货车的实时位置和历史轨迹。
    • 提供一个界面,让用户能够查看和管理地理围栏。
  2. 数据查询

    • 使用 ThingsBoard 的 REST API 或 GraphQL 查询,获取货车的历史轨迹和进出记录。
GET /api/plugins/telemetry/DEVICE/{deviceId}/values/timeseries?keys=latitude,longitude&startTs={startTimestamp}&endTs={endTimestamp}
5. 总结

GPS Geofencing Events 节点在 ThingsBoard 规则链中是一个非常强大的工具,可以帮助你基于地理位置进行监控和管理。通过合理地使用这个节点,你可以更好地管理和自动化系统中的各种操作。无论是在物流跟踪、资产管理、安全监控还是农业监测等方面,GPS Geofencing Events 节点都能发挥重要作用。

相关文章:

ThingsBoard规则链节点:GPS Geofencing Events节点详解

引言 1. GPS Geofencing Events 节点简介 2. 节点配置 3. 使用场景 3.1 物流跟踪 3.2 资产管理 3.3 安全监控 3.4 农业监测 4. 实际项目中的应用 4.1 项目背景 4.2 项目需求 4.3 实现步骤 5. 总结 引言 GPS Geofencing Events 是 ThingsBoard 规则链中的一个重要节…...

Jmeter基础篇(19)JSR223预处理器

前言 JSR223预处理器是Apache JMeter中的一个组件,它允许用户使用任何支持Java Scripting API (JSR 223) 的脚本语言来执行预处理任务。这个功能非常强大,因为它让测试人员能够利用如Groovy、JavaScript(Nashorn引擎)、BeanShell…...

通过js控制css变量

在JavaScript中,你可以通过操作CSS变量(也称为自定义属性)来动态改变样式。CSS变量在CSS中使用 – 前缀定义,例如 --main-color: red;。在JavaScript中,你可以使用 document.documentElement.style.setProperty 方法来…...

Docker:容器化和虚拟化

虚拟化 虚拟化是一种资源管理技术,它将计算机的各种实体资源(如CPU、内存、磁盘空间、网络适配器等)予以抽象、转换后呈现出来,并可供分割、组合为一个或多个电脑配置环境。这些资源的新虚拟部分是不受现有资源的架设方式、地域或…...

OpenSSL

OpenSSL 概述 OpenSSL 是一个开源的、安全传输协议实现工具,广泛应用于数据加密与解密、证书生成与管理以及其他安全性相关的任务。在现代网络安全中,OpenSSL 被用于构建和维护 SSL/TLS 通信,确保数据在传输过程中的机密性和完整性。 简单来…...

CSS 常见选择器

1. 基础选择器 元素选择器 选择所有指定类型的 HTML 元素。 p {color: blue; }选择所有 p 标签,并将文字颜色设为蓝色。 类选择器 选择带有特定类名的元素,类名前加 .。 .container {margin: 20px; }选择类名为 container 的所有元素。 ID 选择器 选…...

Linux使用Dockerfile部署Tomcat以及jdk

资源准备 首先提供本教程所有资源包。 当然也可以根据自己需求去官网下载。 链接:百度网盘 请输入提取码 提取码:f31y #我们开始吧 首先我们需要一台linux操作系统的机器,当然windows也是可以的,本系列教程是基于Linux的&#…...

LC20. 有效的括号

用来熟悉一下栈的应用之括号匹配 题目链接 下面是大致思路 1.初始化:创建一个空栈,用于存储左括号。(LC这题不用,自己写完整的需要) 2.遍历字符串:从左到右依次扫描字符串中的每个字符。 3.处理左括号:如果是左括号,将其压入栈中。 4.处理右…...

基于springboot企业微信SCRM管理系统源码带本地搭建教程

系统是前后端分离的架构,前端使用Vue2,后端使用SpringBoot2。 技术框架:SpringBoot2.0.0 Mybatis1.3.2 Shiro swagger-ui jpa lombok Vue2 Mysql5.7 运行环境:jdk8 IntelliJ IDEA maven 宝塔面板 系统与功能介绍 基…...

【MTMSA】不确定缺失模态下基于情态翻译的多模态情感分析

MTMSA是基于TATE改进的,大致框架都和他一样,区别在于MTMSA没有提到tag,并且在多头注意力的部分进行了改进,也就是文中模态翻译模块,此外还加了两个损失函数。在TATE中有一章是不同设置的影响,里面有多个证明…...

【php常用公共函数】php获取指定时间段中有那几年并输出年份的起始时间和结束时间

php获取指定时间段中有那几年并输出年份的起始时间和结束时间 实现思路实现代码输出结果 实现思路 解析输入的时间:将输入的时间字符串转换为DateTime对象。计算年份范围:从开始年份到结束年份,生成一个包含所有年份的数组。输出年份的起始和…...

CTF-PWN: 什么是_IO_FILE?

重要概念:fopen()返回的是一个结构体的指针 _IO_FILE 结构体在什么时候被创建? _IO_FILE 结构体的实例是在程序使用标准 I/O 函数(如 fopen、fclose、fread、fwrite 等)时创建和管理的。这个结构体实际上是 GNU C Library (glibc) 用于处理…...

前端八股文第二篇

11.事件循环 事件循环(Event Loop)是 JavaScript 运行时中的一种机制,用于处理异步操作和事件驱动的编程。在浏览器环境中,事件循环是指浏览器通过事件队列(Event Queue)来管理和调度异步任务的执行顺序。…...

springboot汽车保修服务管理系统-计算机毕业设计源码00052

摘 要 随着汽车数量的不断增加和汽车保修服务需求的日益增长,建立一套高效的汽车保修服务管理系统变得至关重要。基于Spring Boot框架的汽车保修服务管理系统旨在整合汽车保修流程,简化管理流程,提高服务质量和用户体验未来,我们将…...

分布式架构搭建博客网站

目录 运行环境基础配置需求准备工作配置静态ip修改主机名及host映射开启防火墙时间同步配置免密ssh登录 环境搭建Server-Web端安装LNMP环境软件Server-NFS-DNS端上传博客软件Server-NFS-DNS端设置NFS共享Server-Web设置挂载远程共享目录nginx设置在数据库中创建数据库和用户重启…...

python-opencv给图片或视频去水印

文章目录 引言inpaint函数的使用方法鼠标事件回调函数cv2.setMouseCallback介绍去水印步骤实现代码 引言 本文主要基于cv2.inpaint函数实现图片的水印去除。 inpaint函数基于图像修复算法,通过对缺陷区域周围像素的分析和插值,生成合适的像素值来填充缺…...

免费送源码:Java+ssm+Springboot Springboot手办定制销售系统 计算机毕业设计原创定制

Springboot手办定制销售系统 摘 要 随着人们生活水平的提高和互联网的发展,人们消费思想和消费方式的逐渐改变,使得消费者开始追求自身品味和个性。手办定制就是在这种条件下应运而生。手办定制是基于客户需求来定制产品,满足客户对其功能、结…...

卡夫卡的使用

关于消息队列的使用 一、消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveM…...

mac|maven项目在idea中连接redis

安装maven brew install maven idea-setting导入redis插件 idea新建maven项目 构建系统选择maven 项目右侧数据库图标导入redis 新建一个数据库&#xff0c;名称必须为数字&#xff0c;测试一下是否可以连接&#xff0c;连接成功后选择确定 pom.xml导入redis <depende…...

Python基础学习------第一天

print("hello world") 1.括号和引号&#xff0c;必须使用的是英文 被双引号包围起来的称为字符串。 python注释&#xff1a;单行注释&#xff1a;1.井号# 2.多行注释 &#xff1a;""" """ print输出多个内容是中间用逗号隔开就好…...

别再死记硬背SMO公式了!用Python手写一个SVM分类器,带你一步步拆解SMO核心逻辑

用Python手写SVM分类器&#xff1a;代码驱动理解SMO算法核心在机器学习领域&#xff0c;支持向量机(SVM)以其优秀的分类性能和坚实的数学基础著称。然而&#xff0c;许多学习者在理解其核心算法——序列最小优化(SMO)时&#xff0c;往往被复杂的数学推导所困扰。本文将采用一种…...

基于ESP32与MQTT的家庭环境监测系统:从传感器选型到数据可视化实战

1. 项目概述与核心价值最近几年&#xff0c;我身边越来越多的朋友开始关注家里的空气质量、温湿度这些看不见摸不着&#xff0c;但又实实在在影响生活舒适度和健康的环境指标。从新装修的房子担心甲醛&#xff0c;到有老人小孩的家庭在意PM2.5和二氧化碳浓度&#xff0c;再到南…...

随机森林算法在儿童出行方式预测中的实战应用与优化

1. 项目概述&#xff1a;用随机森林预测孩子怎么上学做城市交通规划或者做家长接送方案的时候&#xff0c;你肯定想过一个问题&#xff1a;孩子们到底是怎么上学的&#xff1f;是走路、骑车、坐公交还是家长开车送&#xff1f;这个问题看似简单&#xff0c;背后却牵扯到城市规划…...

差分隐私GDP机制紧密度量化:从隐私剖面到∆度量的实践指南

1. 差分隐私GDP机制&#xff1a;从理论到实践&#xff0c;如何量化隐私保护紧密度在差分隐私&#xff08;Differential Privacy, DP&#xff09;的实际部署中&#xff0c;尤其是在机器学习的隐私保护训练&#xff08;如DP-SGD&#xff09;场景里&#xff0c;我们常常面临一个核…...

ZMJS,把 JavaScript 解释器放进 SAP ABAP 应用服务器之后,很多扩展思路会变得不一样

我今天看这个 oisee/zmjs 仓库时,最吸引人的不是它把 JavaScript 语法做进了 ABAP,而是它选择了一条非常 SAP 的路线,纯 ABAP、无外部依赖、无 Kernel Module、以类和接口的形式运行在 SAP 应用服务器内部。仓库自己的定位很直接,ZMJS 是一个面向 SAP ABAP 的 Mini JavaScr…...

理想二极管控制器:用MOSFET实现毫伏级压降的电源管理方案

1. 理想二极管控制器&#xff1a;告别传统二极管的压降损耗 在电源设计、电池保护、太阳能板并联这些领域里&#xff0c;二极管是个再常见不过的元件。我们用它来防反接、做整流、实现“或”逻辑供电&#xff0c;几乎不假思索。但如果你设计过一个需要处理大电流、低电压的系统…...

解锁你的音乐收藏:浏览器端音频解密完整指南

解锁你的音乐收藏&#xff1a;浏览器端音频解密完整指南 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库&#xff1a; 1. https://github.com/unlock-music/unlock-music &#xff1b;2. https://git.unlock-music.dev/um/web 项目地址: https://gitcod…...

DeTikZify:基于AI的TikZ图形程序自动生成技术深度解析

DeTikZify&#xff1a;基于AI的TikZ图形程序自动生成技术深度解析 【免费下载链接】DeTikZify Synthesizing Graphics Programs for Scientific Figures and Sketches with TikZ. 项目地址: https://gitcode.com/gh_mirrors/de/DeTikZify DeTikZify是一款革命性的多模态…...

当B站字幕不再只是弹幕:你的个人学习宝库解锁指南

当B站字幕不再只是弹幕&#xff1a;你的个人学习宝库解锁指南 【免费下载链接】BiliBiliCCSubtitle 一个用于下载B站(哔哩哔哩)CC字幕及转换的工具; 项目地址: https://gitcode.com/gh_mirrors/bi/BiliBiliCCSubtitle 还记得那个深夜吗&#xff1f;你正在B站追着某个技术…...

Windows 11终极优化指南:一键清理系统,释放51%性能潜力

Windows 11终极优化指南&#xff1a;一键清理系统&#xff0c;释放51%性能潜力 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to decl…...