IoT DC3 开源教程
IoT DC3 开源项目快速上手教程
一、快速体验与项目获取
官方文档:https://doc.dc3.site/
Gitee 仓库:https://gitee.com/pnoker/iot-dc3
默认登录凭证:
| 账号类型 | 用户名 | 密码 |
| 系统账号 | dc3 | dc3 |
| Web 页面访问密码 | dc3dc3dc3 | dc3dc3dc3 |
二、本地部署教程(Docker 方式)
IoT DC3 采用微服务架构,推荐使用 Docker Compose 进行一键部署,大幅降低环境配置难度。
第1步:环境准备
确保你的机器已安装以下基础环境:
- JDK:推荐使用 JDK 11 及以上版本(部分最新分支推荐 JDK 21)
- Maven:≥ 3.6(推荐 3.8)
- Docker & Docker Compose:最新版,务必给 Docker 分配至少 4G~8G 的运行内存,否则微服务容易启动失败。
- Node.js:v22.14.0(前端开发需要)
第2步:拉取代码与启动基础服务
# 拉取源码
git clone https://gitee.com/pnoker/iot-dc3.git
cd iot-dc3/dc3
# 启动基础数据库与中间件(MySQL, MongoDB, Redis, RabbitMQ 等)
docker-compose -f docker-compose-dev.yml up -d mysql mongo redis rabbitmq第3步:配置本地 Hosts(关键步骤)
由于微服务间通过域名通信,需在本地配置 Hosts 映射:
Windows:编辑 c:\windows\system32\drivers\etc\hosts
- Linux/Mac:编辑
/etc/hosts - 添加以下映射:
# Added by DC3
127.0.0.1 dc3-mysql
127.0.0.1 dc3-redis
127.0.0.1 dc3-mongo
127.0.0.1 dc3-rabbitmq
127.0.0.1 dc3-emqx
127.0.0.1 dc3-center-register
127.0.0.1 dc3-center-auth
127.0.0.1 dc3-center-manager
127.0.0.1 dc3-center-data
127.0.0.1 dc3-gateway
# End DC3第4步:启动后端微服务
在 IDEA 中按顺序启动以下核心服务:
dc3-center-auth(认证服务)dc3-center-manager(管理服务)dc3-center-data(数据服务)dc3-center-gateway(网关服务)
第5步:启动前端项目
git clone https://github.com/pnoker/iot-dc3-web.git
cd iot-dc3-web
# 推荐使用 yarn
npm install -g yarn --registry=https://registry.npm.taobao.org
yarn
yarn serve启动成功后,访问 http://localhost:8080 即可进入登录页面。
三、核心功能与架构解析
IoT DC3 采用经典的四层架构设计,实现了从物理域到信息域的闭环:
- 驱动层(南向接口):提供标准化的 SDK,支持 Modbus TCP、MQTT、OPC UA/DA、BACnet、PLC S7 等多种工业协议,开发者可基于此快速开发自定义驱动。
- 数据层:负责设备数据的收集、清洗与入库。支持关系型数据库(MySQL)与时序数据库(TimescaleDB/MongoDB)的混合存储。
- 管理层(核心服务):基于 Spring Cloud 微服务架构,提供设备注册、模板管理、指令下发、多租户管理等核心功能,集成 Nacos 作为注册与配置中心。
- 应用层(北向接口):提供 RESTful API 和 WebSocket 接口,内置规则引擎、告警通知、数据可视化等功能,支持第三方系统无缝集成。
四、技术栈全景
| 分类 | 技术选型 |
基础框架 | Spring Boot, Spring Cloud, Spring Security |
| 服务治理 | Nacos / Eureka, Sentinel / Resilience4j, Ribbon |
| 服务通信 | gRPC, OpenFeign, RESTful API, WebSocket |
| 消息队列 | RabbitMQ, RocketMQ, Kafka |
| 数据存储 | MySQL / PostgreSQL, TimescaleDB / MongoDB, Redis |
| 前端框架 | Vue.js, Nginx |
| 可观测性 | Prometheus + Grafana, Zipkin / SkyWalking, ELK |
五、常见问题与避坑指南
- 内存溢出(OOM):IoT DC3 包含大量微服务组件,本地开发时务必确保 Docker 和 IDEA 分配的内存充足(建议机器总内存 16GB+)。
- 网页打不开:如果访问
localhost:8080失败,通常是因为后端微服务尚未完全启动,可以多等待 2-3 分钟,或通过docker ps检查容器状态。 - 驱动状态离线:启动成功后,可在 Web UI 的“驱动”模块查看状态。若使用 MQTT 模拟设备,需确保 MQTTX 等客户端工具配置正确,且 Topic 和 QoS 参数与平台一致。
- 端口冲突:如果默认的 8080 或 8000 端口被占用,需修改
docker-compose.yml或 Nginx 配置文件中的端口映射。