Aufbau eines Personenzählers mit Raspberry Pi und Ubidots
Ubidots ist ein Cloud-Dienst, mit dem Sie Sensordaten in Echtzeit speichern und analysieren . Sie können damit Anwendungen für das Internet der Dinge erstellen, ohne tiefgreifende Kenntnisse in Webprogrammierung, Datenbanken oder APIs zu haben.
– Ein kleiner Akku mit Micro-USB-Kabel:
– Bewegungssensor von Parallax:
UPDATE Einem Vorschlag von Doug Jefferies folgend (Danke!), sind die GPIOs des Raspberry Pi für 3,3 V ausgelegt, aber wir setzen dort auf 5 V. Es ist also eine bessere Idee, eine Verbindung herzustellen:
V+ –> Pin Nr. 1 (3,3 V).
Da der Sensor sehr empfindlich auf Bewegungen reagiert, habe ich den Jumper-Schalter dahinter verwendet, um die niedrigste Empfindlichkeit einzustellen. Außerdem habe ich es in ein dunkles Gehäuse mit kleiner Blende gesteckt, damit sich die Bewegungserkennung auf einen Punkt konzentriert und nicht so omnidirektional ist:
Codierung
Erstellen Sie eine neue Datei mit dem Namen „peoplecounter.py“:
$ sudo nano peoplecounter.py
Und schreiben Sie den folgenden Code hinein. Stellen Sie sicher, dass Sie die Werte des API-Schlüssels und der Variablen-ID durch die Werte in Ihrem persönlichen Ubidots -Konto .
(Hinweis: Der Code ist nicht allzu elegant, aber hey, ich bin kein Python-Entwickler, sondern nur ein Hardware-Typ 🙂
von 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("5238cec3f91b282c7357a 140") außer: print „Es konnte keine Verbindung zur API hergestellt werden, überprüfen Sie Ihre Internetverbindung“ counter = 0 peoplecount = 0 while(1): Anwesenheit = GPIO.input(7) if(presence): peoplecount += 1 Anwesenheit = 0 Mal. 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 sich die Daten nun in der Cloud befinden, können Sie Ihrem dashboard Widgets hinzufügen, um die Aktivität in Echtzeit anzuzeigen. Sie können in Ihrem Ubidots Konto auch „Ereignisse“ konfigurieren, sodass Sie eine SMS- oder E-Mail-Benachrichtigung erhalten, wenn Ihre Variable ein bestimmtes Limit erreicht.
Abschluss
Dieses Projekt liefert einen Hinweis auf die Anzahl der Personen, die einen bestimmten Punkt passieren. Aufgrund der Einschränkungen des Bewegungssensors wird nicht die genaue Anzahl der Personen angegeben, aber in einigen Anwendungen reicht dies möglicherweise gerade aus.
Ausgefeiltere 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 (hinein/heraus, links/rechts) und sie könnten theoretisch sogar erweitert werden , um das Alter und Geschlecht der Person zu kennen.
Eine andere Möglichkeit, Menschen zu erkennen, besteht darin, die Funksignale ihrer Smartphones passiv zu erfassen, z. B. WLAN oder Bluetooth ( sehen Sie sich an, wie dieser Typ Smartphones in der Nähe seines Hauses erkannte ). Letztlich soll die iBeacon -Technologie auch ein großer Enabler dieser Anwendungen sein.
Ubidots gesendet werden Warnungen, Live dashboards oder die Einbindung in andere Systeme interpretiert werden können
Haben Sie Ideen für Sensorprojekte?
Erstellen Sie ein Ubidots -Konto und verwirklichen Sie es!