ThingsBoard 从零入门:15 分钟部署平台并接入第一台设备
ThingsBoard 从零入门15 分钟部署平台并接入第一台设备【免费下载链接】thingsboardAll-in-one IoT Platform - Device management, data collection, processing and visualization.项目地址: https://gitcode.com/GitHub_Trending/th/thingsboardThingsBoard 是一个开源物联网平台负责设备管理、数据采集、处理与可视化。这篇 ThingsBoard 部署入门指南带你跑通完整链路本地起一个实例让一台模拟设备上报遥测数据再把它画成实时仪表盘。环境自检清单开工前逐条打勾后面不会卡一台至少 8GB 内存的机器Linux 或 macOSWindows 走 WSL2JDK 25 已安装java -version能正常输出Maven 3.9 及以上首次构建会拉取大量依赖网络别掐断8080、1883 两个端口未被占用分别是 Web/API 与 MQTT 入口Python 3 加上pip install paho-mqtt用于里程碑二的设备模拟脚本。里程碑一两条命令把 ThingsBoard 服务跑起来先说清楚本仓库的部署形态没有开箱即用的docker-compose.ymlmsa/ 下每个微服务带Dockerfile如 msa/tb-node/docker/完整微服务栈需要外部编排最快看到数据的方式是直接构建并运行单体应用配置模板在 application/src/main/conf/。先用 Maven 把全部模块编译出来约 10–30 分钟跳过测试mvn clean install -DskipTests构建成功判定最后一行输出BUILD SUCCESS。初始化内置数据库和演示账号cd application java -jar thingsboard-4.4.0.1-SNAPSHOT.jar -Dloader.mainorg.thingsboard.server.ThingsboardInstallApplication -Dplatformlocal看到Installation process finished之类的完成提示即成功。然后启动服务java -Dplatformlocal -DNON_PRODUCTION_USEtrue \ -jar thingsboard-4.4.0.1-SNAPSHOT.jar日志出现Started ThingsboardServerApplication后浏览器打开http://localhost:8080出现登录页即部署成功。用sysadminthingsboard.org/sysadmin登录进入租户后切到tenantthingsboard.org/tenant视角看业务数据。里程碑二MQTT 遥测上报最小示例登录后进入设备 → 创建设备协议选 MQTT创建后复制访问令牌Access Token——它就是设备的登录密码。仓库自带 tools/src/main/python/mqtt-send-telemetry.py 可以改成自己的联调脚本。最小可运行版本如下用户名填令牌、密码留空主题固定为v1/devices/me/telemetryimport paho.mqtt.client as mqtt client mqtt.Client() client.username_pw_set(你的访问令牌) client.connect(localhost, 1883, 60) client.publish(v1/devices/me/telemetry, {temperature: 25.5, humidity: 60})脚本静默退出、无报错就是发出去了。成功判定刷新设备详情页Latest Telemetry出现 temperature 和 humidity 两个键值设备状态变为 Active。到此采集链路已跑通。里程碑三给遥测数据配一块实时仪表盘回到 Web 控制台仪表盘 → 新建命名后进入编辑器。第一步添加实体别名给一组设备起名字Widget 里用别名引用不写死设备 ID别名可按实体列表或查询条件匹配。效果类似这样第二步从 Widget 库拖一个最新值小部件绑定刚创建的别名和temperature、humidity两个键保存。成功判定刷新页面卡片数值随每次上报自动更新不再需要手动刷新。顺路说一句IoT Hub 里还有现成的方案模板装一个等于拿到配好的设备定义、规则链和仪表盘机制回看一条消息的旅程数据并不直接落库排障时心里要有这张链路图MQTT 传输服务监听 1883校验访问令牌并接收设备消息Kafka 消息队列传输层与核心服务解耦消息先入队再消费服务间互不阻塞tb-core 核心服务负责鉴权、设备与属性管理承载 8080 的 REST API规则链规则引擎消息按节点连线流转默认路径保存时序数据也可加分流、告警节点时序存储 Web 前端仪表盘通过 REST 接口拉取时序数据拼成你看到的曲线和卡片。一句话设备 → 传输层 → Kafka → 规则链 → 时序库 → 仪表盘。避坑与自救构建期ui-ngx编译 OOM→ 前端模块吃内存 → 在命令前加MAVEN_OPTS-Xmx2g和NODE_OPTIONS--max_old_space_size4096重试。启动报 License 异常→ 4.4 起采用 BUSL 许可开发环境需显式声明 → 启动参数加-DNON_PRODUCTION_USEtrue实例会带非生产水印累计运行 30 天后自动停机。MQTT 连接被拒绝→ 90% 是令牌或主题写错 → 确认用户名是访问令牌、密码留空、主题为v1/devices/me/telemetry且客户端连的是 1883。仪表盘没数据→ 别名没绑到设备或 Widget 键名拼错 → 打开设备页确认 Latest Telemetry 有值再核对 Widget 里填的键名与上报键名完全一致。下一步路线如果你想让温度高于 30℃ 自动告警进规则链拖一个 Switch 加一个 Alarm 节点打开 Debug 模式看单条消息的流向——详见 ui-ngx/src/assets/help/en_US/ 内置文档。如果你想换 PostgreSQL 存数据、或用 msa/ 下的镜像做 Docker 微服务部署从 application/src/main/conf/thingsboard.conf 的配置模板入手。如果你想批量联调多台设备把 tools/src/main/python/ 下的脚本改造成自己的设备模拟器。【免费下载链接】thingsboardAll-in-one IoT Platform - Device management, data collection, processing and visualization.项目地址: https://gitcode.com/GitHub_Trending/th/thingsboard创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考