ThingsBoard入門實戰(三):設備遙測與展示


設備遙測與展示

一、設備基礎概念

觀察下設備面板,有以下幾部分構成:

  • 屬性:基礎信息,比較穩定
  • 遙測:需要測量的狀態信息
  • 警告:設備或者設備監控的狀態出現問題
  • 事件:發生在設備上的事件
  • 關聯:設備屬於誰,在哪個資產上等等
  • 審計日志:誰在平台上對設備做了什么操作

在這里插入圖片描述

其中屬性是基礎,遙測是核心

二、屬性

ThingsBoard能夠給實體分配自定義屬性並進行管理。
屬性 代表設備基本信息, 以key-value格式存在, 可以與IoT設備無縫兼容。

屬性分客戶端屬性服務端屬性共享屬性, 使用官方的圖示比較容易理解。

  • 客戶端屬性
    在這里插入圖片描述

  • 服務端屬性
    在這里插入圖片描述

  • 共享屬性
    在這里插入圖片描述

三、遙測

物聯網的核心目的之一就是通過傳感器采集相應的遙測數據上傳。對此,ThingsBoard 提供了大量與遙測數據操作相關的功能:

  • 采集 使用MQTT, CoAP或者HTTP協議采集設備數據。
  • 存儲 在Cassandra(高效、可擴展、能容錯的NoSQL數據庫)中存儲時序數據。
  • 查詢 查詢最新時序數據值,或查詢特定時間段內的所有數據。
  • 訂閱 使用websockets訂閱數據更新(用於可視化或實時分析)。
  • 可視化 使用可配置和可配置的小部件以及儀表盤可視化時序數據。
  • 過濾和分析 使用靈活的規則引擎過濾和分析數據(/docs/user-guide/rule-engine/)。
  • 事件警報 根據采集的數據觸發事件警報。
  • 數據傳輸 過規則引擎節點實現與外部數據交互(例如Kafka或RabbitMQ規則節點)

官方有個說明藍圖,一目了然:
在這里插入圖片描述

四、路燈設備定義

先定義一個簡單的路燈設備,具有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鏈接,向設備平台上傳模擬設備的遙測數據:


import random
from time import sleep
from tb_device_mqtt import TBDeviceMqttClient, TBPublishInfo

def send_to(token,telemetry):
    client = TBDeviceMqttClient("IP", token)
    
    client.connect()
    
    client.send_telemetry(telemetry) 
    
    result = client.send_telemetry(telemetry)
    
    success = result.get() == TBPublishInfo.TB_ERR_SUCCESS
    print(success)
    
    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

六、電量展示

儀表盤

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

部件:電量展示

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
按圖操作就好。

設為首頁

在這里插入圖片描述
在這里插入圖片描述
可以看到, 首頁已經變成了設備的電量圖示。
在這里插入圖片描述

七、下一步

這節我們主要講解了設備遙測的模擬和展示,下節是另一個核心功能:命令下發。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM