Firmware ligero para ESP32 que se conecta al backend centralizado MiniOS.
| Característica | Original | Client |
|---|---|---|
| Servidor Web | Sí (HTML embebido) | No |
| Tamaño Flash | ~800KB | ~300KB |
| Configuración | Local via web | Remota via backend |
| Acceso | Solo red local | Desde cualquier lugar |
Instalar desde el Library Manager de Arduino IDE:
- WebSockets by Markus Sattler (v2.4.0+)
- ArduinoJson by Benoit Blanchon (v6.21.0+)
- DHT sensor library by Adafruit (v1.4.4+)
- Configurar WiFi:
wifi MiRed MiPassword
- Configurar backend:
server 192.168.1.100 3000
O si tienes dominio:
server mi-servidor.com 3000
- Ver estado:
status
- Reiniciar:
reboot
- El ESP32 se conecta al WiFi configurado
- Establece conexión WebSocket con el backend
- Se registra automáticamente usando su MAC Address
- Recibe configuraciones (GPIO, DHT) del backend
- Envía datos de sensores cada 5 segundos
- Ejecuta comandos recibidos (set GPIO, reiniciar, OTA)
- Subir archivo .bin al backend desde el dashboard
- Seleccionar "Enviar a todos" o actualizar dispositivo específico
- El ESP32 descarga e instala automáticamente
- Se reinicia con el nuevo firmware
{
"type": "register",
"mac_address": "AA:BB:CC:DD:EE:FF",
"firmware_version": "1.0.0",
"ip_address": "192.168.1.50"
}{
"type": "data",
"mac_address": "AA:BB:CC:DD:EE:FF",
"payload": {
"temperature": 25.5,
"humidity": 60,
"gpio": [
{"pin": 2, "value": 1},
{"pin": 4, "value": 0}
]
}
}{
"type": "command",
"action": "set_gpio",
"pin": 2,
"value": 1
}{
"type": "command",
"action": "ota_update",
"ota_id": 1,
"filename": "firmware_1.0.1.bin",
"filesize": 512000,
"checksum": "abc123..."
}- Board: "ESP32S3 Dev Module"
- Partition Scheme: "Default 4MB with spiffs"
- Upload Speed: 921600
[env:esp32s3]
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
lib_deps =
links2004/WebSockets@^2.4.0
bblanchon/ArduinoJson@^6.21.0
adafruit/DHT sensor library@^1.4.4- Verificar SSID y contraseña
- El ESP32 debe estar cerca del router
- Verificar IP/puerto del servidor
- El backend debe estar corriendo
- Verificar firewall del VPS
- Verificar espacio en flash
- El archivo .bin debe ser válido
- Conexión estable durante descarga
- LED Status: GPIO 2 (LED integrado)
- Los demás GPIOs se configuran desde el dashboard