# led-strip-multi-program **Repository Path**: ibdp/led-strip-multi-program ## Basic Information - **Project Name**: led-strip-multi-program - **Description**: 包含了基于ESP32的全彩灯带控制效果、基于java server的全彩灯带控制效果的实现 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-01 - **Last Updated**: 2026-04-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Based on the code map provided, I'll create a comprehensive README for this LED strip control project. Let me analyze the structure and compose the documentation. # LED Strip Multi-Program 智能LED灯带控制系统 ## 项目简介 本项目是一个功能强大的LED灯带控制解决方案,包含两大部分: 1. **LED_Fade2** - Arduino独立运行程序,展示6种炫酷的LED灯带特效 2. **led-strip-server** - 完整的Web服务器控制系统,支持通过浏览器远程控制LED灯带 ## 项目结构 ``` led-strip-multi-program/ ├── LED_Fade2/ # Arduino独立效果程序 │ └── LED_Fade2.ino # Arduino源码 ├── led-strip-server/ # 服务器端控制程序 │ ├── config.conf # 配置文件 │ ├── pom.xml # Maven配置 │ ├── src/ # Java后端源码 │ │ └── main/java/com/ledstrip/ │ │ ├── Application.java # Spring Boot启动类 │ │ ├── controller/ # 控制器层 │ │ │ └── LedController.java │ │ └── service/ # 服务层 │ │ ├── LedControllerService.java │ │ └── SerialService.java │ ├── frontend/ # Vue.js前端 │ │ ├── src/ │ │ │ ├── main.js │ │ │ └── App.vue │ │ ├── babel.config.js │ │ └── package.json │ └── doc/ # 文档 │ └── pdf_content.txt ``` ## 功能特性 ### LED_Fade2 效果模式 提供6种预设的绚丽效果,每15秒自动切换: - **单色渐变** - 柔和的单一颜色渐明渐暗 - **彩虹渐变** - 全彩虹色循环变化 - **闪烁效果** - 规律的闪烁动画 - **追逐效果** - 多组LED追逐流动 - **波浪效果** - 如波浪般的起伏流动 - **星光效果** - 模拟星空闪烁 ### led-strip-server 控制功能 通过REST API实现多种控制: - 亮度调节 - 单色设置 - 双色渐变 - running灯效果 - flowing灯效果 - 追逐效果 - 关闭灯带 ## 硬件要求 - **LED灯带**: WS2812B 或兼容的智能LED灯带 - **控制器**: Arduino UNO/Nano/ESP32等 - **电脑**: 运行后端服务的计算机(需有串口) - **电源**: 根据LED数量选择合适的5V电源 ## 软件要求 ### 后端 - Java 8+ - Maven 3.x - Spring Boot ### 前端 - Node.js 14+ - Vue.js 3.x - npm 或 yarn ### Arduino - Arduino IDE 1.8+ ## 快速开始 ### Arduino端(LED_Fade2) 1. 打开 `LED_Fade2/LED_Fade2.ino` 2. 根据硬件连接修改引脚定义 3. 上传到Arduino开发板 4. 通电即可自动运行6种效果 ### 服务器端 #### 后端安装 ```bash cd led-strip-server mvn clean package java -jar target/led-strip-server-1.0.jar ``` #### 前端安装 ```bash cd led-strip-server/frontend npm install npm run serve ``` ## API接口 | 接口 | 方法 | 参数 | 说明 | |------|------|------|------| | `/api/led/brightness` | POST | `{"brightness": 0-255}` | 设置亮度 | | `/api/led/color` | POST | `{"r": 0-255, "g": 0-255, "b": 0-255}` | 设置单色 | | `/api/led/gradient` | POST | `{"r1": 0-255, "g1": 0-255, "b1": 0-255, "r2": 0-255, "g2": 0-255, "b2": 0-255, "speed": 1-100}` | 双色渐变 | | `/api/led/running` | POST | `{"r": 0-255, "g": 0-255, "b": 0-255, "speed": 1-100, "direction": 0-1}` | Running灯 | | `/api/led/flowing` | POST | `{"r": 0-255, "g": 0-255, "b": 0-255, "speed": 1-100, "width": 1-50}` | Flowing灯 | | `/api/led/chase` | POST | `{"r1": 0-255, "g1": 0-255, "b1": 0-255, "r2": 0-255, "g2": 0-255, "b2": 0-255, "speed": 1-100}` | 追逐效果 | | `/api/led/off` | POST | - | 关闭灯带 | ## 配置说明 编辑 `led-strip-server/config.conf` 配置串口参数: ```conf port=COM3 # 串口号(Windows)或 /dev/ttyUSB0(Linux) baudRate=115200 # 波特率 ``` ## 注意事项 1. LED灯带需要足够的电源供电,避免亮度不足 2. 串口连接确保_tx/rx引脚正确连接 3. 前端默认运行在 `http://localhost:8082` 4. 后端默认运行在 `http://localhost:8080` ## 技术栈 - **后端**: Java, Spring Boot, Maven - **前端**: Vue.js 3, JavaScript - **硬件**: Arduino, WS2812B LED - **通信**: 串口通信 (RXTX库) ## 许可证 MIT License ## 贡献者 欢迎提交Issue和Pull Request!