Proyecto para provisionar gateways ESP32 vía BLE usando una app Flutter (Web/Android). Incluye firmware de gateway y app de provisión con escaneo WiFi.
esp32_gateway/: firmware del gateway ESP32 (Arduino/ESP-IDF vía Arduino CLI)provision_app_flutter/: app Flutter para escanear gateways BLE, leer ID del dispositivo y enviar credenciales WiFiesp32_sensor/: ejemplo de sketch adicional (opcional)
- Provisión WiFi por BLE (SSID/Password)
- Escaneo de redes WiFi desde el gateway, con RSSI y “segura/abierta”
- Device ID expuesto por BLE y visible en la app
- UI/UX pensado para flujo rápido de escaneo, conexión y configuración
arduino-cliinstalado (incluido entools/arduino-cli/)- Flutter estable (opcional para Web/Android; se usa local)
- ESP32 (WROOM/WROVER) conectado por USB
- Abrir
esp32_gateway/esp32_gateway.ino - Compilar y subir con Arduino CLI:
tools/arduino-cli/arduino-cli.exe compile -b esp32:esp32:esp32 --warnings all esp32_gateway tools/arduino-cli/arduino-cli.exe upload -b esp32:esp32:esp32 -p COM5 esp32_gateway
- Monitorear serial para ver ID y estado:
tools/arduino-cli/arduino-cli.exe monitor -p COM5 -b esp32:esp32:esp32 --baud 115200
- Servicio:
fefefefe-1234-5678-9abc-def012345678 SSID(write):...679PASS(write):...67aAPPLY(write):...67bSTATUS(notify):...67cDEVICE_ID(read):...67dWIFI_SCAN_REQ(write):...67eWIFI_SCAN_RES(notify):...67f
El gateway notifica cada red en texto SSID|RSSI|SECURE, y envía END al finalizar.
SECURE = '0'-> abiertaSECURE != '0'-> segura
- Entra a
provision_app_flutter - Ejecuta el servidor web:
flutter.bat run -d web-server --web-port 5558
- Abre el preview en
http://localhost:5558/ - Otorga permisos BLE en el navegador si te los solicita
- Botón “Cargar demo UX” para insertar redes y gateways ficticios
- Botones para simular estados:
idle,awaiting,connecting,success,fail
Sugerencia de nombre: esp32-ble-wifi-provisioner
Otras opciones:
ble-provision-gatewaygateway-ble-wifiprovis-esp32Puente-BLE-WiFi
Pendiente de decidir. Añadir una licencia si se publicará.