# 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 魔法!), 支持多种灯效以及由上位机控制的音乐律动和氛围灯 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 基于STM32、ESP8266、PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#、单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备、移动设备、LInux、IOS、树莓派、安卓开发、微机操作系统、网络操作系统、分布式操作系统等。此外,还有嵌入式操作系统、智能操作系统等、数据集、大数据分析、人工智能、机器学习等各种项目 项目具有较高的学习借鉴价值,也适用于小白学习入门进阶。当然也可作为毕设项目、课程设计、大作业、初期项目立项演示等。如果基础还行,或者热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于 ESP8266 的物联网小彩灯 (内含炫酷 RGB 魔法!), 支持多种灯效以及由上位机控制的音乐律动和氛围灯.zip (46个子文件)
资料
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 438KB
index.html 21KB
audiohelper.js 2KB
index.js 22KB
.gitignore 2KB
styles.css 3KB
RGBLight.ino 28KB
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
资源评论
妄北y
- 粉丝: 2w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功