Banner

IoT DC3 开源教程

2026-09-14

IoT DC3 开源项目快速上手教程


一、快速体验与项目获取

官方文档:https://doc.dc3.site/

Gitee 仓库:https://gitee.com/pnoker/iot-dc3

默认登录凭证:

账号类型用户名密码
系统账号dc3dc3
Web 页面访问密码dc3dc3dc3dc3dc3dc3


二、本地部署教程(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 中按顺序启动以下核心服务:

  1. dc3-center-auth(认证服务)
  2. dc3-center-manager(管理服务)
  3. dc3-center-data(数据服务)
  4. 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 采用经典的四层架构设计,实现了从物理域到信息域的闭环:

  1. 驱动层(南向接口):提供标准化的 SDK,支持 Modbus TCP、MQTT、OPC UA/DA、BACnet、PLC S7 等多种工业协议,开发者可基于此快速开发自定义驱动。
  2. 数据层:负责设备数据的收集、清洗与入库。支持关系型数据库(MySQL)与时序数据库(TimescaleDB/MongoDB)的混合存储。
  3. 管理层(核心服务):基于 Spring Cloud 微服务架构,提供设备注册、模板管理、指令下发、多租户管理等核心功能,集成 Nacos 作为注册与配置中心。
  4. 应用层(北向接口):提供 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 配置文件中的端口映射。


23