网站维护的工作内容,学院做网站的意义,北京seo公司公司,做论坛网站能赚钱吗现代新能源汽车#xff0c;作为一种内部系统极为复杂的交通工具#xff0c;配备了大量传感器、导航设备、应用软件#xff0c;这些传感器产生的数据都需要上报到车联网平台当中。对于这些车辆的状态数据#xff08;如车速、发动机转速等#xff09;、位置数据#xff08;…现代新能源汽车作为一种内部系统极为复杂的交通工具配备了大量传感器、导航设备、应用软件这些传感器产生的数据都需要上报到车联网平台当中。对于这些车辆的状态数据如车速、发动机转速等、位置数据经纬度等以及用户行为数据车联网平台需要对它们进行实时/离线计算分析从而为用户提升驾驶体验提供安全保障为厂商提供质量检测、功能优化为交通管理部门提供流量、违章监测、甚至为城市规划提供帮助。
在车联网领域中 MQTT 是十分常见的协议它所具备的能够适应不稳定的网络环境、轻量级、低延迟等特点使其非常适合车辆数据的上报也是目前主流的车联网边端-云端数据交互的通讯协议。
而 TDengine 是一款从诞生之初便致力于为工业、物联网领域推动信息化改革的时序大数据平台。而车联网作为物联网的重要分支自然也是 TDengine 主攻的领域之一。因此在 TDengine Enterprise/TDengine Cloud 的外部数据源接入组件中我们提供了诸如MQTT、OPC-UA、OPC-DA 等数据直采的功能。让用户可以凭借十分简单的 Web 界面配置无需任何一行代码便完成车联网的位置、车辆状态、用户行为等数据的接入。
我们可以想象出这样一个场景
通过 TDengine 的 web 界面工具订阅 MQTT 的 “GPS” topic 们获取全部车辆的 GPS 数据然后把“GPS” topic 和 TDengine 中创建出来的“超级表 GPS”对应起来再把 MQTT 数据中的“车牌号”, “车型”“汽车品牌”同 TDengine “GPS” 超级表中不同的标签映射起来。最终 MQTT 数据就可以源源不断地接入TDengine 当中了。
TDengine 的数据采集插件就像是一个翻译官它能理解 MQTT 数据结构映射到时序库数据结构的需求最终把他们巧妙地结合在一起。
那么使用 TDengine 采集车联网上报的 MQTT 数据到底有多简单
抽象一下只需要如下步骤
1. 对于非 TDengine Enterprise企业版用户花 3 分钟时间注册 TDengine Cloud https://cloud.taosdata.com/auth/login根据提示兑换 600 元额度的免费使用。
2. 在TDengine 中提前创建好一个数据库用于存放MQTT数据。具体建库参数值如需自定义可参阅数据库 | TDengine 文档 | 涛思数据 3. 确保代理插件和 MQTT server 处在同一网络然后根据提示逐步复制粘贴安装代理插件并启动。 4. 新增数据源。 5. 按顺序填写/选择自定义的任务名称MQTT 类型选择刚刚创建的代理插件填写MQTT server 的 IP 和端口。 PS这里可以用一个免费的 MQTT server 做验证broker.emqx.io:1883。 6. 填写 MQTT 协议版本、自定义的Client ID、和需要订阅的主题topic以及该订阅的 QOS Quality of Service 服务质量级别QOS 可选范围为0、1、2具体写法参考示例即可。用户名密码为选填项。 7. 解析数据在MQTT Payload 模块中配置解析 MQTT 消息
可以点击从服务器检索从 MQTT Broker 获得示例数据。也可以自己填写 MQTT 消息体中的示例数据例如{“id”: 1, “message”: “hello-word”}{“id”: 2, “message”: “hello-word”}。 8. 获得数据之后可以选择自定义的方式依次去处理这个json
提取出列。对提取出的列数据通过分隔符、正则表达式等进行提取或拆分比如把“中国-北京”拆分成“中国”和“北京” 两列。对最终的结果进行过滤比如只取车速大于 xxx 的数据。 9. 创建一个超级表用于存储MQTT数据。然后把刚刚处理过的 MQTT 数据结构和 TDengine 的超级表做一个映射关系这里我们可以使用各种灵活的方式处理映射关系。比如设置时间戳自动生成、固定制、默认值、以及最基本的匹配。 10. 填写完成以上信息后下拉到底部点击“保存并应用”按钮即可直接启动从 MQTT 到 TDengine 的数据同步了。 11.在这里看到连接代理和数据源任务都处于正常状态之后就可以去TDengine 中使用 SQL 语句检查我们的 MQTT 数据了。 现在我们已经看到MQTT server 的数据正在源源不断地写入 TDengine 了。
在这个配置过程中我们还能在 WEB 页面看到很多其他配置项但是他们都是选填项这部分用户可以根据实际情况填写比如
用户名/密码SSL 认证。Keep Alive 和 Clean Session 为具体使用时候关于空连接释放和是否记录订阅进度的配置。代理插件的日志级别、日志保留天数、mqtt原始数据的保留设置。
现在我们就已经轻松完成了车辆 MQTT 数据的上传。整个过程中唯一耗时的地方可能就在于 MQTT 数据结构和 TDengine 的超级表结构的匹配环节。如果您对 TDengine 的“超级表-子表”的数据模型十分熟悉的话想必不会花很多时间。