平台简介
UNIHH-IOT 是一套面向工业现场的轻量级开源物联网平台,提供多协议南向数采接入、物模型动态建模、分布式规则计算、多存储引擎路由以及北向反向控制能力。后端为 Java 微服务,消息总线采用 EMQX,前端基于 Vue 3,前后端代码全部开放,基于 Apache License 2.0,可免费商用。
它解决什么问题
工业数据采集领域长期存在几个痛点,UNIHH-IOT 从架构设计上逐一应对:
| 传统方案的问题 | UNIHH-IOT 的做法 |
|---|---|
| 平台依赖重度云原生组件,内存以 GB 计,难以在边缘工控机常驻 | 核心服务堆内存 64~128MB,单驱动 32~64MB,可运行在树莓派级别设备 |
| 驱动与主平台同进程,靠类加载器动态挂载,单驱动故障引发全平台宕机 | 每个协议驱动是独立微服务进程,通过 EMQX 总线与平台通信,故障只影响自身 |
| 只能采集,反向控制易出现粘包、乱序、错帧 | 通道级公平互斥锁(getChannelLock)使采集与反写自动串行执行 |
| 前端陈旧,二次开发成本高 | Vue 3 + Element Plus 重写全部界面,提供完整 REST API |
核心特性
- 双向读写:高并发点位轮询采集(Read/Decode)与北向控制指令毫秒级下发(Write/Encode)。
- 分布式独立驱动架构:驱动基于
AbstractDriverPlugin与BaseDriverMqttManager实现,自动完成在线注册、心跳保持、LWT 掉线遗嘱、配置热同步与反控指令监听。 - 通道级公平互斥锁:针对 RS485 半双工总线与 TCP 单会话通信,读写串行化,消除指令并发粘包与时序错帧。
- 统一物模型抽象:属性(Property)、服务(Service)、事件(Event)三要素建模,物理点位与物模型测点动态映射绑定。
- 多引擎策略存储:存储模块
unihh-storage采用策略模式与工厂路由,支持 TDengine、TimescaleDB、InfluxDB、MySQL、Redis 及高频内存缓冲,单条save与批量saveBatch均可。 - 裸机/JAR 运维友好:微服务间通过
application.yml显式映射地址,单个 JAR 包java -jar即可启停,适合边缘部署。 - Docker Compose 一键部署:仓库自带编排文件,MySQL、EMQX、核心微服务与协议驱动共 8 个服务一条命令拉起,MySQL 自动建库导表。
平台一览
监控大盘集中呈现设备在线率、驱动健康度、数采吞吐与告警态势:

协议驱动以卡片形式管理,支持通道心跳自检与毫秒级 RTT 延迟探测:

更多界面与操作方式,请阅读操作手册。