ThingsBoard教程(六):设备上报

1,156 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第16天,点击查看活动详情

概述

了解到TB的基本功能以后,这篇文章我们开始使用mqtt进行设备的接入,并模拟演示如下内容:

  • 模拟上报时序数据
  • 使用dashboard直观展示数据变化与统计数据
  • 创建告警规则,并通过邮件推送给用户
  • 设备规则引擎

1.png

注册设备

使用租户管理员登录,点击“+”,创建一个waterMeter01的设备,凭证与客户都默认。

2.png

连接设备

这里我们使用MQTT客户端MQTTX(下载地址)来接入TB。

首先我们需要先获取设备凭证,在设备列表中,点击waterMeter01进入设备详情,然后复制访问令牌。

3.png

打开MQTTX,创建一个connect。我是Docker安装,Host写127.0.0.1。复制的设备凭证填入Username中,点击connect链接到mqtt server。

4.png

发送时序数据

连接成功以后,我们开始模拟发送时序数据。

首先查看MQTT设备API(官网地址),我们可以看时序数据Topic与数据格式分别为:

topic:

v1/devices/me/telemetry

单条数据格式:

{"key1":"value1", "key2":"value2"}

多条数据格式:

[{"key1":"value1"}, {"key2":"value2"}]

带时间戳的数据格式(使用客户端上报的时间)

{"ts":1451649600512, "values":{"key1":"value1", "key2":"value2"}}

这里我们使用服务器的时间,上报“flow“数据:

5.png

{"flow":1}

waterMeter01 设备详细信息-”最新遥测数据“中,我们可以看到刚刚上报的时序数据:

6.png 接下来我们再试一下上报”flow“与”balance“两个时序值,并设置时序时间。

{"ts":1650193027241, "values":{"flow":"2", "balance":"500"}}

image.png

结束语

截止到当前文章,我们对TB的管理界面以及各类用户角色的用户功能有了初步的认识。总结起来TB提供的界面比较有程序员风(简单),没有太多UI上的优化。对于角色和权限管理这部分比较欠缺,不知道是不是因为社区版的问题。

接下来我们会实际上报设备数据来进行TB的功能讲解。