1、课程导论:ThingsBoard平台概述、Modbus协议概述、课程目标与学习路径、环境准备总览
1.1 ThingsBoard平台概述
各位同学好,我是你们这门课的老朋友。咱们先聊聊ThingsBoard这个平台。
ThingsBoard,说白了就是一个开源的物联网平台。它帮你解决设备接入、数据收集、可视化展示、规则引擎处理这些头疼事。我最早接触它是在2018年,那时候项目急着要一个能快速上线的物联网后台,商业平台太贵,自己从头写又太慢。嗯,ThingsBoard就这么走进了我的视野。
它有几个核心能力,我简单列一下:
- 设备管理:注册设备、管理凭证、查看在线状态
- 数据采集:支持MQTT、HTTP、CoAP、Modbus等多种协议
- 可视化仪表板:拖拽式设计,图表、地图、控件随便搭
- 规则引擎:数据过滤、转换、告警、联动,全凭你配置
- 租户与权限:多租户架构,适合做SaaS平台
我个人习惯把它比作「物联网界的WordPress」——开箱即用,插件丰富,社区活跃。你想想看,一个平台能同时搞定设备接入、数据存储、前端展示,这得省多少事?
核心要点:ThingsBoard是开源、可扩展、企业级的物联网平台。它支持从单机部署到集群部署,从小项目到大项目,都能驾驭。
1.2 Modbus协议概述
聊完平台,咱们说说Modbus。这玩意儿可是工业界的「普通话」。
Modbus协议诞生于1979年,由Modicon公司发明。你想想看,四十多年的老协议,到现在还在大量使用,为什么?因为它简单、可靠、开放。
Modbus主要分三种:
| 类型 | 传输介质 | 典型场景 |
|---|---|---|
| Modbus RTU | RS-232 / RS-485 | 工厂车间、PLC连接 |
| Modbus ASCII | RS-232 / RS-485 | 老旧设备、调试场景 |
| Modbus TCP | 以太网 | 现代工厂、远程监控 |
我在项目中遇到过最典型的场景:一个污水处理厂,几十台传感器通过RS-485总线连到网关,网关再用Modbus TCP把数据传到ThingsBoard。嗯,这里要注意,Modbus RTU和TCP的报文结构略有不同,后面章节我会详细拆解。
避坑指南:我曾经在一个项目中,因为没注意Modbus的寄存器地址是从0开始还是从1开始,导致读出来的数据全是错的。记住,协议文档里写的是「寄存器编号」,而实际报文里用的是「寄存器地址」,两者差1。
1.3 课程目标与学习路径
这门课到底能帮你学到什么?我直接说干货:
- 理解Modbus协议核心:报文结构、功能码、寄存器映射,不再对着文档发懵
- 掌握ThingsBoard Modbus集成:从配置到调试,从单设备到批量接入
- 实战项目经验:真实工业场景的完整案例,包括常见坑的解决方案
- 故障排查能力:数据不对怎么办?设备连不上怎么办?我会教你一套排查思路
学习路径我建议这样走:
- 第一阶段(第1-5章):打好基础,理解Modbus和ThingsBoard的基本概念
- 第二阶段(第6-15章):动手实践,从单设备接入到多设备管理
- 第三阶段(第16-25章):进阶技巧,规则引擎、告警、仪表板深度定制
- 第四阶段(第26-30章):综合实战,完整项目从零到一
你想想看,30章课程,每章都有实操,学完你就能独立搞定Modbus设备接入ThingsBoard的项目。我当年要是有人这么带我,至少能少走三个月弯路。
1.4 环境准备总览
工欲善其事,必先利其器。咱们先把环境搭好。
你需要准备的东西:
| 组件 | 推荐版本 | 说明 |
|---|---|---|
| ThingsBoard | 3.6.x 或 3.7.x | 建议用Docker部署,省心 |
| Modbus模拟器 | Modbus Slave / ModSim | 模拟从站设备,方便调试 |
| Modbus调试工具 | Modbus Poll / QModMaster | 抓包分析,排查问题 |
| 操作系统 | Ubuntu 20.04+ 或 Windows 10+ | Linux部署更稳定,Windows开发更方便 |
| Docker | 20.10+ | 用于快速部署ThingsBoard |
重要提醒:如果你用的是Windows,记得关闭防火墙或者放行相关端口。我曾经在客户现场折腾了两小时,最后发现是Windows防火墙把Modbus TCP的502端口给拦了。嗯,这种低级错误,犯一次就记住了。
我个人习惯用Docker部署ThingsBoard,命令很简单:
# 拉取镜像
docker pull thingsboard/tb-postgres:3.7.0
# 运行容器
docker run -itd \
--name thingsboard \
--restart always \
-p 9090:9090 \
-p 1883:1883 \
-p 5683:5683/udp \
-p 502:502 \
thingsboard/tb-postgres:3.7.0
注意看,我把502端口也映射出来了,这就是Modbus TCP的默认端口。后面咱们的Modbus网关或者模拟器,就是通过这个端口跟ThingsBoard通信的。
好了,环境准备就这些。下一章咱们就开始动手,先部署ThingsBoard,再配置第一个Modbus设备接入。有什么问题,咱们课程群里见。
课后小作业:先装好Docker,拉取ThingsBoard镜像并启动。然后下载一个Modbus模拟器(比如Modbus Slave),随便配置几个寄存器。下节课咱们就用这个环境做实战。