时序数据库 TDengine 支持集成开源的物联网平台 ThingsBoard
Thingsboard 中“设备配置”和“设备”的关系是一对多的关系,通过设备配置为每个设备设置不同的配置,每个设备都会有一个与其关联的设备配置文件。等等,这不就是TDengine 中超级表的概念:
超级表是一种特殊的表结构,用于代表一类具有相同数据模式的数据采集点。一个超级表有多个子表,一个子表只能隶属于一个超级表。
因此,将两者有机结合起来:TDengine 中创建超级表作为“设备配置”,Thingsboard 中添加设备则自动在 TDengine 中创建子表,伟大的设计殊途同归。
灵魂的碰撞
安装部署
安装过程可以直接参考官方安装教程:https://thingsboard.io/docs/user-guide/install/ubuntu/
但是有两点需要注意:
请点击这里,联系我们获取适配版本。
配置文件增加 TDengine 相关连接配置:
操作步骤
创建“设备配置”
以一个车辆管理系统为例,需要记录车辆的车牌号、数据上报时间、经度、纬度、车速这几个变量。因此,我们调用接口来创建一个新的“设备配置”。
Thingsboard 中成功创建名称为“profileStable” 的“设备配置”:
数据库中成功创建超级表:
添加新设备
选择已有配置“profileStable”,创建新的设备。
成功创建了一个名叫“测 A88888″ 的设备,具体的子表名称可以通过“复制设备 ID” 查看。
测试写入数据
直接通过访问令牌,调用接口发送数据
数据库中也写入了最新的记录
业务展示
场景一:车辆实时定位追踪
数据采集:车辆 GPS 定位信息每秒传输到 Thingsboard。
数据存储:在 TDengine 中创建表存储定位数据。
数据展示:在 Thingsboard 创建地理位置图表,展示车辆实时位置。
场景二:车队维护预警
按日生成车辆每日超速次数。
创建流计算:在 TDengine 中创建流计算
查看流计算结果
注:本次适配没有修改原有前端页面,需要调用 HTTP API 来创建设备配置。感兴趣的小伙伴可以完善一下,欢迎提交代码交流。
评论