当前位置: 首页 > 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输出多个内容是中间用逗号隔开就好…...

Fasd终极路线图:2025年项目发展方向与社区规划完全指南

Fasd终极路线图&#xff1a;2025年项目发展方向与社区规划完全指南 【免费下载链接】fasd Command-line productivity booster, offers quick access to files and directories, inspired by autojump, z and v. 项目地址: https://gitcode.com/gh_mirrors/fa/fasd Fasd…...

打造 TC397 AUTOSAR OS 多核工程最小系统:点亮多核的明灯之旅

tc397autosar os多核工程最小系统 tc397 autosar os 多核最小系统、配置工程、tasking工程 实现功能&#xff1a;六核跑起来、亮灯。在汽车电子领域&#xff0c;多核处理器的应用愈发广泛&#xff0c;TC397 凭借其强大的性能成为众多开发者的心头好。今天咱们就来聊聊如何搭建 …...

告别改板焦虑!手把手教你用Ansys SIwave 2022R2搞定PCB信号完整性仿真(附S参数导出Pspice全流程)

告别改板焦虑&#xff01;Ansys SIwave 2022R2信号完整性仿真实战指南 在高速PCB设计领域&#xff0c;信号完整性问题如同悬在硬件工程师头顶的达摩克利斯之剑。当信号速率突破10Gbps&#xff0c;板间距离压缩至毫米级时&#xff0c;传统"设计-打样-测试"的迭代模式已…...

APKMirror:安卓应用安全管理的终极解决方案

APKMirror&#xff1a;安卓应用安全管理的终极解决方案 【免费下载链接】APKMirror 项目地址: https://gitcode.com/gh_mirrors/ap/APKMirror 您是否曾在寻找安卓应用的特定版本时感到无从下手&#xff1f;是否担忧从第三方渠道下载的APK文件可能存在安全隐患&#xff…...

保姆级教程:Arduino IDE离线安装ESP32开发板支持包(附稳定镜像源)

Arduino IDE离线安装ESP32开发板支持包全攻略 对于国内开发者来说&#xff0c;Arduino IDE安装ESP32开发板支持包常常会遇到网络连接不稳定、下载速度慢甚至完全无法访问的问题。本文将提供一套完整的离线安装方案&#xff0c;通过国内镜像源和分步操作指南&#xff0c;确保即…...

LH6828@ACP#6828#484 USB3.1 全通道 4:1/1:4 10Gbps 多路复用 / 解复用器 产品规格、应用分享及CH484规格对比

LH6828 是一款高性能全通道高速双向无源开关&#xff0c;专为 USB Type-C 生态系统设计&#xff0c;深度适配 USB3.1 Gen1&#xff08;5Gbps&#xff09;/Gen2&#xff08;10Gbps&#xff09;超高速传输协议&#xff0c;支持 4 组设备全通道信号的 4:1/1:4 双向切换&#xff0c…...

自动驾驶轨迹预测新思路:VectorNet如何用矢量编码替代传统栅格化方法?

自动驾驶轨迹预测的矢量革命&#xff1a;VectorNet如何重构环境编码范式 在自动驾驶系统的决策闭环中&#xff0c;轨迹预测模块犹如驾驶员的预判能力&#xff0c;其准确性直接关系到行车安全与舒适性。传统基于卷积神经网络&#xff08;CNN&#xff09;的预测方法存在一个根本性…...

YOLOv8 Detect Head 源码拆解:从张量变形到边界框解码,一步步带你理解Anchor-Free预测

YOLOv8 Detect Head 深度解析&#xff1a;从特征图到预测框的完整实现路径 在计算机视觉领域&#xff0c;目标检测一直是核心任务之一。YOLOv8作为当前最先进的实时检测器&#xff0c;其Detect Head模块的设计尤为精妙。本文将带您深入探索这一模块的内部工作机制&#xff0c;从…...

​答辩 PPT「懒人救星」实测:paperxie AI 一键把论文转成答辩稿,再也不用熬夜排版​

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AIPPThttps://www.paperxie.cn/ppt/createhttps://www.paperxie.cn/ppt/create paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AIPPT 谁本科答辩没栽在 PPT 上&#xff1f;万字论文…...

免费领取《MapleSim卷材加工和卷绕系统建模仿真教程》

在薄膜、纸张、电池极片、电子材料等卷对卷加工中&#xff0c;你是否还在为张力波动、卷材打滑、收放卷不稳而头疼&#xff1f;物理样机调试成本高、风险大&#xff0c;单纯依靠经验难以解决复杂的动态耦合问题。 Maplesoft 中国技术团队近期发布了 MapleSim 卷材处理库&#…...