UNIHH-IOT:赋能工业数字化转型的轻量级高性能物联网平台(前后端全开源)

简介: UNIHH-IOT 是一款轻量高性能开源物联网平台,专为工业数字化转型设计。采用分布式微服务驱动+工业级MQTT总线+Vue3全栈架构,突破IT/OT数据壁垒,支持毫秒级双向读写、低至64MB内存占用、边缘常驻运行,已开源前后端代码,助力智能制造降本增效。

UNIHH-IOT:赋能工业数字化转型的轻量级高性能物联网平台

连接工业全要素 · 激活边缘新动能 · 赋能数字新制造

在工业 4.0 与数字化转型浪潮下,UNIHH-IOT 致力于打破 IT 与 OT 的数据壁垒,颠覆传统工业数采平台“架构臃肿、资源吞噬、驱动耦合、只采不控”的行业痛点。前后端代码现已全面开源,为制造业企业、系统集成商及广大开发者提供开箱即用、稳定可靠的企业级物联网底座。


项目仓库

Gitee-欢迎在项目右上角点亮一颗 Star
Github-欢迎在项目右上角点亮一颗 Star


1. 行业背景与核心定位:赋能智能制造新时代

当前,制造业数字化转型正步入深水区。设备互联互通、数据实时汇聚与智能反向控制,已成为企业打造透明工厂、提升 OEE、实现柔性生产的关键基础设施。

然而,市面上的传统工控与物联网方案往往让企业和开发者陷入两难:

  • 重型平台部署门槛高:依赖重度云原生全家桶,动辄数 GB 内存起步,难以在边缘端工控机或资源受限场景下常驻;
  • 单体架构稳定性脆弱:传统平台常通过 JVM 类加载器动态挂载驱动,一旦某个第三方设备协议异常崩溃,便引发全平台级联宕机;
  • 控制链路断层:多数平台仅停留在“单向数据采集”阶段,面对半双工工业总线(如 RS485)的反向控制指令下发,极易出现粘包乱序与时序错帧;
  • 人机交互陈旧:许多工业级系统前端交互落后、二次开发难度大,难以满足现代化工业看板与精细化资产运维的需求。

UNIHH-IOT 的诞生,正是为了颠覆这一现状!
平台创新性地采用“分布式独立微服务驱动 + 工业级 MQTT 消息总线 + 现代 Vue 3 全栈”架构,实现极轻量、高可靠、全链路可读可写的跨越式体验,全面赋能智能制造场景。


2. 核心价值矩阵:全方位赋能业务场景

+-----------------------------------------------------------------------------------+
|                            UNIHH-IOT 工业全场景赋能矩阵                           |
+--------------------+------------------------------+-------------------------------+
|    针对制造企业    |      针对系统集成商/方案商   |       针对开发者/研发团队     |
+--------------------+------------------------------+-------------------------------+
| • 打通IT/OT数据孤岛 | • 极速交付 SCADA/MES 数采底座 | • 标准物模型抽象,二次开发极简|
| • 实时监测设备工况 | • 统一异构设备协议接入标准   | • 驱动底座开箱即用,拒绝重复造轮子 |
| • 设备全生命周期追踪 | • 边缘工控机低成本常驻运行   | • 前后端架构分层清晰,学习曲线平缓 |
+--------------------+------------------------------+-------------------------------+

3. 界面实景一览:现代化的工业级视觉与交互

系统前端基于 Vue 3 + Element Plus + Vite + ECharts 打造,提供开箱即用的专业工业控制台。以下为系统真实运行效果:

3.1 数字化监控大盘

全景呈现设备在线率、驱动健康度、实时数采吞吐与告警态势:
在这里插入图片描述

3.2 协议驱动管理与毫秒级通道自检 (Ping)

直观呈现驱动运行容器、内存状态与活跃通道,支持一键发起链路 RTT 延迟探测:
在这里插入图片描述

3.3 物理设备台账与连接管理

全生命周期管理现场 PLC、智能仪表与采集网关通信参数:
在这里插入图片描述

3.4 统一物模型建模与点位绑定

支持属性(Property)、服务(Service)、事件(Event)标准化定义与寄存器动态映射:
在这里插入图片描述

3.5 实时数据流监控与点位快照

毫秒级查看测点当前工程值、数据品质(Quality)与历史采集快照:
在这里插入图片描述

3.6 规则计算与智能告警联动

灵活设定阈值判断规则与报警联动动作,实现故障秒级预警:
在这里插入图片描述


4. 颠覆传统的四大硬核技术优势

4.1 颠覆传统单体:分布式微服务驱动沙箱

南向协议驱动(Modbus、西门子 S7、OPC UA 等)全部以独立微服务进程形态运行:

  • 故障零扩散:单驱动发生死锁、网络超时或内存泄漏,仅自身重启,主平台与其它协议持续稳定运行;
  • 资源按需调配:现场用什么协议就启动什么驱动,告别资源浪费;
  • 全生命周期托管:基于 EMQX MQTT 总线,驱动启动自动完成上线自注册、配置热更新、心跳保活与 LWT 掉线遗嘱广播。

4.2 颠覆“只采不控”:全链路双向读写与通道级公平锁

  • 双向赋能:兼具高并发点位轮询采集(Read/Decode)与北向控制指令毫秒级下发(Write/Encode);
  • 通道公平互斥锁 (getChannelLock):专门针对现场 RS485 半双工总线与单会话 TCP 通信设计,自动实现采集与反写串行化,彻底消除指令粘包与乱序错帧。

4.3 颠覆臃肿资源消耗:极致低内存与边缘原生设计

  • 采用零拷贝、对象池重用与基本数据类型优先策略,大幅削减垃圾回收停顿;
  • 平台经过极致堆内存调优,核心业务服务堆内存仅需 64MB ~ 128MB,单协议驱动仅需 32MB ~ 64MB,搭配 SerialGC,可在百元级树莓派或低配工控机上全天候稳定常驻。

4.4 颠覆繁琐开发:3 步交付全新工业协议驱动

内置高封装的 unihh-protocol 驱动底座,开发者只需继承基类,专注于业务报文编解码,无需编写任何 MQTT 连接、心跳与重试样板代码:

@Component
@IoTDriver(code = "custom-protocol", name = "自定义协议驱动", version = "1.0.0")
public class CustomDriverPlugin extends AbstractDriverPlugin {
   

    @Override
    public boolean openConnection(DeviceConfig config) throws Exception {
   
        // 与现场设备建立长连接
        return true;
    }

    @Override
    public ParsedPayload readPoints(DeviceConfig config, List<ThingModel.PropertySpec> points) throws Exception {
   
        ParsedPayload payload = new ParsedPayload();
        // 采集数据填充:payload.addPoint(pointCode, value, quality, timestamp);
        return payload;
    }

    @Override
    public boolean writePoint(DeviceConfig config, String pointCode, String address, Object value, String dataType) throws Exception {
   
        // 响应反控指令,向物理设备寄存器精准回写
        return true;
    }
}

5. 整体架构与技术选型

5.1 整体分层架构

+-----------------------------------------------------------------------------------+
|                            物理设备与现场工业总线 (物理层)                        |
|       Modbus PLC/仪表  |  西门子 S7-200/300/1200/1500  |  OPC UA Server / SCADA   |
+----------------------------------------+------------------------------------------+
                                         | 物理网络 (TCP/IP / 串口 RS485)
                                         v
+-----------------------------------------------------------------------------------+
|                        分布式独立协议驱动服务 (南向驱动层)                        |
|   [Modbus 驱动 :28011]   |   [西门子 S7 驱动 :28012]   |   [OPC UA 驱动 :28013]   |
|   继承 AbstractDriverPlugin 基类,由 BaseDriverMqttManager 自动托管 MQTT 总线通信 |
+----------------------------------------+------------------------------------------+
                                         | EMQX MQTT 总线 (数据上报 / 心跳 / 遗嘱 / 反控)
                                         v
+-----------------------------------------------------------------------------------+
|                           核心工业消息总线 (消息层)                               |
|                  EMQX Broker 集群  <=======>  Redis 缓存 / 在线状态               |
+----------------------------------------+------------------------------------------+
                                         | 共享订阅 / 专属主题广播
                                         v
+-----------------------------------------------------------------------------------+
|                         核心业务微服务群 (应用与平台层)                           |
|  [统一网关 unihh-gateway :28000]                                                  |
|       |-- REST/JWT 路由与鉴权 --> [管理中心 unihh-admin :28001] (物模型/设备/驱动管理) |
|       `-- REST/数据流转发 ------> [数据中心 unihh-data :28002] (规则引擎/数据入库) |
+----------------------------------------+------------------------------------------+
                                         | 策略路由 (StorageEngineRouter)
                                         v
+-----------------------------------------------------------------------------------+
|                             多形式持久化存储 (存储层)                             |
|    TDengine (时序)  |  TimescaleDB / InfluxDB  |  MySQL 8.0 (业务)  |  Redis 缓存 |
+-----------------------------------------------------------------------------------+

5.2 技术栈与核心微服务一览

  • 前端平台:Vue 3.4、Vite 5、Element Plus、ECharts、Axios
  • 后端框架:Java 8 / 17、Spring Boot 2.7.x、Maven 多模块
  • 消息总线:EMQX 5.x(MQTT 5.0 协议标准)
  • 混合持久化:TDengine 3.x(海量时序数采)、MySQL 8.0(业务资产配置)、Redis(高频状态缓存)
服务模块 角色类型 默认端口 职责定位
unihh-gateway 统一网关 28000 统一请求路由分发、CORS 跨域安全处理、JWT 鉴权拦截
unihh-admin 管理中心 28001 设备资产台账、物模型动态定义、驱动全生命周期、反向控制指令下发
unihh-data 数据中心 28002 工业点位数据清洗校准、规则引擎计算、告警触发、存储策略分流
unihh-driver-modbus 协议驱动 28011 Modbus TCP/RTU 协议独立驱动,多从站轮询采集与寄存器反写
unihh-driver-s7 协议驱动 28012 西门子 S7-200/300/1200/1500 PLC 驱动,DB 块及各存储区读写
unihh-driver-opcua 协议驱动 28013 OPC UA 协议驱动,NodeId 点位订阅与方法调用
unihh-frontend 前端控制台 5173 Vue 3 工业大屏与全功能运营管理界面

6. 3 分钟极速上手体验

第一步:一键启动 EMQX 工业消息总线

平台官方提供预置好鉴权配置的专用 Docker 镜像:

docker run -d --name unihh-emqx \
  -p 1883:1883 \
  -p 8083:8083 \
  -p 8084:8084 \
  -p 8883:8883 \
  -p 18083:18083 \
  registry.cn-shenzhen.aliyuncs.com/deversun/unihh-emqx:v20261009

第二步:导入数据库脚本

  1. 在 MySQL 8.0 中创建数据库 unihh_iot;
  2. 执行业务初始化脚本:db/unihh_iot.sql;
  3. (可选) 若需启用高性能时序存储,执行:db/tdengine_schema.sql。

第三步:按序启动微服务

在开发环境或终端中依次启动核心服务:

  1. 启动统一网关:unihh-gateway (:28000)
  2. 启动管理中心:unihh-admin (:28001)
  3. 启动数据中心:unihh-data (:28002)
  4. 启动所需驱动:如 unihh-driver-modbus (:28011)

第四步:启动前端控制台

cd unihh-frontend
npm install    # 或 pnpm install
npm run dev

浏览器访问 http://localhost:5173 即可进入系统。

第五步:默认访问清单

系统入口 访问地址 用户名 默认密码
UNIHH-IOT 平台管理端 http://localhost:5173 admin unihhiot
EMQX Dashboard 控制台 http://localhost:18083 admin public
MQTT 内部总线认证 tcp://localhost:1883 unihh unihh

7. 典型赋能落地场景

  • 🏭 智慧车间与数字工厂:作为企业 SCADA / MES 的实时数据底座,打通注塑机、机床、PLC 与各类仪表的双向数据链路。
  • 🖥️ 边缘智能软网关:运行在工控机、树莓派等边缘设备上,实现“就地采集、边缘计算、断网暂存、反控执行”。
  • ⚡ 智慧能耗与动环监控系统:对园区配电回路、温湿度、UPS、精密空调的高频采集与时序分析。
  • 📦 装备制造设备远程运维:设备出厂自带联网中台,实现设备运行工况实时透传与远程故障诊断。

8. 开源协议与社区生态

本项目严格遵循商业友好的 Apache License 2.0开源协议,支持个人及企业用户免费商用、自由修改与分发。

  • 💡 期待您的加入:欢迎在 Issue 中反馈现场遇到的工业协议与设备兼容性场景;
  • 🚀 共建协议生态:欢迎提交 Pull Request,一起扩充 BACnet、DL/T 645、三菱 MC、欧姆龙 FINS 等更多南向驱动插件;
  • ⭐ 支持开源:如果您觉得本项目对您的工作、项目或学习有所帮助,欢迎在项目右上角点亮一颗 Star!
目录
相关文章
|
数据采集 JSON JavaScript
全面拥抱FastApi —三大参数及验证
全面拥抱FastApi —三大参数及验证
|
传感器 物联网 数据处理
认识IoT的基本概念和架构
物联网(Internet of Things, IoT)是现代信息技术的重要组成部分,通过将物理设备连接到互联网,实现设备之间的互联和数据交换。随着传感技术、通信技术和数据处理能力的不断提升,物联网在各个领域展现出巨大的潜力和应用前景。本文将介绍物联网的基本概念、架构、关键技术及其应用场景,并探讨其未来的发展趋势。
3625 3
|
21小时前
|
缓存 人工智能 API
Qwen3.8-Flash——多模态 MOE 模型,支持百万级上下文窗口,能一次性处理超长文档、代码仓库
Qwen3.8-Flash是通义千问最新多模态大模型,原生支持百万级上下文,擅长长文档/代码/图文理解与智能体协作;响应快、成本优,兼容OpenAI/Anthropic协议。开通百炼即赠100万Tokens!
|
20小时前
|
人工智能 算法 Oracle
微软实测:Coding Agent 自写自测,通过率还能信吗?
本文以企业支付SDK退款接入为案例,揭示Coding Agent在知识、工具、环境与评测四方面的系统性缺口,提出基于真值包、受控沙箱与行为轨迹的补丁验收闭环,强调“可验证的正确”而非“能跑即合格”。
微软实测:Coding Agent 自写自测,通过率还能信吗?
|
20小时前
|
人工智能 运维 测试技术
UI 智能遍历测试:状态识别、路径规划与覆盖率评估
UI智能遍历测试是一种基于状态识别、路径探索与动态反馈的自动化测试方法,解决传统Monkey测试覆盖不均、重复无效操作等问题。通过构建UI状态图、智能去重、覆盖驱动路径规划及多维度异常检测,显著提升业务路径覆盖率与问题发现效率。
UI 智能遍历测试:状态识别、路径规划与覆盖率评估
|
21小时前
|
人工智能 测试技术 知识图谱
变更驱动回归测试:基于业务规则关联的用例选择与结果校验
本文探讨自动化回归测试中易被忽视的核心问题:需求变更后,用例仍按旧规则执行,导致覆盖失效、断言失准、路径过时。提出融合RAG、知识图谱与AI Agent的新范式,实现需求—测试资产动态关联、影响范围智能识别、边界用例精准生成及多维度结果校验,提升回归测试业务契合度与适应性。
 变更驱动回归测试:基于业务规则关联的用例选择与结果校验
|
22小时前
|
安全 数据建模 网络安全
网站SSL证书多少钱一年?看看阿里云SSL证书收费标准(DV/OV/EV)
阿里云SSL证书价格因品牌(DigiCert、GeoTrust等)、类型(DV/OV/EV)及域名类型(单域名/通配符/多域名)而异,年费从318元至4.8万元不等。含免费DV测试证书、自动化服务选配及部署说明,详情可查官网报价。
19 0
网站SSL证书多少钱一年?看看阿里云SSL证书收费标准(DV/OV/EV)
|
2天前
|
存储 人工智能 自然语言处理
千问办公官网入口链接在哪?2026年最新QwenWork测评、千问办公怎么样?一文看懂
千问办公(QwenWork)是阿里云推出的AI智能办公平台,提供网页端和阿里云官网双入口。支持PPT/Word/Excel生成、多模态处理、网页全栈搭建、钉钉深度集成等6大核心能力。个人版免费可用,高级版198元/月;企业版198元/人/月。新用户注册即赠2000积分。阿里千问办公QwenWork官网:https://t.aliyun.com/U/0VCTGt 阿里AI工作平台,一句话完成数据分析、PPT 生成、视频剪辑、网页搭建等复杂任务
257 0
|
23小时前
|
前端开发 关系型数据库 芯片
5A级低内阻OCP USB限流保护芯片IC的NMOS防倒灌结构说明
平芯微PW系列USB保护芯片含9颗型号,覆盖OVP过压(6.1V固定/可调)与OCP过流(0.2–5A可调)两大方向,支持反接、恒流、锁存、LDO、OTP等多重保护,适用于USB端口、充电前端及电源路径,高可靠性、快响应(最快100ns)、小封装。