news 2026/10/18 1:58:32

ThingsBoard 快速上手:Docker 部署,接上第一台设备

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ThingsBoard 快速上手:Docker 部署,接上第一台设备

ThingsBoard 快速上手:Docker 部署,接上第一台设备

【免费下载链接】thingsboardAll-in-one IoT Platform - Device management, data collection, processing and visualization.项目地址: https://gitcode.com/GitHub_Trending/th/thingsboard

你有一批传感器,数据散落在各台嵌入式设备里,想在一个地方统一查看、管理并设置告警。读完本文你能做到:拥有一个本地 Docker 实例、一台上报 MQTT 遥测的模拟设备、一块实时刷新的仪表盘。

跑起来:环境准备与最小部署

最短路径是 Docker 微服务部署。先克隆仓库,进入docker目录执行官方安装与启动脚本:

git clone https://gitcode.com/GitHub_Trending/th/thingsboard cd thingsboard/docker
./docker-install-tb.sh --loadDemo ./docker-start-services.sh

--loadDemo会导入演示租户、演示设备和演示仪表盘,强烈建议新手加上。首次安装需要拉取镜像,耐心等待几分钟。部署完成的标志:浏览器打开http://localhost出现登录页。

项目值
系统管理员sysadmin@thingsboard.org/sysadmin
演示租户管理员tenant@thingsboard.org/tenant
Web 控制台80 或 8080
MQTT1883
HTTP 传输8081
CoAP5683(UDP)

接入第一台设备:MQTT 上报遥测

创建设备。登录控制台(演示租户即可),进入 设备 → 创建设备,协议选 MQTT,保存后复制它的访问令牌——这就是设备登录的密码。

准备上报脚本。仓库自带 Python 示例 tools/src/main/python/mqtt-send-telemetry.py,核心配置只需改两处:

import paho.mqtt.client as mqtt import json client = mqtt.Client() client.username_pw_set("你的访问令牌") # 用户名填访问令牌,密码留空 client.connect("localhost", 1883, 60) client.publish("v1/devices/me/telemetry", json.dumps({"temperature": 25.5, "humidity": 60}))

运行并验证。装好依赖后执行:

pip install paho-mqtt && python3 mqtt-send-telemetry.py

脚本静默无输出即发送成功。刷新设备页面:Latest Telemetry 里出现temperature和humidity两个值,设备状态变为 Active,采集链路即打通。

看懂数据流向:架构 30 秒

一句话概括全链路:设备 → MQTT 传输服务 → Kafka → 规则引擎 → 数据库 → Web 页面。链路上三个关键节点:

  • 传输服务:MQTT、HTTP、CoAP、LWM2M、SNMP 五个独立服务,各监听一个端口,设备只跟它打交道,负责接收消息;
  • 规则引擎:每条到达的消息(遥测、属性更新、RPC)都进规则链,按节点连线做转换、过滤、告警、存储;
  • 存储:PostgreSQL 存实体与时序数据,Valkey 做缓存,Kafka 解耦服务间通信,入口由 HAProxy 转发。

核心配置模板在 application/src/main/conf/thingsboard.conf,数据库与队列类型等参数在docker/.env里调整。

两个真实场景

车队跟踪。车辆 GPS 持续上报位置,规则链过滤超速与偏离路线的消息触发告警,地图 Widget 实时显示轨迹。你在一张图上同时看到全部车辆当前位置和异常状态。

智慧农业。土壤温湿度传感器数据入库,超阈值时规则链触发告警或灌溉建议,仪表盘展示历史曲线。你在办公室里就能盯住整个地块的水肥状况。

两个场景的方案模板都内置在 IoT Hub(界面左侧导航),装一个模板相当于拿到一套配好的设备定义、规则链和仪表盘:

卡住了看这里

容器起不来或页面打不开。先docker-compose ps看哪个服务在重启,再docker-compose logs -f tb-core1 tb-mqtt-transport1追日志;首次安装中断的话重新执行./docker-install-tb.sh --loadDemo,脚本可重复运行。

MQTT 连不上 1883。确认tb-mqtt-transport1容器是 Up 状态;入口端口由 HAProxy 转发,若宿主机端口被占用,改docker/.env里的映射后重启。

忘了账号或没有演示数据。账号固定:sysadmin@thingsboard.org/sysadmin、tenant@thingsboard.org/tenant;没有演示数据就加--loadDemo重装一次,数据会补上。

下一步

下一个目标:写一条你自己的告警规则链——在规则链里加一个 Switch 节点判断温度超阈值,再挂一个 Send Email 节点,打开节点 Debug 模式看消息如何一步步走到告警。配置参考 application/src/main/conf/thingsboard.conf,设备侧脚本可直接改造 tools/src/main/python/ 下的示例,界面细节查内置帮助文档源文件 ui-ngx/src/assets/help/en_US/。

【免费下载链接】thingsboardAll-in-one IoT Platform - Device management, data collection, processing and visualization.项目地址: https://gitcode.com/GitHub_Trending/th/thingsboard

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/18 1:56:41

AI建站实战:从生成到自动部署,彻底解决网站更新难题

1. AI建站到底怎么解决“没时间更新”这个死结先说一个我身边的真实状态:白天被各种会议、需求、工单塞满,晚上回家只想躺着刷手机,连自己网站后台多久没登录都记不清了。每次想起来“该更新了”,又觉得从头改页面、调样式、写文案…

作者头像 李华
网站建设 2026/10/18 1:55:59

ComfyUI-LTXVideo 完整攻略:LTX-2 视频生成从 0 到出片一次到位

ComfyUI-LTXVideo 完整攻略:LTX-2 视频生成从 0 到出片一次到位 【免费下载链接】ComfyUI-LTXVideo LTX-Video Support for ComfyUI 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-LTXVideo ComfyUI-LTXVideo 是 ComfyUI 生态里最完整的 LTX-2 …

作者头像 李华
网站建设 2026/10/18 1:55:11

ChainEdit: Propagating Ripple Effects in LLM Knowledge Editing through Logical Rule-Guided Chains

文章主要内容总结 本文针对大语言模型(LLMs)知识编辑中存在的“涟漪效应”问题(即编辑某一知识后,难以同步更新逻辑关联的其他知识,导致逻辑不一致),提出了名为ChainEdit的框架。该框架通过整合知识图谱(KG)提取的逻辑规则与LLM的内在逻辑推理能力,实现知识的系统性…

作者头像 李华
网站建设 2026/10/18 1:54:04

PLM选型避坑指南:从系统热配置到BOM变更的真实对比

简介:这份PDF对比表面向正在推进PLM/PDM选型的企业信息化负责人、技术架构师与项目决策者,聚焦达索、西门子、PTC三大国际厂商的解决方案横向评估。内容从供应商综合实力、技术方案完整性、数字化制造与系统工程能力,延伸到平台架构、系统性能…

作者头像 李华
网站建设 2026/10/18 1:53:56

CCO服务:分布式上下文透传机制与微服务治理实践

简介:这份资源是面向Java开发者与企业级应用学习者的「CCO服务」源码工程包,适合具备一定Java基础、希望了解客户服务或运营类系统实现方式的读者参考。压缩包共62个文件,以52个Java源文件为主体,辅以4个XML配置、3个YML配置文件&…

作者头像 李华