# iidc **Repository Path**: gotfocus/iidc ## Basic Information - **Project Name**: iidc - **Description**: 项目名称: 工业互联网数据采集与展示系统 (Industrial Internet Data Acquisition and Visualization System) 项目背景: 为实现 [某工厂 / 某行业,例如:汽车制造、能源电力、化工] 的生产过程透明化、智能化,需要构建一套能够实时采集、传输、存储、分析和可视化展示工业设备运行数据的系统。 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-11-28 - **Last Updated**: 2026-04-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 工业互联网数据采集与展示系统 ## 项目简介 工业互联网数据采集与展示系统是一个基于 Spring Cloud 微服务架构的工业数据采集、处理、存储和展示平台。该系统能够实时采集工业设备数据,进行数据处理和存储,并通过前端界面进行可视化展示。 ## 技术栈 ### 后端技术栈 - **Spring Boot 3.2.0**:微服务框架 - **Spring Cloud 2023.0.0**:微服务治理框架 - **Nacos 2.4.0**:服务注册与配置中心 - **RocketMQ 5.1.4**:消息队列 - **MySQL 8.0.32**:关系型数据库 - **InfluxDB 2.7**:时序数据库 - **MyBatis-Plus**:ORM 框架 - **Spring Security + JWT**:认证与授权 ### 前端技术栈 - **Vue 3**:前端框架 - **Element Plus**:UI 组件库 - **Vite**:构建工具 - **Pinia**:状态管理 - **Vue Router**:路由管理 - **Axios**:HTTP 客户端 - **ECharts**:数据可视化 ## 项目结构 ``` iidc/ ├── backend/ # 后端服务 │ ├── auth-service/ # 认证服务 │ ├── api-service/ # API 服务 │ ├── acquisition-service/ # 数据采集服务 │ ├── processing-service/ # 数据处理服务 │ ├── storage-service/ # 数据存储服务 │ └── gateway/ # 网关服务 ├── frontend/ # 前端项目 ├── config/ # 配置文件 │ ├── influxdb-init.sh # InfluxDB 初始化脚本 │ └── mysql-init.sql # MySQL 初始化脚本 ├── docker-compose.yml # Docker Compose 配置 ├── start.sh # 启动脚本 └── README.md # 项目说明文档 ``` ## 快速开始 ### 环境要求 - **JDK 17+**:运行后端服务 - **Maven 3.8+**:构建后端服务 - **Node.js 20+**:运行前端项目 - **Docker & Docker Compose**:部署基础设施 ### 安装依赖 #### 后端依赖 ```bash cd backend mvn clean install -DskipTests ``` #### 前端依赖 ```bash cd frontend npm install ``` ### 启动服务 #### 1. 使用 Docker Compose 启动基础设施 ```bash docker-compose up -d ``` 这将启动以下服务: - Nacos Server (端口: 8848) - MySQL (端口: 3306) - RocketMQ Namesrv (端口: 9876) - RocketMQ Broker (端口: 10909, 10911) - InfluxDB (端口: 8086) #### 2. 启动后端服务 ```bash # 启动认证服务 cd backend/auth-service mvn spring-boot:run # 启动 API 服务 cd backend/api-service mvn spring-boot:run # 启动数据采集服务 cd backend/acquisition-service mvn spring-boot:run # 启动数据处理服务 cd backend/processing-service mvn spring-boot:run # 启动数据存储服务 cd backend/storage-service mvn spring-boot:run # 启动网关服务 cd backend/gateway mvn spring-boot:run ``` #### 3. 启动前端项目 ```bash cd frontend npm run dev ``` 前端项目将运行在 `http://localhost:5173` ## 功能模块 ### 1. 认证与授权 - 用户注册与登录 - JWT 令牌生成与验证 - 基于角色的权限控制 ### 2. 数据采集 - 支持多种协议的数据采集 - 实时数据采集与传输 - 采集任务管理 ### 3. 数据处理 - 数据清洗与转换 - 数据过滤与聚合 - 实时数据处理 ### 4. 数据存储 - 时序数据存储 - 关系数据存储 - 数据备份与恢复 ### 5. 数据展示 - 实时数据监控 - 历史数据查询 - 数据可视化图表 - 设备状态监控 - 告警管理 ## 接口文档 ### 认证服务接口 - `POST /auth/login`:用户登录 - `POST /auth/register`:用户注册 - `GET /auth/userinfo`:获取用户信息 ### API 服务接口 - `GET /api/data/realtime`:获取实时数据 - `GET /api/data/history`:获取历史数据 - `GET /api/devices`:获取设备列表 - `GET /api/alarm`:获取告警信息 ## 注意事项 1. 首次启动前,请确保 MySQL 和 InfluxDB 已经初始化完成 2. 请根据实际环境修改各服务的配置文件 3. 生产环境部署时,请修改默认密码和密钥 4. 请根据实际需求调整数据采集频率和存储策略 ## 许可证 MIT License