[i=s] 本帖最后由 沈夜 于 2025-7-25 01:52 编辑 [/i]
WLED for BL602
基于BL602单片机的WLED实现,支持通过网页控制WS2812 LED灯带。
功能特性
- 🌈 支持RGB颜色控制
- 💡 亮度调节 (0-255)
- 🎨 多种灯光效果:
- 🌐 Web界面控制
- 📱 响应式设计,支持手机和电脑访问
- ⚡ 实时状态更新
硬件要求
- BL602开发板 (如Ai-Thinker WB2)
- WS2812 LED灯带
- 1K-2K欧姆上拉电阻
硬件连接
BL602 GPIO11 ----[1K-2K电阻]---- VCC(3.3V)
BL602 GPIO11 -------------------- WS2812 数据输入
BL602 GND ----------------------- WS2812 GND
外部电源 ------------------------ WS2812 VCC(5V)
** 注意: WS2812必须使用GPIO11,并且需要外部上拉电阻。
软件配置
1. WiFi配置
编辑 main/wifi_execute.c
文件,修改WiFi连接信息
#define STA_SSID "Your_WiFi_SSID" // 替换为你的WiFi名称
#define STA_PASSWORD "Your_WiFi_Password" // 替换为你的WiFi密码
2. LED数量配置
编辑 main/wled_server.c
文件,修改LED数量:
#define LED_COUNT 46 // 修改为你的LED灯珠数量
编译和烧录
- 进入项目目录:
cd applications/iot-solution/demo_wled
- 编译项目:
make
- 烧录到开发板:
make flash
使用方法
- 上电后,开发板会自动连接到配置的WiFi网络
- 通过串口查看设备获取的IP地址
- 在浏览器中访问该IP地址
- 使用网页界面控制LED灯带
Web界面功能
- 电源开关:开启/关闭LED灯带
- 亮度控制:滑动条调节亮度 (0-255)
- 颜色选择:颜色选择器设置RGB颜色
- 效果模式:选择不同的灯光效果
- 速度控制:调节效果播放速度
API接口
项目提供RESTful API接口,可用于第三方控制:
获取状态
GET /api/state
控制接口
POST /api/power # 切换电源状态
POST /api/brightness?value=128 # 设置亮度 (0-255)
POST /api/color?r=255&g=0&b=0 # 设置RGB颜色
POST /api/effect?value=1 # 设置效果模式 (0-4)
POST /api/speed?value=128 # 设置效果速度 (1-255)
效果模式说明
- 0 - 纯色模式:显示单一颜色
- 1 - 彩虹效果:循环显示彩虹色彩
- 2 - 渐变效果:在两种颜色间渐变
- 3 - 呼吸效果:亮度呼吸变化
- 4 - 色轮效果:色轮旋转效果
故障排除
LED不亮
- 检查GPIO11连接和上拉电阻
- 确认WS2812供电正常
- 检查LED数量配置是否正确
无法连接WiFi
- 检查WiFi名称和密码配置
- 确认WiFi信号强度
- 查看串口输出的错误信息
网页无法访问
- 确认设备已连接WiFi并获取IP
- 检查防火墙设置
- 尝试使用不同的浏览器
开发说明
项目基于以下组件:
- FreeRTOS:实时操作系统
- LwIP:TCP/IP协议栈
- WS2812驱动:基于IR模块实现
- HTTP服务器:自实现的轻量级服务器
许可证
本项目基于MIT许可证开源。
贡献
欢迎提交Issue和Pull Request来改进项目。
附件:demo_ws2812.zip
附件:demo_ws2812.zip
ps: 目前的进度 就是能编译了。没爆错 能不能 运行 且有效 就不知道了。
