Cómo construir un sensor de estacionamiento para solucionar el problema de encontrar un lugar libre

En este proyecto, construiremos un sensor de aparcamiento sencillo con una Raspberry Pi. Resulta que cada mañana me pregunto: ¿está ocupado el único aparcamiento frente a mi oficina? Porque cuando lo está, tengo que dar la vuelta a la manzana y tardar al menos 10 minutos más en aparcar y caminar hasta la oficina. Así que pensé que sería genial saber si el aparcamiento está libre antes de intentar llegar. Al final, el resultado fue un widget genial que podía consultar desde mi iPod o móvil

Materiales

  • Raspberry Pi Modelo B:
  • Dongle WiFi USB
  • Sensor de movimiento de Parallax
  • Tres cables hembra a hembra

Alambrado

El sensor de movimiento es muy fácil de instalar, ya que solo tiene tres pines: GND, VCC (+5 V) y OUT (señal digital "1" o "0"). Si hay movimiento a su alrededor, emitirá un "1"; si no, un "0". Puedes ver la conexión en el diagrama a continuación; los cables se conectan directamente a los pines GPIO de la Raspberry Pi. Si necesitas más información sobre los pines GPIO, puedes visitar esta guía de makezine.com ; es una buena fuente para familiarizarte con los pines de la Raspberry Pi .

Configura tu cuenta y variables Ubidots

Si eres nuevo en Ubidots , crea una cuenta aquí .

  • Vaya a la pestaña “Fuentes” y agregue una nueva fuente.

  • Seleccione Raspberry Pi como su nueva fuente de datos y complete el formulario.

  • Ahora haga clic en la nueva fuente “Mi Raspberry Pi”

  • Añade una nueva variable llamada “libre u ocupado” y no olvides completar los campos nombre y unidad.

  • Tome nota del id de su variable:

Codificando tu Raspberry Pi

Ya deberías haber configurado tu Raspberry Pi para que tenga acceso a internet. Si no es así, sigue esta guía o consulta esta entrada del blog sobre cómo configurar el wifi .

Cuando esté listo, acceda a su Raspberry Pi a través de una terminal (LxTerminal si accede a su Pi directamente a través de su GUI), navegue a la carpeta donde desea almacenar este proyecto y cree un nuevo archivo llamado "presence.py"

$ sudo nano presencia.py

Ahora pegue el siguiente código:

import RPi.GPIO como GPIO ##Biblioteca GPIO from ubidots import ApiClient ##BibliotecaUbidots import time ##Biblioteca time para retrasos GPIO.setmode(GPIO.BCM) ##Configurar BCM como sistema de numeración para entradas GPIO.setup(7,GPIO.IN) ##Declarar GPIO7 como entrada para el sensor try: api=ApiClient("75617caf2933588b7fd0da531155d16035138535") ##Ingrese su propia apikey people= api.get_variable("53b9f8ff76254274effbbace")##Ingrese el id de su propia variable except: print "cant connect" ##Si esto sucede, verifique su conexión a Internet while(1): presence=GPIO.input(7) ##Guardar el valor del sensor if(presence==0):##Si la presencia es cero, significa que el otro auto sigue ahí 🙁 people.save_value({'value':presence}) ##enviando valor a ubidots time.sleep(1)##verifica cada 5 segundos si el otro auto se mueve print "cero" if(presence): people.save_value({'value':presence}) ##el otro auto se fue, así que ahora está vacío 🙂 time.sleep(1) print "uno" GPIO.cleanup() ##reinicia el estado de los pines GPIO

Ejecute su programa:

$ sudo python presencia.py

Creación de un indicador en el dashboard Ubidots

Ahora que obtenemos los datos en tiempo real del dispositivo, necesitamos crear un widget personalizado que nos indique si el lugar de estacionamiento está ocupado. Haga clic en la pestaña dashboard y agregue un nuevo widget:

Seleccione el widget “Indicador” y siga los pasos:

¡Genial! Ahora deberías ver un widget en vivo que indica el estado del lugar de estacionamiento. Por cierto, puedes integrar este widget en cualquier aplicación web o móvil:

¡Eso es todo por este proyecto! Aprendimos a conectar un sensor de movimiento a la nube Ubidots con una Raspberry Pi y a mostrar sus datos en un widget en tiempo real. El proyecto podría mejorarse usando un sensor de presencia y no exactamente un sensor de movimiento (que vuelve a "0" al desaparecer el movimiento). También se puede ampliar configurando alertas por SMS o correo electrónico, que se pueden crear en la pestaña "Eventos" de tu cuenta de Ubidots .

¿Tienes alguna pregunta? Deja un comentario a continuación o un ticket en nuestra página de soporte.

Aquí hay otro proyecto genial que utiliza Raspberry Pi y un sensor de movimiento:

¿Aún no tienes una Ubidots ? Haz clic aquí para empezar hoy mismo.