thingsboard

安装部署

官网:http://www.ithingsboard.com/docs/user-guide/install/docker/

添加设备

官网:http://www.ithingsboard.com/docs/getting-started-guides/helloworld/

http://www.ithingsboard.com/docs/reference/mqtt-api/

1、在平台添加一个设备,然后物理设备或虚拟设备通过http、mqtt协议发送数据,在可视化界面展示设备的数据

image-20240118105929729

image-20240118141621428

image-20240118143408880

image-20240118143434455

发送遥测数据

image-20240122134342074

http方式

官网:http://www.ithingsboard.com/docs/reference/http-api/

image-20240118143532538

cheng

uej6qd7TYyUfZlLaQrtt

curl -v -X POST -d "{"temperature": 25}" http://192.168.199.239:8080/api/v1/uej6qd7TYyUfZlLaQrtt/telemetry --header "Content-Type:application/json"

image-20240118143745999

MQTT方式

官网:http://www.ithingsboard.com/docs/reference/mqtt-api/

mqtt客户端官网:https://iotcore-dev-tool.gz.bcebos.com/mqttfx/1.7.1/mqttfx-1.7.1-windows-x64.exe

image-20240118144436047

image-20240118144456378

image-20240118144702851

image-20240118144908867

image-20240118145019885

告警规则设置

在设备配置文件里面可以设置告警阈值,根据设置的策略,进行告警。

image-20240118153110447

image-20240118153203520

image-20240118153154650

image-20240118153250310

image-20240118153403205

规则引擎

设备发送数据都要经过规则链,根据数据进行分类,决定下发到哪条规则链上去。

image-20240118142904934

实体设备关联

官网链接:http://www.ithingsboard.com/docs/user-guide/entities-and-relations/

向外就是关联下级设备。向内就是关联上级设备。

比如下级设备发生故障会上报给上级,

image-20240118140555715

image-20240118140632249

image-20240118140920215

image-20240118145807344

仪表板

image-20240118153547804

image-20240118153600942

image-20240118153618351

image-20240118153640174

image-20240118153707735

image-20240118153741522

image-20240118154308265

使用node-red模拟设备并查看可视化

使用node-red模拟一组数据,然后发送数据到tingsboard平台,通过可视化界面展示出来。

image-20240120171718916

image-20240120175757233

实现rpc设备双向通信

1、添加设备

2、使用mqttx连接 https://packages.emqx.io/MQTTX/v1.9.8/MQTTX-Setup-1.9.8-x64.exe

3、修改规则链

image-20240123103711771

image-20240123103743635

image-20240123104147043

参考链接:【thingsboard】基于mqtt协议的服务端与客户端RPC使用_mqtt-js-rpc-from-server-CSDN博客

v1/devices/me/rpc/request/1

{"method":"getCurrentTime",
"params":{"temperature":28}}

image-20240123104355807

image-20240123104518044

image-20240123104612374

设置返回数据不一样

参考链接:RPC功能 | ThingsBoard社区版 (ithingsboard.com)

image-20240123104720154

img

image-20240123105956552

image-20240123110023728

image-20240123110059864

#转换
var rpcResponse;
if (msg.method === "getCurrentTime"){
   rpcResponse = new Date().getTime();
} else {
   rpcResponse = "Unknown RPC request method: " + msg.method;  
}
return {msg: rpcResponse, metadata: metadata, msgType: msgType};

#主题
v1/devices/me/rpc/request/1

##发送数据
{"method":"getCurrentTime",
"params":{"temperature":25}}

温度转换

image-20240123112126494

image-20240123112238913

# 转换数据

var rpcResponse;
if (msg.method === "getCurrentTemperature"){
   // Assuming params.temperature is in Celsius, converting to Fahrenheit
   var temperatureCelsius = msg.params.temperature;
   var temperatureFahrenheit = (temperatureCelsius * 9/5) + 32;

   rpcResponse = temperatureFahrenheit;
} else {
   rpcResponse = "Unknown RPC request method: " + msg.method;  
}
return {msg: rpcResponse, metadata: metadata, msgType: msgType};


## 发送数据
主题: v1/devices/me/rpc/request/1

数据: {"method":"getCurrentTemperature", "params":{"temperature":28}}

设置温度传感器大于30度,RPC控制开启风扇

image-20240126143852677

image-20240126143925939image-20240126144011543

#主题
v1/devices/me/telemetry
#遥测数据
{"temperature":42}

image-20240126151148690

image-20240126151208911

image-20240126151343492

image-20240126152329353

image-20240126152418228

image-20240126152524843

image-20240126152952437

image-20240126153031108

image-20240126154716738

var newMsp =
{
   "method": "close",
   "params": {
       "des":"open fan"
   },
  "timeout": 30000
}
return {msg: newMsp, metadata: metadata, msgType: msgType};

image-20240126155047660

image-20240126155257406

image-20240126160046373

posted @   挖挖挖  阅读(83)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示