UNIHH-IOTUNIHH-IOT
首页
使用指南
操作手册
  • 简体中文
  • English
GitHub
首页
使用指南
操作手册
  • 简体中文
  • English
GitHub
  • 使用指南

    • 平台简介
    • 快速开始
    • 系统架构
    • 驱动开发指南
    • 部署与运维

系统架构

整体架构

自上而下分为五层:物理设备经现场总线接入独立协议驱动,驱动与核心微服务之间全部交互走 EMQX 消息总线,存储层按数据形态策略路由落库。

UNIHH-IOT 整体架构

服务拆分

独立微服务进程

模块名称进程类型默认端口核心职责
unihh-gateway微服务28000统一访问入口、REST 路由分发、CORS 处理、JWT 鉴权拦截
unihh-admin微服务28001用户角色 RBAC、设备台账、物模型定义、驱动生命周期托管、控制指令下发
unihh-data微服务28002点位清洗归一化、规则引擎运算、告警触发、存储引擎持久化分流
unihh-driver-modbus驱动服务28011Modbus TCP/RTU 采集与寄存器反写
unihh-driver-s7驱动服务28012西门子 S7-200 SMART/300/1200/1500,DB 块及各存储区读写
unihh-driver-opcua驱动服务28013OPC UA NodeId 节点采集与方法调用

共享 Maven SDK 模块

模块名称核心职责
unihh-common全局通用模型(PointData、DriverInfo、DeviceConfig)、统一响应体、EMQX MQTT 客户端底座
unihh-protocol驱动基类 AbstractDriverPlugin、采集轮询引擎 DriverPollingEngine、端点控制器 BaseDriverController、工业大小端工具 IndustrialEndianUtils
unihh-storage策略存储接口 DataStorageEngine、路由适配器 StorageEngineRouter,内置 Memory/Redis/MySQL/TDengine 实现

技术选型

层级组件/技术说明
基础框架Java 8 / 17 + Spring Boot核心开发语言与轻量框架生态
构建管理Maven统一管理全局与子模块依赖
网关中心Spring WebAPI 路由转发、跨域配置、JWT 鉴权拦截
消息总线EMQX 5.x数采与控制总线,支持 MQTT 5.0 共享订阅与保留消息
南向驱动底座unihh-protocol抽象驱动基类、周期数采引擎、LWT 遗嘱保活、REST 调试接口
持久化存储TDengine 3.x / TimescaleDB / MySQL时序数据、配置数据分类落库
高速缓存Redis点位实时值镜像、用户 Token 与会话保持
前端交互Vue 3 + Element Plus + Vite + ECharts管理控制台与工业看板

核心数据流

驱动生命周期与遗嘱保活

驱动启动即向平台自动注册,此后以 5 秒周期心跳保活;异常掉线由 LWT 遗嘱与看门狗双重兜底。

驱动生命周期与遗嘱保活时序

要点:

  • 驱动正常下线或异常崩溃,管理中心都能在秒级感知;
  • 看门狗在 MQTT 遗嘱之外提供第二重保障:心跳超过 15 秒未更新即判定离线;
  • 驱动离线会级联将其下挂设备标记为离线,避免虚假在线状态。

采集与存储分流

采集数据经总线进入数据中心,完成规则计算与告警判定后按数据形态路由落库。

采集与存储分流

反向控制链路

控制指令从平台侧经网关鉴权后,通过专属 MQTT 主题定向到达驱动,在通道锁内串行写入设备。

反向控制链路

半双工总线(如 RS485)上的读写在通道锁内自动排队串行执行,详见驱动管理操作说明。

MQTT 主题规范

平台所有驱动交互均基于 MQTT 主题,完整主题表见 MQTT 主题参考。

在 GitHub 上编辑此页
上次更新: 2026/11/13 03:34
Contributors: sunqi
Prev
快速开始
Next
驱动开发指南