ThingLinks-IoT 物联网平台 | 多协议接入·物模型·告警联动·视频接入·AI 助手 一体化方案
ThingLinks-IoT 物联网平台 | 多协议接入·物模型·告警联动·视频接入·AI 助手 一体化方案
一个面向项目交付与企业生产场景的国产物联网中台——把"设备接入 → 数据处理 → 告警联动 → 业务集成"这条链路上的通用能力一次性做完做稳,让你只关心自己的业务。
🔗 在线演示:http://thinglinks.vip
🔗 社区版开源仓库:https://gitee.com/chinachentao/thinglinks-community
一、定位与技术栈
ThingLinks-IoT 不追求"all in one、什么都能干",专注做一件事:把物联网项目里那些每个交付都要重写一遍的轮子,做成一个稳定可用、可商用、可二次开发的平台底座。
技术选型务实,全 Java 全开源生态,方便国内团队直接上手:
| 层 | 选型 |
|---|---|
| 基础框架 | 基于若依(RuoYi) —— 直接复用权限 / 字典 / 部门 / 角色 / 代码生成器 / 操作日志等基础能力 |
| 后端 | Spring Boot + MyBatis-Plus + Druid + Redis |
| 接入层 | Netty 实现的多协议网关 |
| 关系数据库 | MySQL · PostgreSQL · 人大金仓 |
| 时序存储 | TDengine —— 设备属性 / 操作日志 / 告警记录写入 |
| 视频接入 | ZLMediaKit + 主流摄像头厂商 SDK |
| 地图 | 高德地图 / 天地图 |
| 前端 | Vue 2 + Element UI(跟若依一致,无额外学习成本) |
| 移动端 | uni-app(一套代码覆盖 H5 / Android / 微信小程序) |
| 报表 | 集成 jimu-report,拖拽式报表与大屏 |
二、核心能力速览
| 能力 | 内容 |
|---|---|
| 多协议接入 | MQTT · CoAP · HTTP · TCP · UDP · WebSocket · Modbus TCP · Modbus DTU (RTU) |
| 私有协议插件 | 协议解码 jar 上传即加载,热插拔;也支持 Spring Bean 模式内置 |
| 协议调试工具 | 平台内置每种协议的调试入口,新协议未联调好也能本地跑通 |
| 物模型 | 产品级属性定义,自动解析上下行数据,覆盖数值 / 布尔 / 字符串 / 字典 / 结构体等类型 |
| 指令下发 | 按产品级 / 设备级配置可下发指令模板,调用即下发,全过程日志可追溯 |
| 告警 | 告警配置 + 告警记录 + 告警联动(一次告警串接多个动作) |
| 场景自动化 | 触发条件 + 执行动作,支持 CRON 定时 + 设备事件触发 |
| 规则引擎 | 跨设备 / 跨字段条件组合判断,触发动作、消息转发、定时下发指令 |
| 固件 OTA | 固件管理 + 升级任务 + 每台设备的升级明细 |
| 设备分组 | 支持产品分组与设备分组两类,方便批量操作与查询 |
| 设备一张图 | 高德 / 天地图集成,设备位置可视化、点聚合、点位查询 |
| 视频接入 | 海康 / 大华 / 萤石主流厂商 SDK + ZLMediaKit 流媒体,Web 端 FLV / HLS 播放 |
| AI 助手 | 接入 DeepSeek 大模型 + 支持 Ollama 本地模型,自然语言操作设备/场景/告警 |
| 数据外发 | 数据源 + 表映射 + 转发配置,把平台数据写出到第三方库 |
| 国产化适配 | 国产 OS / 国产数据库(人大金仓)/ 国产中间件可平滑替换 |
三、设备接入:把多协议这件事一次做完
接入层是物联网平台最容易翻车的部分——协议杂、终端杂、网络环境差。ThingLinks-IoT 在这一块投入精力最多。
3.1 协议兼容矩阵
| 协议 | 典型场景 |
|---|---|
| MQTT | 大部分传感器、智能终端、网关;Broker 内置 |
| CoAP | 低功耗 / 受限网络终端 |
| HTTP / HTTPS | 摄像头、低频上报、与第三方系统对接 |
| TCP 透传 | 工业仪表、私有协议设备,长连接 + 心跳 |
| UDP | 低开销实时上报场景 |
| Modbus TCP | PLC、工业控制器,平台作为主站轮询 |
| Modbus DTU (RTU over TCP) | 通过 DTU 透传的串口设备 |
| WebSocket | Web / 小程序的双向通信场景 |
3.2 私有协议插件机制
平台对私有协议提供两种接入方式,按团队偏好选用:
- JAR 上传热插拔:把协议解码逻辑打成 jar,在平台「协议管理」页面直接上传,自动注册,不需要重启业务进程。
- Spring Bean 模式:把协议实现作为 Spring Bean 内置到 jar 包里,启动时自动装配,适合长期固化的私有协议。
3.3 协议调试工具
每种协议都内置了调试入口(MQTT / TCP / UDP / CoAP / HTTP / WebSocket / Modbus 等)——开发自定义协议时不需要真实设备就能跑通报文流程,极大降低现场联调成本。
四、物模型:让设备和业务"说同一种语言"
每个产品定义一份物模型,平台自动完成:
- 上行报文 → 解析为结构化属性
- 业务调用 → 编码下发到设备
- 按物模型类型把历史数据写入时序库
- 前端控件根据属性类型自动适配(开关、滑块、字典下拉、曲线)
最大的价值:新接入一类设备,前后端基本只剩配置——业务人员配完物模型,开发就可以省下大量"为每种设备写胶水代码"的时间。
五、告警 & 场景联动:从"知道"到"自动处理"
设备数据采上来之后,光看是没价值的,得让它能自动反应。
5.1 告警体系
- 告警配置:基于物模型属性配置阈值 / 范围 / 状态条件
- 告警联动:告警触发后串接多个执行动作(消息推送、下发指令、调外部接口、写库等)
- 告警记录:每条告警的发生时间、处理状态、处理人、处理结果全程留痕
5.2 场景自动化
当 [触发条件] 满足时,执行 [动作列表]
- 触发:定时(CRON 表达式)+ 设备事件
- 动作:下发指令 / HTTP 调用 / 通知推送 / 触发其它场景
举个真实例子:“每天 8:00~18:00,当 A 区温度 > 30°C 且湿度 < 40% 时,自动开启喷淋设备” —— 全流程图形化配置完成,不写一行代码。
5.3 规则引擎
跨字段、跨设备的条件组合判断,比单条告警更适合"工艺逻辑"。除了触发动作外,规则引擎还支持:
- 消息转发:把符合规则的设备数据转发到 MQ / Webhook / 其它数据源
- 定时下发指令:到点自动下发,比如每天 6:00 给一批设备发开机指令
六、其他实打实的特性
设备一张图
集成 高德地图 / 天地图,设备 / 摄像头按经纬度上图,支持点聚合、点位筛选、点击查看实时数据。设备位置用 AMapPositionPicker 拾取,新增设备时直接在地图选点即可。
固件 OTA
固件管理 + 升级任务 + 每台设备的升级明细。下发后能在任务页面看到每台设备的当前版本、升级状态、失败原因。
设备分组
支持产品分组与设备分组两类。批量下发、批量查询、批量操作都以分组为单位,避免手动一台台勾选。
设备日志
设备上线 / 下线 / 数据上报 / 指令下发 / 异常事件全部入库,方便事后追溯。
视频接入
摄像头部分用得最多的姿势全部支持:
- 海康(HK) / 大华(DH) / 萤石(YS) 主流厂商 SDK 接入
- ZLMediaKit 流媒体服务做转码与分发
- Web 端 FLV / HLS 播放
- 推拉流任务可配置、可定时
AI 助手
平台内置 AI 模块,接入 DeepSeek 在线大模型;也支持通过 Ollama 跑本地模型(演示中跑过 qwen2.5)。能做的事:
- 用自然语言问平台数据(“今天哪些设备告警最多?”)
- 设备故障时辅助分析日志、给出排查方向
- 配合物模型做指令解析(说人话下发指令、起草场景 / 告警规则草稿)
数据外发 / 第三方对接
thinglinks-store 模块提供数据源 + 表映射 + 转发配置——平台的数据可以按规则写出到客户已有的业务库,避免重新搭一套数据交互逻辑。
报表与大屏
集成 jimu-report,拖拽式设计报表 + 大屏,不写前端代码也能出可视化页面。
移动端 App
uni-app 实现,扫码绑定设备 / 查实时数据 / 推送告警,Android + 微信小程序 + H5 一套代码搞定。
七、架构概览
┌────────────────────────────────────────────┐
│ 前端 / 移动端 / 大屏 │
│ Vue2 Web │ uni-app App │ jimu 报表大屏 │
└─────────────────────┬──────────────────────┘
│
┌─────────────────────▼──────────────────────┐
│ 业务网关 ﹙基于若依 RBAC﹚ │
└─┬──────────────────┬─────────────────────┬─┘
│ │ │
┌───────▼──────┐ ┌────────▼─────────┐ ┌────────▼─────────┐
│ 设备 / 物模型 │ │ 告警 / 联动 / 场景 │ │ AI 助手 │
│ 产品 / 固件OTA│ │ 规则引擎 / 定时 │ │ DeepSeek / Ollama │
└───────┬──────┘ └────────┬─────────┘ └────────┬─────────┘
│ │ │
┌───────▼──────────────────▼──────────────────────▼───────┐
│ 接入网关层 (Netty) │
│ MQTT │ CoAP │ HTTP │ TCP │ UDP │ Modbus(TCP/DTU) │
│ │ WebSocket │ 私有协议插件(JAR 上传 / Spring Bean) │
└───────┬──────────────────────────────────────────────────┘
│
┌───────▼────────┐ ┌──────────┐ ┌─────────────────────┐
│ MySQL/PG/金仓 │ │ Redis │ │ TDengine ﹙时序﹚ │
│ ﹙业务数据﹚ │ │ ﹙缓存﹚ │ │ 属性 / 日志 / 告警 │
└────────────────┘ └──────────┘ └─────────────────────┘
+ 视频流:ZLMediaKit + 海康/大华/萤石 SDK
+ 地图:高德地图 / 天地图
+ 报表/大屏:jimu-report
+ 数据外发:thinglinks-store 数据源 + 表映射
八、典型适用场景
- 智慧农业:温湿度 / 光照 / CO₂ 传感器 + 通风 / 喷淋 / 补光自动联动
- 智慧水务:水位 / 流速 / 水质 + 阀门远控 + 分级行政区管理
- 智能工厂:PLC(Modbus) / 工业网关 + 能耗与产量大屏 + 异常自动停机
- 能源监控:电表 / 水表 / 气表数据汇聚 + 阈值告警 + 报表分析
- 园区安防:摄像头集中接入 + 设备一张图 + 告警联动
九、关于版本
| 社区版 | 商业版 | |
|---|---|---|
| 仓库 | gitee.com/chinachentao/thinglinks-community | 商务咨询 |
| 定位 | 让开发者了解架构、上手二次开发 | 项目交付级完整能力 |
| 适合谁 | 学习物联网平台架构 / 个人项目 | 企业生产 / 集成商交付 / 政企项目 |
| 支持 | 社区互助 | 私有化部署 + 定制开发 + 技术支持 |
演示站 thinglinks.vip 跑的就是商业版,所有功能可直接登录体验。
欢迎沟通:
- 💬 QQ 群:734515931(加群后联系群主)
- 🔗 演示站点:http://thinglinks.vip
- 🌟 社区版仓库:gitee.com/chinachentao/thinglinks-community
觉得项目不错,欢迎给社区版点个 ⭐ Star,也是对项目持续投入的最大鼓励!
开源不是"什么都白送",而是"该开放的就开放,该专业服务的就专业服务"。
期望 ThingLinks-IoT 能在你的下一个物联网项目里,帮你少加几个班。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)