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 跑的就是商业版,所有功能可直接登录体验。


欢迎沟通:

觉得项目不错,欢迎给社区版点个 ⭐ Star,也是对项目持续投入的最大鼓励!


开源不是"什么都白送",而是"该开放的就开放,该专业服务的就专业服务"。
期望 ThingLinks-IoT 能在你的下一个物联网项目里,帮你少加几个班。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐