Inhaltsverzeichnis:

Einen Personenzähler mit Raspberry Pi und Ubidots erstellen – wikiHow
Einen Personenzähler mit Raspberry Pi und Ubidots erstellen – wikiHow

Video: Einen Personenzähler mit Raspberry Pi und Ubidots erstellen – wikiHow

Video: Einen Personenzähler mit Raspberry Pi und Ubidots erstellen – wikiHow
Video: Personenzähler mit Ampel (rot/grün) mit Arduino und Ardublock 2024, November
Anonim
So bauen Sie einen Personenzähler mit Raspberry Pi und Ubidots
So bauen Sie einen Personenzähler mit Raspberry Pi und Ubidots
So bauen Sie einen Personenzähler mit Raspberry Pi und Ubidots
So bauen Sie einen Personenzähler mit Raspberry Pi und Ubidots

In diesem einfachen Projekt verwenden wir einen Bewegungssensor, um zu erkennen, ob ein Objekt vor unserem Raspberry Pi vorbeikommt. Dann zählen wir, wie oft das passiert, und senden diesen Wert an Ubidots.

Personenzähler sind in der Regel teure Geräte, die im Einzelhandel verwendet werden, um zu verstehen, wie sich Käufer verhalten. Dank Raspberry Pi und Ubidots sind wir in der Lage, in wenigen Stunden und mit ein paar Dollar einen funktionierenden Personenzähler zu bauen!

Sobald wir die Personenzählungsdaten an Ubidots gesendet haben, können wir schöne Diagramme zur Analyse sowie SMS/E-Mail-Benachrichtigungen erstellen.

Schritt 1: Die richtigen Materialien besorgen

Die richtigen Materialien besorgen
Die richtigen Materialien besorgen
Die richtigen Materialien besorgen
Die richtigen Materialien besorgen
Die richtigen Materialien besorgen
Die richtigen Materialien besorgen
Die richtigen Materialien besorgen
Die richtigen Materialien besorgen

Um dieses Projekt abzuschließen, benötigen Sie:

  1. Ein Raspberry Pi-Modell B
  2. Ein PIR-Sensor von Parallax
  3. Ein Raspberry Pi-kompatibler USB-WLAN-Dongle
  4. Ein USB-Akku zur Stromversorgung des Raspberry Pi (dies ist optional, falls Sie den Pi vollständig drahtlos verlassen möchten)
  5. Drei weibliche-weibliche Überbrückungsdrähte
  6. Ubidots-Konto - oder - STEM-Lizenz

Schritt 2: Dinge verkabeln

Dinge verkabeln
Dinge verkabeln
Dinge verkabeln
Dinge verkabeln

Der PIR-Bewegungssensor ist recht einfach zu bedienen, da er nur drei Pins hat:

  • V+
  • Masse
  • Ein Signal-Pin, der "1" ausgibt, wenn Bewegung vorhanden ist, und "0", wenn keine Bewegung vorhanden ist.

Sie müssen nichts löten oder komplexe I2C- oder serielle Funktionen schreiben, um dieses Signal zu erkennen; Stecken Sie einfach die Kabel direkt in die GPIO-Pins Ihres Raspberry Pi und es funktioniert!

Schritt 3: Gehäuse

Gehäuse
Gehäuse
Gehäuse
Gehäuse

Da der PIR-Sensor sehr bewegungsempfindlich ist, habe ich den Jumper-Schalter dahinter verwendet, um die geringstmögliche Empfindlichkeit einzustellen. Außerdem nahm ich ein altes Etui von einer Sonnenbrille und machte ein Loch hinein, dann legte ich den RPi und den PIR-Sensor hinein. Auf diese Weise fokussiert der Bewegungssensor stark auf einen Punkt, anstatt so omnidirektional zu sein.

Schritt 4: Codieren Ihres RPi

An dieser Stelle gehen wir davon aus, dass Sie eine grundlegende Einrichtung Ihres Raspberry Pi vorgenommen haben und sich die Linux-Befehlszeile ansehen. Wenn nicht, empfehlen wir, zuerst diese Anleitung durchzugehen. Sie können auch diesen Beitrag über die Verwendung von Wicd zum Einrichten des WLANs Ihres Raspberry Pi lesen.

Beginnen wir damit, dass wir alle erforderlichen Bibliotheken haben:

$ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install python-setuptools $ sudo easy_install pip $ pip install ubidots

Erstellen Sie eine neue Datei namens "peoplecounter.py":

$ sudo nano peoplecounter.py

Und schreibe den folgenden Code hinein. Stellen Sie sicher, dass Sie die Werte des API-Schlüssels und der Variablen-ID durch die in Ihrem persönlichen Ubidots-Konto ersetzen. (Hinweis: der Code ist nicht allzu elegant, aber hey, ich bin kein Python-Entwickler, nur ein Hardware-Typ:)

Das Skript besteht aus einer Schleife, die den Zustand des Pins #7 (des Bewegungssensors) überprüft. Wenn eine "1" angezeigt wird, was bedeutet, dass eine Bewegung stattgefunden hat, inkrementiert es die Variable "peoplecount" und wartet 1,5 Sekunden, bis der Bewegungssensor wieder normal ist. Dies wird 10 Mal durchgeführt, wobei sichergestellt wird, dass zwischen jedem Zyklus mindestens 1 Sekunde liegt, dann wird die Gesamtsumme der "Bewegungen" an Ubidots gesendet. Wenn Sie den People Counter kalibrieren müssen, sollten Sie dann mit den "time.sleep"-Zeilen mit anderen Werten spielen.

von ubidots importieren ApiClient

RPi. GPIO als GPIO importieren

Importzeit

GPIO.setmode(GPIO. BCM)

GPIO.setup(7, GPIO. IN)

Versuchen:

api =ApiClient("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")

people = api.get_variable("5238cec3f91b282c7357a140")

außer: print "Konnte keine Verbindung zur API herstellen, überprüfen Sie Ihre Internetverbindung"

Zähler = 0

Menschenv = 0

während(1):

Präsenz = GPIO.input(7)

wenn (Anwesenheit):

Personenzahl += 1

Anwesenheit = 0

Zeit. Schlaf(1.5)

Zeit. Schlaf(1)

Zähler += 1

if(Zähler==10):

Personenzahl drucken

people.save_value({'value':peoplecount})

Zähler = 0

Menschenv = 0

Schritt 5: Zeigen Sie Ihre Daten an

Zeigen Sie Ihre Daten an
Zeigen Sie Ihre Daten an
Zeigen Sie Ihre Daten an
Zeigen Sie Ihre Daten an
Zeigen Sie Ihre Daten an
Zeigen Sie Ihre Daten an
Zeigen Sie Ihre Daten an
Zeigen Sie Ihre Daten an

Gehen Sie schließlich zu Ihrem Ubidots-Dashboard und fügen Sie ein Widget vom Typ "Statement" hinzu. Dadurch wird die Gesamtzahl der Personen angezeigt, die innerhalb eines von Ihnen festgelegten Zeitraums erkannt wurden

Schritt 6: Einpacken

Einpacken
Einpacken

Dieses Projekt gibt einen Hinweis auf die Anzahl der Personen, die einen bestimmten Punkt passieren. Angesichts der Einschränkungen des Bewegungssensors wird nicht die genaue Anzahl der Personen angegeben, aber in einigen Anwendungen kann dies gerade ausreichen.

Die gesammelten Daten können einfach an die Ubidots Cloud gesendet werden, wo sie interpretiert werden können, indem Warnungen, Live-Dashboards erstellt oder diese Daten sogar in sozialen Medien, als Einbettungscode oder einfach in einem öffentlichen Link geteilt werden. Sie können diese Daten auch mit der Ubidots-API aus einer anderen Anwendung lesen.

Empfohlen: