其他分享
首页 > 其他分享> > ThingsBoard入门实战(三):设备遥测与展示

ThingsBoard入门实战(三):设备遥测与展示

作者:互联网

文章目录

设备遥测与展示

一、设备基础概念

观察下设备面板,有以下几部分构成:

在这里插入图片描述

其中属性是基础,遥测是核心

二、属性

ThingsBoard能够给实体分配自定义属性并进行管理。
属性 代表设备基本信息, 以key-value格式存在, 可以与IoT设备无缝兼容。

属性分客户端属性服务端属性共享属性, 使用官方的图示比较容易理解。

三、遥测

物联网的核心目的之一就是通过传感器采集相应的遥测数据上传。对此,ThingsBoard 提供了大量与遥测数据操作相关的功能:

官方有个说明蓝图,一目了然:
在这里插入图片描述

四、路灯设备定义

先定义一个简单的路灯设备,具有4个遥测状态:

通过章节的进行,逐步将这几个遥测状态进行处理和展示。

五、设备模拟

想要连接设备,首先要搞清楚下载上传数据的API 以及 设备和平台连接的API。

设备API

和云平台进行通信的主要api是device api,
部署好平台就直接可以在浏览器中访问http://IP:9090/swagger-ui/#/device-api-controller

遥测模拟

从Github下载有设备信息上传功能设备客户端的sdk
https://github.com/thingsboard/thingsboard-python-client-sdk
或者直接使用pip3安装:

pip3 install tb-mqtt-client

通过mqtt链接,向设备平台上传模拟设备的遥测数据:

# -*- coding:utf-8 -*-
import random
from time import sleep
from tb_device_mqtt import TBDeviceMqttClient, TBPublishInfo

def send_to(token,telemetry):
    client = TBDeviceMqttClient("IP", token)
    # Connect to ThingsBoard
    client.connect()
    # Sending telemetry without checking the delivery status
    client.send_telemetry(telemetry) 
    # Sending telemetry and checking the delivery status (QoS = 1 by default)
    result = client.send_telemetry(telemetry)
    # get is a blocking call that awaits delivery status  
    success = result.get() == TBPublishInfo.TB_ERR_SUCCESS
    print(success)
    # Disconnect from ThingsBoard
    client.disconnect()

def mock_telemetry():
    t = {
        "turn": 1,
        "light": random.choice(range(0,100)),
        "battery":random.choice(range(10,60)),
    }
    return t

if __name__ == '__main__':
    while True:
        sleep(3)
        tokens = ["token_lamp_1"]
        for token in tokens:
            telemetry = mock_telemetry()
            send_to(token,telemetry)

请注意!
pip上并不是最新版本,如果需要使用http,需要下载然后直接本地安装

git clone git@github.com:thingsboard/thingsboard-python-client-sdk.git

六、电量展示

仪表盘

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

部件:电量展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
按图操作就好。

设为首页

在这里插入图片描述
在这里插入图片描述
可以看到, 首页已经变成了设备的电量图示。
在这里插入图片描述

七、下一步

这节我们主要讲解了设备遥测的模拟和展示,下节是另一个核心功能:命令下发。

标签:入门,遥测,展示,telemetry,client,ThingsBoard,设备,属性
来源: https://blog.csdn.net/u010764910/article/details/121780231