littlebot
Published on 2025-04-12 / 5 Visits
0

【源码】基于ESP32和React的智能灯光控制系统

项目简介

Mira Light是一款开源的智能灯光控制项目。该项目基于ESP32微控制器和FastLED库,可控制任意数量的可单独寻址的条形LED灯。它将基于React的Web应用和物理控制面板相结合,为用户提供了灵活可靠的灯光控制方案,适用于海洋驾驶舱等多种场景。

项目的主要特性和功能

  1. 支持OTA更新,便于系统升级。
  2. 有完善的Pattern对象选择逻辑,可轻松切换不同灯光模式。
  3. 当Pattern改变时,动画对象会从内存中卸载,节省系统资源。
  4. 具备物理面板控制和App控制功能,满足不同操作习惯。
  5. 提供物理控制面板和基于React的Web应用程序两种控制接口,方便用户操作。
  6. 物理面板含一个五位置开关和两个带按钮的旋转编码器,可直观控制灯光亮度、颜色和模式。
  7. Web应用程序能镜像物理控制面板功能,还提供额外交互元素,便于颜色选择和模式探索。
  8. 为Pattern的定义、选择和激活提供逻辑结构,确保系统的一致性、稳定性和性能。

安装使用步骤

软件安装

  1. 安装PlatformIO,并获取本项目代码。
  2. 在项目中创建include/secrets.h文件,内容如下,填入你的WiFi信息: ```cpp

pragma once

const char wifi_ssid = "YOUR_WIFI_SSID"; const char wifi_password = "YOUR_WIFI_PASSWORD"; 3. 编辑`platformio.ini`文件,指定微控制器的IP地址为`upload_port`以启用OTA更新;若要通过USB更新,注释掉`upload_port`和`upload_protocol`。 4. 安装[Node.js](https://nodejs.org/)和[Yarn](https://yarnpkg.com/),用于构建基于React的App。进入`app`目录,安装依赖:sh $ cd app $ yarn install 5. 若要运行本地开发实例,配置`package.json`中的`proxy`设置,指向微控制器的IP地址,然后启动开发服务器:sh $ yarn start 6. 若要更新`app/webserver/StaticFiles.h`文件,运行以下命令:sh $ yarn build $ yarn dist ```

硬件准备

根据项目/hardware目录下的SVG面板图和示例接线图,准备ESP32微控制器、LED灯条、旋转编码器、开关等硬件,并完成连接。注意该硬件设计适用于12V海洋电力系统,需根据自身情况进行调整。

编译上传与测试

使用PlatformIO将项目代码编译并上传到ESP32微控制器。连接物理控制面板和Web应用程序,测试各项功能是否正常,如有问题进行调试。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】