Skip to content

proyecto en donde con una raspberry pi o placa similar se puede hacer la subida de datos de sensores y visualizacion en una app tipo dashboard

License

Notifications You must be signed in to change notification settings

WilliBobadilla/data_uploader_iot

Repository files navigation

data_uploader_iot 😛

Proyecto en donde con una raspberry pi o placa similar se puede hacer la subida de datos de sensores y visualizacion en una app tipo dashboard, algo basico que se puede mejorar con mas funcionalidades, para eso ver (pendientes) mas abajo. (Screenshoots mas abajo).
Live Demo https://data-iot-collect.herokuapp.com/

Descripcion 📜

Basicamente es un sistema que consta en dos partes, una es la subida de datos mediante una Raspberry Pi y cualquier tipo de sensor(en este caso de temperatura) y la segunda parte es el servidor en donde se pueden almacenar y visualizar los datos

Funcionamiento de la subida de datos 🚀

Para la subida de datos, en este caso como ejemplo usamos un sensor DHT11, la conexion fisica es:

Pines DHT-------------Pines RPI

GND ----------- ------- GND

VCC -------------------- 5V

DATA -------------------- GPIO23 (puede ser otro gpio pero debe especificarse)

Si se utiliza otro puerto para el data se debe de cambiar la siguiente linea,
ademas si el sensor es DHT22, se cambia tambien el primer parametro por dht.DHT22
humi, temp = dht.read_retry(dht.DHT11, 23) # 23 se refiere al GPIO de la RPI

Se necesita una conexion a internet, entonces al correr el script, este va a postear de manera indefinida cada cierto tiempo(especificado en el sleep(tiempo) en segundos), ademas para que el servidor pueda recibir estos datos debe de tener el token que se genera del lado del server

myobj = { 
                'token':token_str,
                'temp': str(temp),  
                'fecha': str(datetime.now()),
                'lat': -28.339450 , 
                'long':  -58.551921,
                'codigo': 'NUW1'
        }

en donde token_str es una variable importada del archivo token_disp.py. En este caso solo se envia la temperatura, pero se podria enviar muchos datos mas, ademas la ubicacion es estatica, se podria ver algun modulo GPS para obtener la ubicacion si es que el dispositivo cambia de ubicacion por ejemplo.

Funcionamiento del servidor 🏭

Basicamente el servidor posee un endpoint en donde recibe los datos por el metodo POST, entonces primeramente verifica si es que esta dentro de los tokens en la DB para poder aceptar el dato y guardar en la base de datos, el endpoint encargado de esto es el /data .

Esquema

Algunos Screenshoots 💻

Pendiente (TODO) 🔃

Este es un proyecto basico, le faltan muchas partes para que sea un poco mas interesante todo lo que se puede hacer, pero basicamente algunas cosas a agregar son:

  1. Las graficas poder filtrar por codigo.
  2. Reportes para descargar en cualquier formato, .xls por ejemplo.
  3. Agregar del lado del hardware version de SIM800 + Arduino (o similares), para poder postear mediante la red GSM los datos al servidor.

Licencia 📄

License: GPL v3 GNU GENERAL PUBLIC LICENSE

About

proyecto en donde con una raspberry pi o placa similar se puede hacer la subida de datos de sensores y visualizacion en una app tipo dashboard

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published