# deviceManagement **Repository Path**: lyx-device-management/device-management ## Basic Information - **Project Name**: deviceManagement - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-06-04 - **Last Updated**: 2026-03-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # deviceManagement ## 介绍 deviceManagement 是一个设备管理平台,旨在提供设备信息管理、设备数据交互、设备状态监控等功能。该平台结合物联网技术,适用于多种设备接入场景,便于用户对设备进行统一管理和操作。 ## 软件架构 本项目采用微服务架构,主要模块包括: - **deviceApi**: 提供设备管理相关 API,包含设备增删改查、设备状态获取、设备数据读取等功能。 - **sensorWork**: 负责设备数据的消费与处理,包括数据质量控制、设备状态更新等。 - **exchange**: 提供与消息中间件(如 RabbitMQ)集成的消息处理功能,用于接收和转发设备数据。 - **deviceAuth**: 提供设备认证功能,确保设备接入的安全性。 项目基于 Spring Boot 框架开发,使用 MyBatis Plus 进行数据库操作,支持通过 MQTT 协议与设备进行通信,并利用 RabbitMQ 实现模块间的消息队列通信。 ## 安装教程 1. **环境准备**: - JDK 1.8 或以上版本 - Maven 3.x - MySQL 5.7 或以上版本 - RabbitMQ - MQTT Broker(如 EMQX) 2. **数据库配置**: - 创建数据库 `device_management` - 执行项目中的 SQL 脚本初始化表结构 3. **配置修改**: - 修改 `deviceApi/src/main/resources/application.yml`、`sensorWork/src/main/resources/application.yml` 等配置文件,配置数据库、MQTT、RabbitMQ 等信息。 4. **启动项目**: - 启动 `deviceApi` 模块:`mvn spring-boot:run` - 启动 `sensorWork` 模块:`mvn spring-boot:run` - 启动 `exchange` 模块:`mvn spring-boot:run` - 启动 `deviceAuth` 模块:`mvn spring-boot:run` ## 使用说明 ### 设备管理 - **添加设备**:通过 `/sys/api/device/add` 接口添加设备信息。 - **编辑设备**:通过 `/sys/api/device/edit` 接口更新设备信息。 - **删除设备**:通过 `/sys/api/device/delete` 接口删除设备。 - **获取设备列表**:通过 `/sys/api/device/list` 接口获取所有设备信息。 ### 设备状态 - **获取设备状态**:通过 `/sys/api/device/running/status` 接口获取指定设备的运行状态。 - **获取所有设备状态**:通过 `/sys/api/device/running/status/list` 接口获取所有设备的运行状态。 ### 设备数据 - **读取设备数据**:通过 `/sys/api/device/read/data` 接口发送读取指令,获取设备数据。 - **设置设备数据上传频率**:通过 `/sys/api/device/upload/frequency` 接口设置设备数据上传频率。 - **设备时间校准**:通过 `/sys/api/device/time/calibration` 接口进行设备时间校准。 ### 数据质量控制 - 系统会对设备上报的数据进行质量控制(如格式校验、阈值校验、缺失值检测等),并记录异常数据。 ### 消息队列 - 通过 `/api/data`、`/api/data2` 等接口接收设备上报的数据,并通过 RabbitMQ 分发给 `sensorWork` 模块进行处理。 ## 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request ## 特技 1. 使用 `Readme_XXX.md` 来支持不同的语言,例如 `Readme_en.md`, `Readme_zh.md` 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)