免费获取学习方案
ARTICLE DETAIL

资讯详情

深耕编程基础知识与建站技术分享的一线实战洞察。

ThingsBoard 快速上手指南:两分钟部署并连上第一台物联网设备

ThingsBoard 快速上手指南:两分钟部署并连上第一台物联网设备 ThingsBoard 快速上手指南两分钟部署并连上第一台物联网设备【免费下载链接】thingsboardOpen-source IoT Platform - Device management, data collection, processing and visualization.项目地址: https://gitcode.com/GitHub_Trending/th/thingsboard仓库的温度传感器断报等现场人员发现时一整批产品已经坏掉——很多物联网项目就卡在这种看不到、报不了的盲区里。ThingsBoard 是一个开源物联网平台负责设备管理、数据收集、处理与可视化。你只需克隆仓库、用 Docker Compose 拉起服务再发一条 MQTT一种轻量级设备通信协议遥测数据就能亲眼看到数据从设备走进仪表盘的全过程。ThingsBoard 是什么它解决什么问题ThingsBoard 把设备接入、数据存储、规则处理和前端展示打包成一套可自托管的平台服务端为 Java 架构界面是 Angular 前端默认跑在 PostgreSQL 上也支持 Cassandra 存时序数据。它的各项能力对应的问题如下多协议接入层MQTT / HTTP / CoAP / LwM2M / SNMP→ 传感器、网关、旧设备都能直接连不必先写中间件设备与资产管理access token、属性、实体关系→ 设备可登记、可分组、可鉴权规则引擎 → 遥测数据可触发告警、转发、转换不用为每条逻辑写后端代码仪表盘与 widget 库 → 数据进来就能以图表呈现并分享给客户多租户与客户视角 → 给外部用户开看板而不必交出管理员账号两分钟启动 ThingsBoard 的步骤准备一台装好 Docker 与 Docker Compose 的机器容器数量较多建议 4 核 8G 以上。然后按顺序执行git clone https://gitcode.com/GitHub_Trending/th/thingsboard cd thingsboard/docker sudo ./docker-create-log-folders.sh # 创建日志目录并修正权限 ./docker-install-tb.sh --loadDemo # 安装并加载演示数据 ./docker-start-services.sh # 启动全部服务启动脚本会拉起 PostgreSQL、Valkey 缓存、Kafka、核心节点、规则引擎和各协议传输服务组件定义见 docker/docker-compose.yml。服务就绪后浏览器打开http://localhost即可看到登录页系统管理员sysadminthingsboard.org / sysadmin加载了演示数据后还可用tenantthingsboard.org / tenant登录。最小设备连接示例先在网页里点 设备 → 创建设备复制详情页里的 access token然后运行这段脚本import paho.mqtt.client as mqtt import json, time ACCESS_TOKEN 这里粘贴设备access token # 替换掉 client mqtt.Client() client.username_pw_set(ACCESS_TOKEN) # MQTT 用户名就是 token client.connect(localhost, 1883, 60) # ThingsBoard MQTT 端口 for i in range(10): client.publish(v1/devices/me/telemetry, json.dumps({temperature: 20 i * 0.5, humidity: 60})) time.sleep(1) client.loop_read()仓库里也带了现成脚本 tools/src/main/python/mqtt-send-telemetry.py把 token 和地址改掉即可。运行后你会看到回到网页点进该设备Latest Telemetry 页签里 temperature、humidity 每秒刷新一次设备列表里的在线状态也变为已连接。遥测数据链路是怎么走的数据从发起到上屏依次经过四个环节设备把报文发到 1883 端口的 MQTT 传输服务传输层用 token 校验设备身份校验通过的消息经 Kafka 队列进入 tb-core 核心服务更新设备在线状态与属性数据落入默认规则链规则引擎按你配置的条件判断——存时序库、触发告警、发邮件或转发到外部系统仪表盘按 widget 配置从存储层拉数据最新值与时间序列即时渲染。规则链完全可视化编辑函数节点可读写设备遥测字段下图是内置帮助里的函数节点配置示例配置文件与日志在哪运行时参数队列类型、JS 执行器、指标开关docker/tb-node.env主配置与日志格式docker/tb-node/conf日志落在./tb-node/log命令行查日志docker-compose logs -f tb-core1 tb-mqtt-transport1想要 Prometheus Grafana 监控把 docker/.env 里MONITORING_ENABLED改为truePrometheus 在 9090 端口、Grafana 在 3000 端口连接设备时的高频坑⚠️ 现象MQTT 客户端连接成功但平台收不到数据 → 原因用户名没填 token或 topic 拼错 → 解决用户名必须是 access token遥测 topic 固定为v1/devices/me/telemetry现象浏览器打不开登录页 → 原因只起了容器、没跑安装初始化 → 解决重跑./docker-install-tb.sh再./docker-start-services.sh用docker-compose ps核对容器状态现象页面长时间白屏 → 原因核心组件还在启动中 → 解决等 1-2 分钟刷新仍失败就看tb-core1日志现象机器内存不足、容器被杀 → 原因微服务部署组件多含 10 个 JS 执行器副本→ 解决加内存或只保留 core、MQTT 传输与 web-ui 试跑下一步行动清单在默认规则链上加一条温度大于阈值则发告警跑通第一条通知给演示租户建仪表盘把 widget 拖出来绑定遥测数据试一下混合存储用 docker/docker-compose.hybrid.yml 切到 PostgreSQL Cassandra部署脚本与排障命令的完整说明在 docker/README.md环境参数在 docker/.env把 token 换成你自己的这条从设备到看板的链路今天就完整了。【免费下载链接】thingsboardOpen-source IoT Platform - Device management, data collection, processing and visualization.项目地址: https://gitcode.com/GitHub_Trending/th/thingsboard创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表