Firebase: la nube de Google para IoT
Firebase es la plataforma de desarrollo de Google que incluye base de datos en tiempo real (Realtime Database), autenticación, hosting y almacenamiento. Para proyectos IoT, Firebase Realtime Database es especialmente útil: cualquier cambio en la base de datos se sincroniza instantáneamente a todos los clientes conectados (ESP32, app Android, navegador web).
El plan gratuito Spark incluye 1 GB de almacenamiento y 10 GB de transferencia mensual, más que suficiente para proyectos personales. Necesitas un ESP32 de Especificar.cl y una cuenta gratuita de Google.
Configuración en Firebase Console
- Crea un proyecto en console.firebase.google.com
- Habilita Realtime Database en modo de prueba (sin autenticación para empezar)
- Copia la URL de la base de datos (ej: https://mi-proyecto.firebaseio.com)
- Copia la API Key del proyecto
- Instala la librería Firebase-ESP-Client de Mobizt en Arduino IDE
Escritura de datos desde ESP32
Con Firebase.RTDB.setFloat(&fbdo, "/sensores/temperatura", 25.6) escribes el valor de temperatura en la ruta /sensores/temperatura de la base de datos. Cualquier app Angular, React o móvil escuchando esa ruta recibirá el nuevo valor en menos de 100ms.
Lectura y control bidireccional
Para control bidireccional, el ESP32 puede escuchar cambios en una ruta de la base de datos. Cuando alguien escribe "true" en /controles/led desde una app web, el ESP32 lo detecta en el próximo polling o via Stream y activa el LED correspondiente. Este patrón permite control remoto de cualquier dispositivo conectado al ESP32 desde cualquier parte del mundo.