English | 中文 | 日本語 | Tiếng Việt | 한국어 | Español | Русский
AI 助手: 请先阅读 README.ai.md 获取 IoT DC3 的 AI 友好概述。
IoT DC3 — 多协议接入、云原生、开源的工业物联网平台
AI 赋能,从设备连接走向工业智能体
🔌 多协议接入 · 🤖 AI Agentic 中心 · ☁️ 云原生微服务
| 📸 平台概览 | 📸 设备管理 | 📸 AI 智能对话 |
|---|---|---|
平台首页 / 仪表盘 系统概览 · 设备在线统计 · 数据趋势图表 |
设备管理页面 设备列表 · 在线状态指示 · 搜索筛选 |
AI 智能对话页面 自然语言查询设备 · 数据分析 · 智能辅助 |
六层微服务架构一览:客户端 → 网关 → 四个中心服务 → 消息总线 → 36 协议驱动 → 现场设备。PostgreSQL(TimescaleDB + pgvector + AGE)持久层与可选运维栈(ELK + Prometheus + Grafana)一并铺开。
🧱 设计原则 — 跨服务调用统一经 Facade 接口;DO/BO/VO 三层模型严格分离持久化、业务与接口形态;租户隔离贯穿数据库、缓存到 API 全链路。边界清晰,易于规模化扩展与多团队协作。
📖 完整架构文档请参阅 系统架构总览。
内置 36 个接入驱动模块,覆盖工业自动化、物联网通信、数据桥接、基础通信与仿真调试场景,降低常见设备与数据源的接入成本:
| 分类 | 驱动模块 |
|---|---|
| 🏭 工业协议 | Modbus TCP · Modbus RTU · OPC UA · OPC DA · Siemens S7 · BACnet/IP · EtherNet/IP · Omron FINS · Mitsubishi MELSEC · IEC 60870-5-104 · IEC 61850 · DNP3 · DLMS · DLT645 · KNX · M-Bus · SL651 |
| 📡 物联网协议 | MQTT · CoAP · LwM2M · HTTP · BLE · Zigbee · LoRaWAN |
| 🗄️ 数据桥接 | MySQL · PostgreSQL · Oracle · SQL Server · Redis |
| 🔧 基础通信、消息与管理 | TCP/UDP · Serial · SNMP · CAN · Kafka |
| 🧪 仿真与调试 | Virtual · Listening Virtual |
提供完整的 Driver SDK,支持快速开发自定义协议驱动,热插拔注册到运行平台。
基于 Spring AI 构建的智能体中心,将大语言模型接入 IoT 运营流程:
- 自然语言辅助运维 — LLM 通过 Tool-Calling 机制,在权限受控下查询设备、读写数据点、辅助执行命令
- 智能告警分析 — AI 辅助分析告警原因,提供处置建议
- 数据洞察 — 自然语言查询设备数据,自动生成可视化图表
- 多模型支持 — 兼容 OpenAI API 标准,可接入 GPT、Claude、DeepSeek、通义千问等主流模型
- 对话记忆 — 支持多轮对话与上下文记忆,持久化到数据库
基于 Spring Boot 4 + Spring Cloud 2025 构建的分布式微服务架构:
- 服务治理 — Spring Cloud Gateway 统一入口,静态路由 + 环境变量灵活配置
- 高效通信 — gRPC 服务间调用,Protobuf 序列化
- 横向扩展 — 无状态设计,支持按业务负载独立扩缩容
- 容错韧性 — 可替换服务节点,故障自动隔离
- 数据采集 — 驱动层实时采集设备遥测数据,通过 RabbitMQ 异步传输
- 时序存储 — 支持实时与历史数据的高效查询
- 规则引擎 — 灵活的告警规则配置,支持多级告警与通知
- 事件溯源 — 完整的命令与事件历史记录
- 租户隔离 — 数据库、缓存、API 全链路租户级隔离
- 认证授权 — JWT + Spring Security,支持 RBAC 权限模型
- 传输加密 — 支持 TLS/SSL 加密通信
- 审计追踪 — 完整的用户操作与系统事件日志
- Driver SDK — 完善的驱动开发工具包,参考 驱动开发指南
- 前后端分离 — Vue 3 + TypeScript 前端,RESTful + gRPC 双协议 API
- 容器化部署 — Podman / Docker Compose 一键启动,便于迁移到 Kubernetes 等容器平台
- 完整文档 — 在线文档站 + 快速开始指南 + 故障排查手册
源码本地开发时,先启动 PostgreSQL 与 RabbitMQ,再加载本地环境变量并构建:
make up-db
source dc3/env/dev.env.sh
mvn -s .mvn/settings.xml clean package中国大陆网络环境可改用 make up-db-cn。
📖 服务启动顺序、IDEA 配置、验证命令和常见坑请参阅 完整快速开始。
IoT DC3 基于 Java 21、Spring Boot 4、Spring Cloud 2025、Spring AI 2、PostgreSQL、RabbitMQ、gRPC、Vue 3、TypeScript 与 Vite 构建。
完整组件说明与适用位置请看 技术栈。
| 资源 | 链接 |
|---|---|
| 📚 在线文档 | docs.dc3.site |
| 🚀 快速开始 | 快速开始指南 |
| 🛠️ 技术栈 | 技术栈说明 |
| 🏗️ 架构说明 | 模块与依赖 |
| 🔧 驱动开发 | 驱动开发指南 |
| 🐛 故障排查 | 常见问题与解决方案 |
| 📋 变更日志 | 版本更新记录 |
| 🐛 问题反馈 | GitHub Issues |
| 🇨🇳 码云镜像 | Gitee GVP 最有价值开源项目 |
| 🏭 | 智慧工厂 | 产线设备状态监控、工艺参数采集、预测性维护、OEE 分析 |
| ⚡ | 能源监测 | 电力 / 水务 / 燃气远程抄表、能耗趋势分析、异常告警 |
| 🌾 | 智慧农业 | 温室环境监测、自动灌溉控制、病虫害预警、产量预测 |
| 🏙️ | 智慧城市 | 路灯照明管理、环境质量监测、市政设施运维、安全监控 |
我们欢迎任何形式的贡献!请遵循以下流程:
- Fork & 分支 — 从
main创建分支,命名格式:feature/your_name/feature_description(例:feature/pnoker/mqtt_driver) - 开发 & 提交 — 在新分支上完成修改并提交,遵循 Conventional Commits 规范
- 发起 PR — 提交 Pull Request 到
develop分支,维护者会审核并合并
IoT DC3 基于 AGPL 3.0 协议开源。
- ✅ 个人学习、研究、内部使用 — 完全免费
- ✅ 修改代码并开源你的修改 — 欢迎
⚠️ 作为商业服务提供给第三方且未开源修改 — 需要商业授权
商业授权详情请参阅 LICENSE.txt。




