# RGB Light
# 炫酷 R! G! B! 灯
基于 ESP8266 使用 Arduino 开发的物联网小彩灯, 支持多种形态多种光效, 配套自研网页/小程序/PC 客户端, ~~并支持 HomeAssistant 等智能家居平台~~(TODO)
产品特色:
- 支持多种产品形态: 如灯带, 圆形灯盘, 方形灯板等, 提供简单易用的接口供用户自行适配
- 支持多种光效模式: 如常亮, 闪烁, 呼吸, 流光, 彩虹, 音乐律动等, 参数均可自定义, 自由度高
- 支持音乐律动灯效: **非通过麦克风采集声音**, 而是通过配套上位机采集手机/电脑音频, 经上位机算法计算后将结果传输到下位机, 从而实现更好的音乐律动效果
- 支持自定义灯光动画: ~~通过网页/小程序可自定义灯光动画~~ 现仅支持播放动画, 动画编辑器待开发
- 多客户端支持: 配套自研网页/小程序/PC 客户端
![网页客户端](doc/webui.png)
## 所需硬件
### MCU
目前仅在 ESP8266 上测试过, 理论上简单适配一下即可支持 ESP32, 但未测试
我使用的开发版为 WeMos D1 Mini, 使用 D4 脚连接 WS2812B
### 灯板
目前支持两种灯板:
一种为 1 米长的 WS2812B 灯带
另一种为自己画的 WS2812B 圆形灯板, 共有 21 颗灯珠, 整机最大电流 <1.5A, 原理图详见 pcb 目录
如果你想适配其他形态的灯板, 请参考下方教程
### 外壳
目前仅有投影灯形态的产品, 其模型位于 model 目录下
## 编译指南
### 安装 Arduino 和第三方库
- [ESP8266-Arduino](https://github.com/esp8266/Arduino)
- [FastLED](https://github.com/FastLED/FastLED)
- [ArduinoJSON](https://github.com/bblanchon/ArduinoJson)
- [arduinoWebSockets](https://github.com/Links2004/arduinoWebSockets)
**注意**: 如果你遇到了第一个灯会随机闪烁的问题, 请降级 ESP8266-Arduino 至 2.7.4 版本, FastLED 降级至 3.4.0 版本, 详见 [esp8266/Arduino#8054](https://github.com/esp8266/Arduino/issues/8054)
### 修改配置
根据您的需求修改 config.h 中的配置
### 编译前端网页 (可选)
预编译好的前端网页已位于 data/www 目录下, 如果你不需要修改前端网页, 则可以跳过这一步
如果修改了前端页面需要自己编译, 则首先需要安装 Node.js 14 或以上版本, 然后进入 web 目录并执行以下命令:
```sh
npm install
npm run build
```
编译后的网页会自动覆盖 data/www 目录
### 编译并烧录
除了需要烧录程序以外, 还需要上传 LittleFS 文件系统, 具体教程可参考 [Uploading files to file system](https://arduino-esp8266.readthedocs.io/en/stable/filesystem.html#uploading-files-to-file-system)
### 打包升级包
ArduinoOTA 是支持在线升级文件系统的, 但是遗憾的是并不支持差量更新, 为了不丢失用户配置和自定义动画等数据, 我选择把 bin 和资源文件打包为单个二进制文件, 再由上位机进行解析更新
运行根目录下的 `pack_ota_bin.py` 即可打包升级包 (需要 Python 3.8 或以上版本), 生成的升级包位于 `build/upgrade.bin`, 然后使用网页前端的`在线升级`功能即可升级
## 适配其他灯板
见 Light.hpp
## 新增灯效
见 LightEffect.hpp
## 音乐律动模式
在使用设备自带的网页端的音乐律动模式时, 若提示 `因浏览器策略限制无法启动音频采集` 时, 请前往[chrome://flags/#unsafely-treat-insecure-origin-as-secure](chrome://flags/#unsafely-treat-insecure-origin-as-secure) 将 `Insecure origins treated as secure` 设置为 `Enabled` 并添加设备网页 url 链接到列表中, 然后重启浏览器即可
## 自定义灯光动画
灯光动画示例见 data/animations/example.csv
## 版权声明
本项目代码采用 GPLv3 协议开源, 允许商用, 但商用必须遵循 GPLv3 协议提供给客户完整源代码. 自制的灯板及外壳模型保留所有权利
本项目在开发的过程中也参考了一些其他项目, 在此一并致以感谢:
- [WLED](https://github.com/Aircoookie/WLED)
祝姐姐妹妹生日快乐!
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于 ESP8266 的物联网小彩灯 (内含炫酷 RGB 魔法!), 支持多种灯效以及由上位机控制的音乐律动和氛围灯.zip嵌入式优质项目,资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目。 本人单片机开发经验充足,深耕嵌入式领域,有任何使用问题欢迎随时与我联系,我会及时为你解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明,项目具体内容可查看下方的资源详情。 【附带帮助】: 若还需要嵌入式物联网单片机相关领域开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步。 【本人专注嵌入式领域】: 有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为你提供帮助,CSDN博客端可私信,为你解惑,欢迎交流。 【建议小白】: 在所有嵌入式开发中硬件部分若不会画PCB/电路,可选择根据引脚定义将其代替为面包板+杜邦线+外设模块的方式,只需轻松简单连线,下载源码烧录进去便可轻松复刻出一样的项目 【适合场景】: 相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可以基于此项目进行扩展来开发出更多功能
资源推荐
资源详情
资源评论
收起资源包目录
基于 ESP8266 的物联网小彩灯 (内含炫酷 RGB 魔法!), 支持多种灯效以及由上位机控制的音乐律动和氛围灯.zip (46个子文件)
Archieabc
Light.hpp 3KB
pcb
WeMos-D1-Mini-pinout-desc.JPG 104KB
NodeMCU-pins.png 815KB
light_panel.schdoc 130KB
NodeMCU-pcb.png 200KB
PCB_PCB_light_panel.pdf 58KB
WeMos-D1-Mini-pinout.png 99KB
1-PCB_PCB_light_panel.json 213KB
OBJ_PCB_light_panel.mtl 510B
1-Schematic_light_panel.json 49KB
OBJ_PCB_light_panel.obj 6.25MB
Schematic_light_panel.pdf 74KB
PCB_light_panel.pcbdoc 295KB
doc
webui.png 113KB
LICENSE.txt 34KB
data
animations
example.csv 5KB
www
index.html.gz 4KB
favicon.ico.gz 973B
main.css.gz 8KB
bundle.js.gz 14KB
web
cconsole.js 1KB
webpack.config.js 6KB
utils.js 957B
package.json 1KB
public
favicon.ico 4KB
package-lock.json 439KB
index.html 21KB
audiohelper.js 3KB
index.js 22KB
.gitignore 2KB
styles.css 3KB
RGBLight.ino 29KB
config.h 2KB
LightEffect.hpp 17KB
utils.cpp 2KB
model
投影灯下部.STL 367KB
投影灯下部.SLDPRT 294KB
投影灯上部.STL 116KB
投影灯.SLDASM 191KB
投影灯旧版.max 1.23MB
投影灯上部.SLDPRT 150KB
.gitignore 16B
pack_ota_bin.py 3KB
CommandHandler.hpp 3KB
README.md 4KB
utils.h 1KB
共 46 条
- 1
资源评论
阿齐Archie
- 粉丝: 1w+
- 资源: 2301
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功