由 沈夜 贡献,Ai-Thinker 进行整理
Ai-WB2,支持通过网页控制WS2812 LED灯带(待测试)
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连接信息
📜 点击展开完整代码
c
#
define
STA_SSID
"Your_WiFi_SSID"
// 替换为你的WiFi名称
#
define
STA_PASSWORD
"Your_WiFi_Password"
// 替换为你的WiFi密码2. LED数量配置
编辑 main/wled_server.c 文件,修改LED数量:
📜 点击展开完整代码
c
#
define
LED_COUNT 46
// 修改为你的LED灯珠数量编译和烧录
- 进入项目目录:
📜 点击展开:cd
bash
cd
applications/iot-solution/demo_wled- 编译项目:
📜 点击展开:make
bash
make- 烧录到开发板:
📜 点击展开:make flash
bash
make flash使用方法
- 上电后,开发板会自动连接到配置的WiFi网络
- 通过串口查看设备获取的IP地址
- 在浏览器中访问该IP地址
- 使用网页界面控制LED灯带
Web界面功能
- 电源开关:开启/关闭LED灯带
- 亮度控制:滑动条调节亮度 (0-255)
- 颜色选择:颜色选择器设置RGB颜色
- 效果模式:选择不同的灯光效果
- 速度控制:调节效果播放速度
API接口
项目提供RESTful API接口,可用于第三方控制:
获取状态
📜 点击展开完整代码
html
GET /api/state控制接口
📜 点击展开完整代码
html
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来改进项目。
ps: 目前的进度 就是能编译了。没爆错 能不能 运行 且有效 就不知道了。


