TDengine IDMP 应用场景:电动汽车

1. 简介

本文以电动汽车监控为例,详细介绍通过MQTT,轻松采集电动汽车电门开度、驱动电机功率、空调功率、车速、SOC、电池电压/电流等监控指标,将数据写入 TDengine TSDB 时序数据库,然后通过 TDengine IDMP,利用 AI 自动生成可视化面板和实时分析,帮助您几分钟就构建一套稳定、高效的服务器监控解决方案。

在这个方案中,TDengine TSDB + TDengine IDMP 的组合能够为您带来四大好处:

  • 轻松完成数据导入:TDengine IDMP 与 TDengine TSDB 无缝集成,当监控数据写入 TSDB 后,能够快速导入 IDMP 并以树形结构的方式展现被监控的电动汽车,IT 资产一目了然。
  • 无问智推,数据自己说话:不用在 TDengine 侧做任何配置,不用脚本,不用提问,IDMP 会基于采集的数据,自动判断为 IT 监测场景,自动为您推荐面板和实时预警,服务器的运行状态尽在掌控之中。
  • 智能问数,随问随答:不用 SQL,不用任何脚本语言,你只要用自然语言说出感兴趣的数据分析或监测面板,IDMP 将会自动帮您创建,把数据可视化与分析的使用门槛降为 0;
  • 如果添加新的被监测的电动汽车,只要配置好 MQTT, 在 TDengine 侧不用做任何设置和操作,电动汽车就被自动的加入到监测的对象中,最大程度节省人力。

2. 环境准备

2.1 基础环境

本次 TDengine TSDB 和 IDMP 演示使用 docker 形式进行部署,MQTT 作为演示环境数据源。

具体数据流如下:

2.2 前提条件

3. 配置指南

3.1 快速启动服务

  • 至此,所有服务已成功启动。您可以在浏览器输入 http://localhost:6042 访问 IDMP 服务,输入 http://localhost:6060 访问 TSDB 服务。更多细节请参见 官网文档

说明:TDengine IDMP 服务默认使用 TDengine TSDB 作为其数据源,IDMP 实例会自动创建到上述 TSDB 的连接。

3.2 创建数据写入任务并进行模拟数据写入

3.2.1 创建数据库
  • 浏览器输入 http://localhost:6060 进入 Explorer 界面,在注册页完成注册,默认用户名 root,密码 taosdata。
  • 点击【数据浏览器】,在数据浏览器页面点击【创建数据库】。
  • 设置数据库名称为 ev,完成 DB 创建。
3.2.2 创建数据写入任务
  • 点击【数据写入】标签,进入任务配置页面,点击 【导入任务】。
  • 选择 tdengine-idmp-deployment/examples/electric_vehicle/ev-task.json 文件,在弹出的导入任务对话框中,选择当前任务,选择数据库 ev,点击【确定】。
  • 点击启动任务按钮,启动当前任务
  • 任务启动成功后,状态显示【运行中】
3.2.2 生成模拟数据
  • 进入 ev-mqtt 容器

    docker compose exec -it ev-mqtt /bin/sh

  • 启动数据模拟器,发送模拟数据

    ~ # ./mqtt_pub --schema ev-history.toml --interval 0ms
    client_id: mqtt_pub_tool_91ZTZU424w
    client_id: mqtt_pub_tool_xbLu82Nolb
    client_id: mqtt_pub_tool_X5SdYp8CDb
    client_id: mqtt_pub_tool_4Oe00ePc65
    client_id: mqtt_pub_tool_RI06X0JbUi
    client_id: mqtt_pub_tool_GhHh2ZMp4G
    client_id: mqtt_pub_tool_p4F2TdW3X1
    client_id: mqtt_pub_tool_8WND7eY2GY
    client_id: mqtt_pub_tool_580cvLtSPd
    client_id: mqtt_pub_tool_40kd6ebBB6
    client_id: mqtt_pub_tool_SP4KjAMa5U
    client_id: mqtt_pub_tool_aABIknMB1N
    published 10066, speed: 28680/s, avg speed: 402640/s
    published 114348, speed: 20957/s, avg speed: 22860/s
    published 216489, speed: 20436/s, avg speed: 21647/s
    published 300894, speed: 16851/s, avg speed: 20046/s

  • 进入 http://localhost:6060 【数据浏览器】页面,看到电动汽车模拟数据已经生成

3.3 初始化 IDMP、体验AI分析

3.3.1 从 TDengine TSDB 导入资产模型与数据

TDengine TSDB 设计之初就考虑了静态标签支持树状结构,层级之间用"."进行分割。

在本示例中,location 静态标签列被用于存放树状层级关系。

  • 浏览器进入 http://localhost:6042,在注册页完成注册激活
  • 点击用户头像,进入【管理后台】
  • 点击【连接】 标签下面的 【TDengine】,点击右侧三个点菜单,选择"数据导入"。
  • 从下拉框中选择数据库 ev,将标签 location 在资产模型中设为 路径;其余列全部设为"属性",将 location 字段重命名为 Electric Vehicle,点击"完成"进行导入。(此处重命名仅仅为了后续展示时的美观)
  • 点击【下一个超级表】,点击【忽略】,忽略掉除了【electric_vehicle】外的其它超级表。此处可以给字段进行重命名,在这里我们使用字段的本名进行演示。
  • 点击【完成】,开始导入数据。
  • 进入【元素浏览器】页面,在左侧资源浏览器中选中 Electric Vehicle ,在右侧选择【通用】
3.3.2 体验 AI 生成面板
  • 在左侧资源浏览器中,点击 Electric Vehicle`` > 北京 > 东城 -> 东华门街道 -> ev-17 元素,通过上方路径导航菜单选择【面板】,跳转至该元素的 AI 推荐面板页面。
  • 等待 AI 生成面板推荐后,您可根据需求进行选择,例如:"过去1天每小时的电池电压不平衡度",在您感兴趣的面板右上方的菜单中,点击【生成】按钮。等待面板生成后,可以【查看】该面板。
  • 面板生成后,您还可以在该面板的详情页面中选择【高级】,查看 AI 创建面板时使用的 SQL 语句:

    SELECT _wstart,AVG(`cell_max_voltage` - `cell_min_voltage`) AS `EV_Equipment_Battery_Voltage_Imbalance` FROM `idmp`.`vt_ev-17_569050` WHERE _c0 >= now-1d and _c0 <= now INTERVAL(1h) SLIDING(1h) ;

  • 点击【保存】,即可在下方面板列表中查看 ev-17 元素下对应的面板。

3.3.3 体验 AI 分析
  • 在左侧资源浏览器中,点击 Electric Vehicle > 北京 > 东城 -> 东华门街道 -> ev-17 元素,通过上方路径导航菜单选择【分析】,跳转至该元素的 AI 推荐分析页面。
  • 等待 AI 生成分析问题推荐后,您可以根据需求进行选择,例如:"electric_vehicle:ev-17的soc低于20%时,发出次要报警,计算当时平均battery_current,状态窗口",点击您感兴趣的问题链接,以进入分析编辑页面,点击页面最下方的【保存】。
  • 退回到分析列表中,即可查看对应的分析。
3.4 停止服务

如果想要停止当前服务,输入以下命令

复制代码
➤ docker compose down
[+] Running 4/4
✔ Container ev-mqtt Removed 0.2s
✔ Container tdengine-idmp Removed 10.4s
✔ Container tdengine-tsdb Removed 0.4s
✔ Network electric_vehicle_taos_net Removed

4. 更多

除了容器化部署方式以外,TDengine 还支持 tar 包安装方式,同时还提供云服务。详见:快速体验 | TDengine IDMP 文档 | 涛思数据

5. 小结

本文以步骤分解的方式,介绍了如何使用 TDengine TSDB + TDengine IDMP 快速搭建一个基于 MQTT 上报数据的 电动汽车监控系统,无需专门的IT技能,搭建过程简洁而高效。日后,如果有新的车辆需要被纳入到监控系统中,无需创建元素,IDMP将自动侦测到新接入的车辆、纳入监控。

搭建整个监控系统的工作几乎都在 MQTT 数据源的准备,无需编写复杂的 SQL 语句,无需脚本和其他配置,无需学习 Grafana,无需了解多少电动汽车知识,即可轻松掌握电动汽车的运行状态,实时监控和分析电动汽车的状态并采取相应措施。

关于 TDengine

TDengine 专为物联网IoT平台、工业大数据平台设计。其中,TDengine TSDB 是一款高性能、分布式的时序数据库(Time Series Database),同时它还带有内建的缓存、流式计算、数据订阅等系统功能;TDengine IDMP 是一款AI原生工业数据管理平台,它通过树状层次结构建立数据目录,对数据进行标准化、情景化,并通过 AI 提供实时分析、可视化、事件管理与报警等功能。

相关推荐
心随_风动1 天前
Ubuntu 文件复制大师:精通cp命令完整指南
数据库·ubuntu·postgresql
不要再敲了1 天前
JDBC从入门到面试:全面掌握Java数据库连接技术
java·数据库·面试
恣艺1 天前
Redis列表(List):实现队列/栈的利器,底层原理与实战
数据库·redis·list
亿坊电商1 天前
物联网-无人自助茶室-如何实现24H智能营业?
物联网
秋难降1 天前
零基础学习SQL(十一):SQL 索引结构|从 B+Tree 到 Hash,面试常问的 “为啥选 B+Tree” 有答案了
数据库·后端·mysql
代码的余温1 天前
Linux内核调优实战指南
linux·服务器·数据库
almighty271 天前
C# DataGridView表头自定义设置全攻略
数据库·c#·winform·datagridview·自定义表头
Lululaurel1 天前
机器学习系统框架:核心分类、算法与应用全景解析
人工智能·算法·机器学习·ai·分类
ljh5746491191 天前
mysql 必须在逗号分隔字符串和JSON字段之间二选一,怎么选
数据库·mysql·json
小花鱼20251 天前
Elasticsearch (ES)相关
大数据·elasticsearch