Skip to content

Commit 2a6f195

Browse files
committed
Commit
1 parent 3f05982 commit 2a6f195

1 file changed

Lines changed: 109 additions & 81 deletions

File tree

README.md

Lines changed: 109 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,88 +1,116 @@
1-
# 🚀 Control de LEDs con ESP8266 + WebSocket
1+
# Controlador LED 🌟
22

3-
Un sistema de control remoto para tiras de LEDs NeoPixel (WS2812B) mediante una interfaz web usando WebSocket. El ESP8266 actúa como servidor web y WebSocket, permitiendo intercalar entre 2 colores de LEDs individualmente o en grupo, con persistencia de estado.
3+
Control de LEDs con ESP8266 + WebSocket
44

5-
## 🌟 Características principales
6-
- ✅ Control individual o grupal de LEDs
7-
- ✅ Persistencia del estado (los LEDs mantienen su color después de reiniciar)
8-
- ✅ Interfaz web responsive
9-
- ✅ Comunicación en tiempo real con WebSocket
10-
- ✅ Fácil configuración WiFi
5+
![Controlador LED](https://example.com/led-controller-image.png)
116

12-
## 📦 Hardware Requerido
13-
- Placa ESP8266 (NodeMCU, Wemos D1 Mini, etc.)
14-
- Tira de LEDs NeoPixel (WS2812B) - (en este ejemplo se usaron 144 LEDs)
15-
- Fuente de alimentación adecuada
16-
- Resistencia de 330-470Ω y capacitor de 1000µF (recomendados para protección)
7+
---
178

18-
## 🛠️ Configuración del ESP8266
9+
## Descripción
10+
11+
El proyecto **Controlador LED** permite controlar tiras de LEDs WS2812B utilizando un módulo ESP8266 y WebSocket. Este sistema ofrece una interfaz web simple y rápida, permitiendo a los usuarios encender, apagar y cambiar colores de los LEDs de manera eficiente. La combinación de ESP8266 y WebSocket proporciona una comunicación en tiempo real, lo que permite una experiencia de usuario fluida.
12+
13+
## Temas
1914

20-
### 📋 Requisitos
2115
- Arduino IDE
22-
- Board ESP8266 instalada (usar Boards Manager)
23-
- Bibliotecas necesarias:
24-
- ESP8266WiFi
25-
- WebSockets
26-
- ArduinoJson
27-
- Adafruit NeoPixel
28-
- ESP8266mDNS
29-
30-
### ⚙️ Pasos de instalación
31-
1. Clonar este repositorio
32-
2. Abrir `ESP8266_LED_Controller/Microcontrolador/ESP8266.ino` en Arduino IDE
33-
3. Modificar las variables en base a lo que uses en el código ESP8266.ino:
34-
```cpp
35-
const char* ssid = "TU_SSID";
36-
const char* password = "TU_PASSWORD";
37-
#define LED_PIN "TU_PIN"
38-
#define LED_COUNT "NUMERO_LEDS"
39-
#define JSON_SIZE "TAMAÑO_JSON" (calcular alrededor de 20 bytes por LED, siempre redondear para arriba el resultado)
40-
4. Subir el codigo a la placa ESP8266
41-
5. Modificar las variables en base a lo que uses en el código:
42-
```cpp
43-
FrontEnd/src/app.jsx
44-
const leds = Array.from({ length: "NUMERO_LEDS" }, (_, i) => i);
45-
FrontEnd\src\WebSocketContext.js
46-
details: [
47-
"Asegúrese de estar conectado al mismo router que el microcontrolador.",
48-
"Red: TP-LINK_FE90", //red que use en el momento
49-
"Contraseña: 67992980", //lo mismo
50-
"Asegúrese de que el microcontrolador esté encendido.",
51-
"Recargue la página para volver a intentar la conexión."
52-
]
53-
54-
## 🛠️ Configuración del archivo del FrontEnd
55-
56-
### 📋 Requisitos
57-
- Editor de Código de preferencia
58-
- Node.js
59-
- Navegador web (internet explorer no)
60-
- Un padre nuestro (opcional)
61-
62-
### ⚙️ Pasos de instalación
63-
1. Descarga Node.js si no lo tenés
64-
2. Descargar todas las dependencias necesarias:
65-
- react-scripts
66-
- react-dom
67-
- express
68-
3. conecta tu pc al mismo internet que el microcontrolador
69-
4. usa npm start o npm run build para empaquetarlo
70-
5. opcional en caso de usar el npm run build: usa el inicio.bat como acceso directo para ejecutar el programa, cambiando la direccion en "serve "C:\users\usuario\documents\gestorled\build"" segun donde guardes el build
71-
72-
## 🚩 Cosas a tener en cuenta
73-
En base a mi experiencia programandolo es importante tener en cuenta los siguientes puntos:
74-
75-
- Usar routers de 2.4Ghz de frecuencia, no funciona con aquellos de 5Ghz
76-
77-
- Por alguna razón con algunas tiras de LED la señal de luz verde era luz roja y viceversa, actualmente no sé por qué ocurría pero si te sucede lo mismo puedes modificar la parte grafica de los botones para no tener que modificar el codigo del microcontrolador y subirlo devuelta en él
78-
79-
- Originalmente este codigo estaba pensado para ESP32, y si cambian las dependencias a las necesarias para esta, en teoria deberia funcionar, sin embargo en la práctica nunca me funcionó, tal vez a ustedes si prueban les salga
80-
81-
### 🤝 Contribuciones
82-
83-
¡PRs y sugerencias son bienvenidas!
84-
85-
📄 **Licencia**: [MIT](LICENSE.md)
86-
87-
Creado por Liam Di Cerbo ([GitHub](https://github.com/Ezeliam))
16+
- ESP8266
17+
- JavaScript
18+
- JSON
19+
- LED
20+
- Controlador de LEDs
21+
- Leds
22+
- ReactJS
23+
- SPIFFS
24+
- WebSocket
25+
- WS2812B
26+
27+
## Instalación
28+
29+
Para comenzar, descarga el último archivo desde la sección de [Releases](https://github.com/WaylenGithub/controlador_LED/releases). Asegúrate de seguir los pasos a continuación:
30+
31+
1. **Clona el repositorio**:
32+
```bash
33+
git clone https://github.com/WaylenGithub/controlador_LED.git
34+
cd controlador_LED
35+
```
36+
37+
2. **Abre el proyecto en Arduino IDE**:
38+
- Asegúrate de tener instalada la biblioteca ESP8266.
39+
- Abre el archivo `controlador_LED.ino`.
40+
41+
3. **Configura tu red Wi-Fi**:
42+
- Modifica las líneas correspondientes para ingresar tu SSID y contraseña.
43+
44+
4. **Carga el código**:
45+
- Selecciona tu placa ESP8266 en el menú de herramientas.
46+
- Carga el código en tu dispositivo.
47+
48+
5. **Accede a la interfaz web**:
49+
- Una vez cargado, abre un navegador y dirígete a la dirección IP del ESP8266.
50+
- Utiliza la interfaz para controlar tus LEDs.
51+
52+
## Uso
53+
54+
### Interfaz Web
55+
56+
La interfaz es intuitiva. Desde la página principal, puedes:
57+
58+
- Encender y apagar los LEDs.
59+
- Cambiar colores.
60+
- Ajustar la intensidad.
61+
62+
### WebSocket
63+
64+
El uso de WebSocket permite una comunicación bidireccional. Esto significa que cualquier cambio realizado en la interfaz se refleja instantáneamente en el hardware y viceversa.
65+
66+
## Ejemplo de Código
67+
68+
Aquí tienes un pequeño ejemplo de cómo se configura el WebSocket:
69+
70+
```cpp
71+
#include <ESP8266WiFi.h>
72+
#include <WebSocketsServer.h>
73+
74+
WebSocketsServer webSocket = WebSocketsServer(81);
75+
76+
void setup() {
77+
Serial.begin(115200);
78+
WiFi.begin("SSID", "PASSWORD");
79+
webSocket.begin();
80+
webSocket.onEvent(webSocketEvent);
81+
}
82+
83+
void loop() {
84+
webSocket.loop();
85+
}
86+
87+
void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t length) {
88+
// Manejo de eventos
89+
}
90+
```
91+
92+
## Recursos Adicionales
93+
94+
- [Documentación de ESP8266](https://arduino-esp8266.readthedocs.io/en/latest/)
95+
- [WebSocket en JavaScript](https://developer.mozilla.org/en-US/docs/Web/API/WebSocket)
96+
97+
## Contribuciones
98+
99+
Las contribuciones son bienvenidas. Si deseas mejorar el proyecto, sigue estos pasos:
100+
101+
1. Haz un fork del repositorio.
102+
2. Crea una nueva rama (`git checkout -b feature/nueva-caracteristica`).
103+
3. Realiza tus cambios y asegúrate de que todo funcione.
104+
4. Envía un pull request.
105+
106+
## Licencia
107+
108+
Este proyecto está bajo la licencia MIT. Consulta el archivo `LICENSE` para más detalles.
109+
110+
## Contacto
111+
112+
Si tienes preguntas o sugerencias, no dudes en abrir un problema en GitHub o contactarme directamente.
113+
114+
---
88115
116+
Para más información, visita la sección de [Releases](https://github.com/WaylenGithub/controlador_LED/releases) y descubre las últimas versiones y actualizaciones. ¡Disfruta controlando tus LEDs!

0 commit comments

Comments
 (0)