# ai-light **Repository Path**: zhu-haipeng123/ai-light ## Basic Information - **Project Name**: ai-light - **Description**: 暂时不知道说啥 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2025-03-20 - **Last Updated**: 2025-10-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 这是一个基于 Spring Boot 的多模块项目,主要用于实现智能家居中与灯光控制相关的功能,同时集成了 AI 模型调用、设备通信、权限控制、网关路由等功能。 ## 项目结构 项目由多个模块组成,主要模块包括: - **light-ai**: 提供 AI 模型调用功能,如与 DeepSeek 等模型进行交互,支持流式与非流式响应。 - **light-api**: 提供 Web API 接口,支持灯光控制、传感器数据获取、Wi-Fi 配置等操作。 - **light-common**: 提供通用结果封装类 `Result`。 - **light-entity**: 存放实体类,如 `User` 和 `Main`。 - **light-gateway**: 提供统一网关服务,集成 JWT 认证、路由过滤、动态路由加载等功能。 - **light-user**: 用户服务模块,提供用户启动类。 - **pom.xml**: Maven 项目配置文件。 ## 主要功能 - **AI 模型交互**:支持调用 AI 模型进行问答、流式响应等功能。 - **灯光控制**:通过 Netty 客户端与 ESP8266 设备通信,实现灯光的开关、模式切换等控制。 - **传感器数据获取**:获取光照强度、齿轮状态、是否有人等传感器数据。 - **Wi-Fi 配置管理**:支持连接、断开 Wi-Fi,获取可用 Wi-Fi 列表。 - **权限控制与网关**:集成 JWT 认证,实现接口权限控制,支持动态路由配置。 - **定时任务**:定时关闭灯光任务。 ## 快速开始 ### 环境要求 - Java 17 或更高版本 - Maven - Spring Boot 支持 - ESP8266 设备(用于灯光控制) ### 构建与运行 1. 克隆项目: ```bash git clone https://gitee.com/zhu-haipeng123/ai-light.git ``` 2. 构建项目: ```bash cd ai-light mvn clean install ``` 3. 启动各个模块服务: - 启动网关服务: ```bash cd light-gateway mvn spring-boot:run ``` - 启动用户服务: ```bash cd light-user mvn spring-boot:run ``` - 启动 AI 服务: ```bash cd light-ai mvn spring-boot:run ``` - 启动 API 服务: ```bash cd light-api mvn spring-boot:run ``` 4. 访问接口文档或前端页面进行测试。 ## 接口示例 - **AI 问答接口**(POST): ```http POST /api/ai/model/get-model/answer Content-Type: application/json { "question": "你好,帮我打开灯", "modelCode": 1, "stream": false } ``` - **灯光控制接口**(PUT): ```http PUT /api/v1/control/light/operation/light Content-Type: application/json { "modelName": "manual", "gear": 3 } ``` - **获取传感器数据接口**(GET): ```http GET /api/v1/control/light/sensor/data ``` ## 贡献指南 欢迎贡献代码和改进建议。请遵循以下步骤: 1. Fork 项目。 2. 创建新分支 (`git checkout -b feature/your-feature-name`)。 3. 提交代码 (`git commit -m 'Add some feature'`)。 4. 推送分支 (`git push origin feature/your-feature-name`)。 5. 创建 Pull Request。 ## 许可证 本项目采用 MIT 许可证。详情请查看 [LICENSE](LICENSE) 文件。