ThingsBoard 是一个开源的物联网(IoT)平台,专注于设备管理、数据收集、处理和可视化,支持多种通信协议如 MQTT、CoAP 和 HTTP。它提供了强大的规则引擎和丰富的可视化工具,帮助用户快速构建智能能源、车队跟踪、智能农业等物联网应用。基于 Java 和 TypeScript 开发,ThingsBoard 拥有活跃的社区和详细的文档,采用 Apache 2.0 开源协议,适合各种规模的物联网项目,帮助用户高效管理和分析设备数据。
https://github.com/thingsboard/thingsboard?tab=readme-ov-file
文档:https://thingsboard.io/docs/
本教程的目标是演示 ThingsBoard 最常用功能的基本用法。你将学习如何:
在本指南中,我们将通过连接和可视化温度传感器的数据来简化操作。
我安装了VM虚拟机,虚拟机安装Ubuntu22系统,安装docker:
https://www.dong-blog.fun/post/1970
thingsboard很吃资源,不要在1核1G的服务器里部署!
在服务器部署 thingsboard ,使用root命令行进行部署安装:
bashmkdir -p ~/.mytb-data && sudo chown -R 799:799 ~/.mytb-data
mkdir -p ~/.mytb-logs && sudo chown -R 799:799 ~/.mytb-logs
docker run -it -p 8080:9090 -p 7070:7070 -p 1883:1883 -p 5683-5688:5683-5688/udp -v ~/.mytb-data:/data \
-v ~/.mytb-logs:/var/log/thingsboard --name mytb --restart always thingsboard/tb-postgres
ThingsBoard UI 可以通过以下 URL 访问:http://localhost:8080
。
你可以使用用户名 tenant@thingsboard.org
和密码 tenant
登录。更多关于演示账户的信息请参考 这里。
因为我是VMware虚拟机里部署,也可以用 ip a 查看虚拟机IP,然后在Windows机器访问,比如我访问:http://10.100.80.98:8080/
我们将添加一个设备,该设备将向 ThingsBoard 平台传输以下数据:设备名称和温度读数(作为遥测数据)。
添加新设备时,你会收到通知。你可以通过点击右上角的 “铃铛” 图标查看通知。
可以直接直接命令发送数据:
可以看到命令本身就是数据透传:
# http协议 curl -v -X POST http://10.100.80.98:8080/api/v1/H8VR5eYTYXnVQGHGwnOP/telemetry --header Content-Type:application/json --data "{temperature:25}" # mqtt协议 mosquitto_pub -d -q 1 -h 10.100.80.98 -p 1883 -t v1/devices/me/telemetry -u "H8VR5eYTYXnVQGHGwnOP" -m "{temperature:25}"
现在,让我们检查设备与 ThingsBoard 平台的连接。为此,使用 “检查连接性” 功能代表你的设备发布遥测数据(例如温度读数)。
点这里:
然后点这里:
仪表盘允许用户可视化和监控从物联网设备收集的数据。
我们将创建一个仪表盘,并添加三个小部件:实体表、图表和报警表。
我们将使用报警规则功能,当温度读数超过 25 度时触发报警。
现在,我们的报警规则已激活。发送新的温度遥测数据(温度值应大于 25 度)以触发报警。
ThingsBoard 通知中心允许向最终用户发送个性化通知。你可以配置电子邮件、短信或移动推送通知。
你可以将设备和仪表盘分配给不同的客户,确保每个客户只能看到自己的数据。
• 连接你的设备; • 配置复杂仪表盘; • 使用规则引擎处理数据; • 了解更多高级功能。
本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!