ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

ThingsBoard Fleet Tracking 解决方案模板实战:零代码搭建实时车队监控仪表盘与告警体系

ThingsBoard Fleet Tracking 解决方案模板实战:零代码搭建实时车队监控仪表盘与告警体系 物联网后端数据可视化消息队列【免费下载链接】thingsboardAll-in-one IoT Platform - Device management, data collection, processing and visualization.项目地址https://gitcode.com/GitHub_Trending/th/thingsboard点击查看免费下载导读本文围绕 ThingsBoard 开源仓库内置的Fleet Tracking车队追踪解决方案模板展开讲解如何通过一键安装快速获得一套可演示、可扩展的物流/运输监控平台。读完本文你将掌握该模板自动生成的四辆演示车辆及其遥测数据模型、Fleet Tracking 仪表盘的两种状态与钻取操作、基于 HTTP API 模拟车辆上报数据的 curl 命令以及低油量、超速、停车三类告警规则的完整配置细节并了解如何将该方案扩展到 ThingsBoard Edge 边缘计算场景。文章所有配置与命令均以当前仓库 fleet_tracking_old 解决方案目录 下的真实文件为依据。一、方案模板定位开箱即用的车队追踪加速器Fleet Tracking 模板的定位是零代码物流方案——跳过 GIS 组件与遥测解析的复杂配置直接提供一套带车辆标记和钻取能力的现成地图界面。仓库中该模板的说明文档description.md总结了它的核心价值零代码物流无需手动搭建地图组件、编写遥测解析逻辑开箱即得完整的车辆标记与下钻界面一键部署安装即可获得可向利益相关方或客户演示的工作样例可行动洞察仪表盘直接突出低油量、抛锚等关键问题帮助运营人员即时响应。该模板的演示亮点见 highlights.md包括实时车队地图Moving/Idle 状态、四辆预配置的 Bus 设备、内置的路线历史/速度/油耗分析组件、预接线智能告警以及可选的 Edge 支持。从仓库目录结构看一个解决方案模板就是一个自包含的资源包位于application/src/main/data/json/solutions/fleet_tracking_oldfleet_tracking_old/ ├── description.md # 方案描述定位与价值 ├── highlights.md # 亮点速览 ├── instructions.md # 安装后的使用说明本文主体 ├── edge_instructions.md # Edge 边缘扩展说明 ├── device_profiles/ │ └── bus.json # bus 设备画像 ├── alarm_rules/ │ ├── bus_low_fuel.json # 低油量告警 │ ├── bus_speed_limit.json # 超速告警 │ └── bus_stopped.json # 停车告警 └── entities/ ├── dashboards.json # Fleet tracking 仪表盘 ├── devices.json # 4 辆演示 Bus ├── device_emulators.json# 三套设备数据模拟器 ├── edges.json # Edge 实体 Remote Bus Station R1 ├── roles.json # 角色当前为空 └── rule_chains.json # 规则链当前为空二、安装与开箱体验在 ThingsBoard 的 Solutions解决方案页面点击Install平台会自动完成整套实体的生成与配置。安装完成后系统会生成名为Fleet Tracking的仪表盘可直接打开使用。该仪表盘在 dashboards.json 中被标记为main: true即作为方案的默认主仪表盘。安装即用仪表盘功能覆盖三个核心场景观察实时查看车辆位置与状态监控跟踪告警事件alarms浏览路线历史、速度与油量曲线。三、掌握仪表盘Main 状态与 Details 钻取Fleet Tracking 仪表盘包含两种状态Main主视图展示车辆列表、车辆在地图上的位置以及告警列表。主视图提供两种交互Route History路线历史点击表格任意行的 Route history 图标弹出弹窗展示该车曾经行驶过的道路地图Bus Details车辆详情点击表格行本身下钻进入详情视图可检查告警、速度和油量历史。仪表盘本身是标准的 ThingsBoard Dashboard可随时依据平台提供的仪表盘开发指南进行定制改造。四、预置演示设备与凭据模板已预置四辆公交追踪设备并附带演示数据设备信息与访问凭据access token会在安装后由平台动态渲染到说明页中。四辆设备定义于 devices.json均归属Bus devices设备分组类型为bus设备类型关联模拟器模拟场景Bus AbusonRouteBus正常在线运营Bus BbusonRouteBus正常在线运营Bus CbusbrokenBus抛锚BrokenBus DbusrefuelingBus加油中Refueling设备的运输配置与设备画像定义在 bus.json类型为DEFAULT传输类型DEFAULT设备预置provision功能关闭。所有告警规则都挂载在这个bus设备画像上通过 jsonIde155c576-67da-4850-a512-827b0da279ba引用。模拟器的数据生成策略演示数据并非写死的历史数据而是由 device_emulators.json 定义的模拟器按不同策略持续生成onRouteBusBus A/Bcoordinates键以sequence随机策略依次取用一组预置经纬度序列模拟一段真实行驶轨迹speed采用natural自然波动策略起始值 10~60运行期在低速区间10~20与高速区间50~60之间摆动增量 1.0~2.0、减量 3.0~5.0并区分节假日×2.0、工作时间×1.0、夜间×0.5乘数fuel从 80 起步按每次 0.1~0.8 的速率缓慢递减模拟正常油耗status为常量On route。brokenBusBus C纬度、经度、速度、油量、状态全部为常量定格在坐标 (37.765702, -122.475071)速度 0、油量 55、状态Broken模拟一辆抛锚在路边的车。refuelingBusBus D坐标固定油量从 20 按每次 1.0~2.0 的增量缓慢回升至 100模拟加油过程状态Refueling。所有模拟器的发布周期均为publishPeriodInDays: 1、发布频率publishFrequencyInSeconds: 300每 5 分钟上报一次。也就是说即便不接入真实车辆仪表盘也会持续呈现动态运营画面。五、数据上报协议与立即实测期望的遥测数据模型方案要求设备上报五个键值latitude纬度、longitude经度、speed速度、fuel油量百分比、status状态。最简单的合法 JSON 载荷示例{latitude: 37.764702, longitude: -122.476071, speed: 50, fuel: 5, status: On route}使用 HTTP API 模拟设备上报想立刻让仪表盘活起来可以在终端中代表设备 Bus C 执行以下命令${Bus CACCESS_TOKEN}为说明页中动态渲染的该设备访问令牌${BASE_URL}为你的 ThingsBoard 服务器地址curl -v -X POST -d {\latitude\: 37.764702, \longitude\: -122.476071, \speed\: 50, \fuel\: 5, \status\: \On route\} ${BASE_URL}/api/v1/${Bus CACCESS_TOKEN}/telemetry --header Content-Type:application/json执行原理说明该命令调用的是 ThingsBoard遥测上传 APITelemetry Upload API路径为/api/v1/{accessToken}/telemetry请求方法为POST请求头Content-Type: application/json访问令牌access token是 ThingsBoard 默认传输配置见上文 bus 设备画像transportConfiguration: DEFAULT下设备鉴权的核心凭据/api/v1/{token}/telemetry即基于设备令牌的免签名接入路径除 HTTP 外该模板的设备同样支持 MQTT、CoAP、LwM2M 等其他连接方式参见平台设备连接指南。执行成功后回到仪表盘即可看到对应车辆的值立即更新。六、智能告警设备画像上预接线的三条规则模板基于配置在bus设备画像上的**告警规则Alarm Rules**自动监控数据。三条规则分别位于alarm_rules/目录下的三个 JSON 文件其完整配置如下告警规则触发条件创建严重级别告警详情恢复条件清除Low fuel低油量fuel最新遥测值 20MAJORLow fuel level: only ${fuel}% leftfuel 25详情Fuel level is back to normal: ${fuel}%Speed limit超速speed最新遥测值 45CRITICALBus has crossed speed limit!speed 45Stopped停车speed 0持续 5 秒WARNINGBus stoppedspeed 0持续 5 秒详情Bus is on route again从源码看规则实现细节低油量规则bus_low_fuel.json通过arguments.fuel引用TS_LATEST最新遥测类型的数据源条件类型为SIMPLE数值谓词LESS_OR_EQUAL 20.0创建 MAJOR 告警GREATER_OR_EQUAL 25.0清除告警——触发与恢复阈值之间存在 5% 的滞回区间避免油量在阈值附近抖动时反复横跳。超速规则bus_speed_limit.json同样基于TS_LATEST的speedGREATER_OR_EQUAL 45.0创建 CRITICAL严重告警速度回落到 45 以下即清除触发与清除共用同一阈值。停车规则bus_stopped.json与上面两条不同条件类型为DURATION持续型——要求speed 0的数值条件持续满足 5 秒unit: SECONDS, staticValue: 5才创建 WARNING 告警可有效滤除瞬时停靠造成的误报恢复时同样要求speed 0持续 5 秒并输出Bus is on route again的恢复详情。三条规则的propagate均为false告警不向上游实体传播debugSettings.failuresEnabled为true开启失败调试追踪。告警阈值与设备画像绑定在实际项目中可直接在设备画像 → 告警规则页调整这些数值。七、方案自动创建的实体清单安装后模板自动生成以下实体安装说明中的Solution entities表格即渲染自entities/目录实体类型内容定义文件DashboardFleet tracking主仪表盘分组 Fleet trackingentities/dashboards.jsonDeviceBus A ~ Bus D4 辆分组 Bus devicesentities/devices.json设备模拟器onRouteBus / brokenBus / refuelingBusentities/device_emulators.jsonEdgeRemote Bus Station R1预分配设备组与仪表盘组entities/edges.jsonRole / Rule Chain当前为空数组模板未额外创建entities/roles.json、entities/rule_chains.json八、扩展到边缘ThingsBoard Edge 部署指南该模板支持可选的边缘计算扩展详见 edge_instructions.md。ThingsBoard Edge 将数据分析与管理下沉到数据产生端同时按业务需求与云端无缝同步。在车队追踪场景中若公交站点散布全城可在每个站点部署 Edge就近处理附近车辆数据并就地决策例如车辆偏离路线告警当与中央服务器断网时 Edge 仍可持续处理数据而不丢失网络恢复后再将必要数据推送云端且边缘业务逻辑的配置统一在 ThingsBoard 服务器上集中完成。安装时模板已创建一个 Edge 实体Remote Bus Station R1并预先分配了实体分组以简化边缘部署见 edges.jsonBus devicesDEVICE 组Fleet trackingDASHBOARD 组接入步骤进入 Edge 详情页点击Install Connect instructions按钮完成 ThingsBoard Edge 的安装并与云端连接Edge 连接成功后使用租户凭据登录 Edge 控制台由于 Bus devices 设备组已分配给 EdgeBus devices 组内所有设备会自动预置provision到 Edge登录 Edge 后可在Entities - Devices页面看到这些设备。向边缘设备推送数据向 Edge 上的 Bus C 模拟上报数据的命令如下Edge 默认 HTTP 8080 端口curl -v -X POST -d {\latitude\: 37.764702, \longitude\: -122.476071, \speed\: 50, \fuel\: 5, \status\: \On route\} http://localhost:8080/api/v1/${Bus CACCESS_TOKEN}/telemetry --header Content-Type:application/json若安装 Edge 时将 HTTP 8080 绑定端口改成了18080则使用curl -v -X POST -d {\latitude\: 37.764702, \longitude\: -122.476071, \speed\: 50, \fuel\: 5, \status\: \On route\} http://localhost:18080/api/v1/${Bus CACCESS_TOKEN}/telemetry --header Content-Type:application/json数据推送到 Edge 上的 Bus C 后云端的该设备遥测也会随之更新——这正是 Edge 与云端双向同步能力的直观体现。九、模板在源码中的落位从内置模板到 IoT Hub 迁移在当前仓库中这套模板位于 application/src/main/data/json/solutions/fleet_tracking_old与solutions/目录下的fleet_tracking新版本并存。从源码看仓库在处理旧版legacy解决方案模板的升级迁移在 V4_3_1_3Migration.java 中定义了LegacySolutionTemplate记录类型并将fleet_tracking旧模板映射到 IoT Hub 中的Site fleet trackingversion 1.0.0itemIdf7589b43-0bbe-45fe-90bb-2bbbb563f361迁移后的 itemVersionId 等描述信息被硬编码进升级逻辑使升级过程完全自包含、无需运行时联网。这解释了fleet_tracking_old目录的用途——它是旧版方案的存档用于在升级路径中与新版方案衔接。十、典型应用场景该模板可作为高价值行业的落地基础据 description.md物流与供应链跟踪路线进度、预测延误保障准时交付冷链与敏感货物在定位基础上叠加温度传感器类似 Vaccine Logistics 场景确保运输过程货物安全公共交通监控运营时刻表执行情况确保车辆加满油、随时可出勤提升乘客满意度。结语Fleet Tracking 模板把车辆定位可视化 遥测上报 规则告警 边缘扩展串成了一条完整、可直接复用的链路仪表盘开箱即用、四辆演示车辆与三套模拟器让你无需真机即可验证效果、三条预置告警规则展示了 SIMPLE 与 DURATION 两类条件的配置范式而 Edge 部分则给出了数据就地处理与云端同步的落地路径。无论是要快速做 POC 演示还是要以此为骨架搭建正式的车队管理系统这套模板及其在仓库中的配置资源都值得直接参考与二次改造。延伸阅读仓库内资源模板说明与实体定义fleet_tracking_old 目录设备画像与告警规则device_profiles/bus.json、alarm_rules 目录演示数据生成策略entities/device_emulators.json旧模板升级迁移逻辑V4_3_1_3Migration.java赞分享物联网后端数据可视化消息队列【免费下载链接】thingsboardAll-in-one IoT Platform - Device management, data collection, processing and visualization.项目地址https://gitcode.com/GitHub_Trending/th/thingsboard点击查看免费下载相关推荐AmplicationAPI监控仪表板实时监控与告警AmplicationAPI监控仪表板实时监控与告警 概述 在现代微服务架构中API监控是确保系统稳定性和性能的关键环节。Amplication作为开源的后后端代码生成低代码AI 应用Parse Server 监控仪表盘搭建Grafana 面板设计与告警Parse Server 监控仪表盘搭建Grafana 面板设计与告警 你是否还在为 Parse Server 的运行状态监控而烦恼当用户量突增导致 API后端认证鉴权零延迟告警实战Sentry实时监控体系搭建指南零延迟告警实战Sentry实时监控体系搭建指南 你是否还在为用户反馈的bug焦头烂额当线上系统崩溃时客服收到投诉的速度比开发团队还快Sentry实时告警可观测性APM异常检测日志分析后端前端上一篇Home Assistant 区域Areas使用指南按房间批量管理智能设备下一篇如何高效使用智能游戏工具3步完全掌握League Akari终极辅助创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表