项目简介
本项目是基于ESP8266微控制器的智能LED控制系统,以低成本硬件实现丰富的LED动画效果。支持多种控制方式,如Web界面、REST API和WebSocket,还能通过MQTT协议与智能家居系统(如Home Assistant)集成,实现远程控制与自动化操作。
项目的主要特性和功能
- 丰富的动画效果:支持超60种LED动画效果,如彩虹、火焰、流星等。
- 多平台控制:可通过Web界面、REST API和WebSocket进行远程控制。
- MQTT集成:支持MQTT协议,能与Home Assistant等智能家居系统无缝集成。
- 低成本硬件:基于ESP8266微控制器,硬件成本低。
- 扩展性强:支持多种客户端平台(如iOS、Android、Windows等),可通过API扩展功能。
- 自定义配置:用户能通过配置文件自定义动画效果、亮度和速度等参数。
安装使用步骤
1. 环境准备
- 安装PlatformIO插件,推荐用Visual Studio Code作为开发环境。
- 确保已安装ESP8266开发板支持包。
2. 下载项目源码
假设用户已完成此步骤。
3. 安装依赖库
项目依赖以下库,请确保在PlatformIO中安装: - WiFiManager:用于WiFi网络配置和管理。 - WS2812FX:提供丰富的LED动画效果。 - WebSockets:支持WebSocket通信。 - Adafruit NeoPixel:用于控制WS281x系列LED灯带。 - PubSubClient(可选):用于MQTT通信。
4. 配置WiFi和MQTT
在config.h
文件中配置WiFi和MQTT参数:
```cpp
define WIFI_SSID "your_wifi_ssid"
define WIFI_PASSWORD "your_wifi_password"
define MQTT_SERVER "your_mqtt_server_ip"
define MQTT_PORT 1883
define MQTT_USER "your_mqtt_username"
define MQTT_PASSWORD "your_mqtt_password"
```
5. 编译和上传固件
使用PlatformIO编译项目,并将生成的固件上传到ESP8266开发板。
6. 启动和控制
- 通过Web界面访问ESP8266的IP地址,进入控制页面。
- 使用REST API或WebSocket发送控制命令。
- 若启用了MQTT,可通过Home Assistant或其他MQTT客户端控制LED灯带。
集成Home Assistant
1. 启用Home Assistant支持
在config.h
文件中启用Home Assistant支持:
```cpp
define ENABLE_HOMEASSISTANT
```
2. 配置MQTT Discovery
在Home Assistant的configuration.yaml
文件中添加MQTT配置:
yaml
mqtt:
broker: 172.1.24.xxx # 替换为你的MQTT服务器IP
port: 1883
client_id: home-assistant
keepalive: 60
discovery: true
discovery_prefix: homeassistant
3. 控制LED灯带
通过Home Assistant的MQTT集成,可发送JSON格式的命令控制LED灯带。例如:
json
{
"Animation": "Arc-en-ciel",
"Brillance": 155,
"Couleur": {
"r": 250,
"v": 120,
"b": 50
},
"Vitesse": 200,
"Mired": 22,
"pilot": "ON"
}
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】