Einen Personenzähler mit Raspberry Pi und Ubidots bauen
Ubidots ist ein Cloud-Dienst, mit dem Sie Sensordaten in Echtzeit speichern und analysieren . Er ermöglicht Ihnen die Entwicklung von Anwendungen für das Internet der Dinge, ohne dass tiefgreifende Kenntnisse edge Webprogrammierung, Datenbanken oder APIs erforderlich sind.

– Ein kleiner Akku mit Micro-USB-Kabel:

– Bewegungssensor von Parallax:


UPDATE: Auf Anregung von Doug Jefferies (vielen Dank!): Die GPIOs des Raspberry Pi sind für 3,3 V ausgelegt, wir verwenden aber 5 V. Daher ist folgende Verbindung besser geeignet:
V+ –> Pin #1 (3,3 V).
Da der Sensor sehr bewegungsempfindlich ist, habe ich den Jumper-Schalter auf der Rückseite verwendet, um die Empfindlichkeit auf die niedrigste Stufe einzustellen. Außerdem habe ich ihn in ein dunkles Gehäuse mit kleiner Öffnung eingesetzt, damit die Bewegungserkennung sich auf einen Punkt konzentriert und nicht so omnidirektional ist


Codierung
Erstellen Sie eine neue Datei namens „peoplecounter.py“:
$ sudo nano peoplecounter.py
Fügen Sie anschließend den folgenden Code ein. Achten Sie darauf, die Werte für den API-Schlüssel und die Variable ID durch die Werte Ihres persönlichen Ubidots Kontos .
(Anmerkung: Der Code ist nicht besonders elegant, aber ich bin ja kein Python-Entwickler, sondern nur ein Hardware-Experte 🙂)
from ubidots import ApiClient import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(7, GPIO.IN) try: api = ApiClient("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3") people = api.get_variable("5238cec3f91b282c7357a140") except: print "Konnte keine Verbindung zur API herstellen. Überprüfen Sie Ihre Internetverbindung." counter = 0 peoplecount = 0 while(1): presence = GPIO.input(7) if(presence): peoplecount += 1 presence = 0 time.sleep(1.5) time.sleep(1) counter += 1 if(counter==10): print peoplecount people.save_value({'value':peoplecount}) counter = 0 peoplecount = 0
$ python peoplecounter.py
Da die Daten nun in der Cloud gespeichert sind, können Sie Widgets in Ihrem dashboard hinzufügen, um die Aktivitäten in Echtzeit anzuzeigen. Sie können außerdem in Ihrem Ubidots -Konto „Ereignisse“ konfigurieren, sodass Sie per SMS oder E-Mail benachrichtigt werden, sobald eine Variable einen bestimmten Grenzwert erreicht.
Abschluss

Dieses Projekt liefert einen Anhaltspunkt für die Anzahl der Personen, die einen bestimmten Punkt passieren. Aufgrund der Einschränkungen des Bewegungssensors liefert es keine exakte Personenzahl, aber in manchen Anwendungsfällen mag dies ausreichend sein.
Aufwändigere Personenzähler verwenden Kameras und Bildverarbeitungsalgorithmen, um zu erkennen, um welches sich bewegende Objekt es sich handelt (Person, Auto, Haustier usw.), in welche Richtung es sich bewegt (nach innen/außen, links/rechts) und könnten theoretisch sogar so erweitert werden, dass sie das Alter und das Geschlecht der Person ermitteln.
Eine weitere Möglichkeit, Personen zu orten, bestünde darin, die Funksignale ihrer Smartphones passiv zu erfassen, beispielsweise WLAN oder Bluetooth ( siehe, wie dieser Mann Smartphones in seinem Haus geortet hat ). Letztendlich dürfte die iBeacon -Technologie ebenfalls eine wichtige Rolle bei der Entwicklung solcher Anwendungen spielen.
Die gesammelten Daten können in jedem Fall problemlos an Ubidots von Warnmeldungen, Live- dashboards oder die Anbindung an andere Systeme interpretiert werden können
Haben Sie Ideen für Sensorprojekte?
Erstelle ein Ubidots Konto und setze deine Träume in die Tat um!

