Estas últimas semanas antes de Navidad he estado jugueteando un poco con un pet-project, una app para móviles Android que usan los sensores de temperatura, humedad y presión que tienen algunos modelos como el Samsung Galaxy S4 y el Galaxy Note para mostrarle estos datos al usuario pero también para guardarlos en la nube de Google con Firebase.
La app te mostraría la temperatura actual que registra el sensor del móvil, si lo tiene, pero al mismo tiempo te pide permiso para guardar estos datos y los de presión y humedad en la nube junto a las coordenadas de latitud y longitud del sitio donde fue tomada esa temperatura. Si tu móvil no tiene sensores de temperatura, humedad o presión la app te avisa de ello.
Este es el aspecto que tiene la aplicación (la presentación gráfica del termómetro está tomada de un sitio web, referencias al final):
Imagen de la consola de Firebase, la base de datos en la nube de Google donde se guarda la información, en la que cada nodo del árbol es una toma de temperaturas desde un móvil. En el centro se ve uno de los nodos desplegados con la información que se toma, o se podría tomar, en cada ejecución de la app.
La idea es que, si existe una red suficientemente amplia de móviles con esta app, todos los datos de temperatura almacenados alrededor de todo el mundo con los usuarios que se han descargado la app, queden guardados en registros en una base de datos NoSQL de Google que pueda ser consultada por algún científico que esté interesado.
El código de la app está disponible en un repositorio abierto de GitHub. Aquí algunos snippets del código que guarda en la base de datos:
En esta otra parte del código, la sección que toma los datos del sensor de temperatura:
Referencias:
- Learn to create a Thermometer Application for Android por Sylvain Saurel.
- Agrega Firebase a tu proyecto Android por Google.