Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
En este sencillo proyecto usaremos un sensor de movimiento para detectar si un objeto pasa por delante de nuestra Raspberry Pi. Luego, contaremos cuántas veces sucede eso y enviaremos este valor a Ubidots.
Los contadores de personas suelen ser dispositivos costosos que se utilizan en la industria minorista para comprender cómo se comportan los compradores. ¡Gracias a Raspberry Pi y Ubidots, podemos construir un contador de personas funcional en unas pocas horas y con unos pocos dólares!
Una vez que enviamos los datos de conteo de personas a Ubidots, podemos crear buenos gráficos para el análisis, así como alertas por SMS / correo electrónico.
Paso 1: obtener los materiales adecuados
Para completar este proyecto, necesitará:
- Una frambuesa Pi modelo B
- Un sensor PIR de Parallax
- Un Dongle WiFi USB compatible con Raspberry Pi
- Una batería USB para alimentar la Raspberry Pi (esto es opcional en caso de que desee dejar la Pi completamente inalámbrica)
- Tres cables de puente hembra-hembra
- Cuenta de Ubidots - o - Licencia STEM
Paso 2: Cableado de las cosas
El sensor de movimiento PIR es bastante simple de usar porque solo tiene tres pines:
- V +
- GND
- Un pin de señal que emite "1" cuando hay movimiento y "0" cuando no lo hay.
No es necesario soldar nada, ni escribir funciones complejas I2C o seriales para detectar esta señal; ¡Simplemente conecte los cables directamente a los pines GPIO de su Raspberry Pi y funcionará!
Paso 3: Carcasa
Debido a que el sensor PIR es muy sensible al movimiento, utilicé el interruptor de puente detrás de él para establecer la sensibilidad más baja posible. Además, tomé un estuche viejo de un par de gafas de sol y le hice un agujero, luego coloqué el RPi y el sensor PIR en su interior. De esta manera, el sensor de movimiento se enfoca mucho en un punto, en lugar de ser tan omnidireccional.
Paso 4: codificación de su RPi
En este punto, asumiremos que ha realizado una configuración básica de su Raspberry Pi y está mirando su línea de comandos de Linux. Si no es así, le recomendamos que lea primero esta guía. También puede consultar esta publicación sobre el uso de Wicd para configurar el WiFi de su Raspberry Pi.
Comencemos asegurándonos de tener todas las bibliotecas necesarias:
$ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install python-setuptools $ sudo easy_install pip $ pip instalar ubidots
Cree un nuevo archivo llamado "peoplecounter.py":
$ sudo nano peoplecounter.py
Y escriba en él el código a continuación. Asegúrese de reemplazar los valores de la clave API y el ID de la variable con los de su cuenta personal de Ubidots. (Nota: el código no es demasiado elegante, pero no soy un desarrollador de Python, solo un tipo de hardware:)
El script consiste en un bucle que verifica el estado del pin # 7 (el sensor de movimiento). Si lee un "1", lo que significa que hubo movimiento, aumenta la variable "conteo de personas" y espera 1,5 segundos para que el sensor de movimiento vuelva a la normalidad. Esto se hace 10 veces, asegurándose de que haya al menos 1 segundo entre cada ciclo, luego envía la suma total de "movimientos" a Ubidots. Si necesita calibrar el Contador de personas, entonces debería jugar con las líneas "time.sleep" con otros valores.
desde ubidots importar ApiClient
importar RPi. GPIO como GPIO
tiempo de importación
GPIO.setmode (GPIO. BCM)
Configuración de GPIO (7, GPIO. IN)
tratar:
api = ApiClient ("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")
people = api.get_variable ("5238cec3f91b282c7357a140")
excepto: imprimir "No se pudo conectar a la API, verifique su conexión a Internet"
contador = 0
peoplev = 0
mientras que (1):
presencia = GPIO.input (7)
si (presencia):
peoplecount + = 1
presencia = 0
tiempo. de sueño (1.5)
hora de dormir (1)
contador + = 1
si (contador == 10):
imprimir personas
people.save_value ({'valor': conteo de personas})
contador = 0
peoplev = 0
Paso 5: muestra tus datos
Finalmente, vaya a su panel de Ubidots y agregue un widget del tipo "Declaración". Esto mostrará el número total de personas detectadas dentro de un período de tiempo que especifique
Paso 6: Conclusión
Este proyecto proporciona una pista de la cantidad de personas que pasan por un punto en particular. No proporciona el número exacto de personas, dadas las limitaciones del sensor de movimiento, pero en algunas aplicaciones esto puede ser suficiente.
Los datos recopilados se pueden enviar fácilmente a Ubidots Cloud, donde se pueden interpretar creando alertas, paneles en vivo o incluso compartiendo estos datos en las redes sociales, como código de inserción o simplemente en un enlace público. También puede leer estos datos desde otra aplicación utilizando la API de Ubidots.