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协议发送数据,在可视化界面展示设备的数据




发送遥测数据

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

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

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





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





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

实体设备关联
官网链接:http://www.ithingsboard.com/docs/user-guide/entities-and-relations/
向外就是关联下级设备。向内就是关联上级设备。
比如下级设备发生故障会上报给上级,




仪表板







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


实现rpc设备双向通信
1、添加设备
2、使用mqttx连接 https://packages.emqx.io/MQTTX/v1.9.8/MQTTX-Setup-1.9.8-x64.exe
3、修改规则链



参考链接:【thingsboard】基于mqtt协议的服务端与客户端RPC使用_mqtt-js-rpc-from-server-CSDN博客
v1/devices/me/rpc/request/1
{"method":"getCurrentTime",
"params":{"temperature":28}}



设置返回数据不一样
参考链接:RPC功能 | ThingsBoard社区版 (ithingsboard.com)





#转换
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}}
温度转换


# 转换数据
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控制开启风扇



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









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




浙公网安备 33010602011771号