Inhaltsverzeichnis:

Raspberry Pi Door Notifier - Gunook
Raspberry Pi Door Notifier - Gunook

Video: Raspberry Pi Door Notifier - Gunook

Video: Raspberry Pi Door Notifier - Gunook
Video: Raspberry Pi Door Sensor Demo 2024, September
Anonim
Raspberry Pi Türbenachrichtigung
Raspberry Pi Türbenachrichtigung

Haben Sie sich jemals gefragt, ob oder wann Menschen auf Türen zugreifen? Möchten Sie eine diskrete, kostengünstige und schnelle Möglichkeit zur Überwachung der Türbewegungen … und vielleicht ein kleines Projekt? Suchen Sie nicht weiter! Dieses einfache Gerät verfolgt Vibrationen, die von sich bewegenden Türen ausgehen, und meldet dem Benutzer eine E-Mail an eine angegebene E-Mail-Adresse.

Dieses Projekt gibt Ihnen etwas Übung mit Flask, Raspberry Pis, GPIO-Sensoren und der Mandrill-API! Es macht nicht nur Spaß, es zu bauen, sondern es hat auch eine Menge Nutzen. Einbrecher aufgepasst…

Schritt 1: Zubehör

Lieferungen
Lieferungen

Planen Sie immer noch, dieses Gerät zu bauen? Hier ist, was Sie brauchen:

  • Raspberry Pi 3
  • Micro SD Karte
  • 3 Buchse-zu-Buchse-Drähte
  • 1 Vibrationssensor
  • Eine Powerbank
  • Befehlsleisten

Wenn Sie planen, dieses Projekt für mehrere Türen zu erstellen, multiplizieren Sie jedes der Zubehörteile mit der Anzahl der benötigten Geräte.

Wenn Sie gerade dabei sind, dieses Gerät zu bauen/zu testen, ist es nicht notwendig, Folgendes zu haben … es wäre jedoch definitiv sehr hilfreich.

  • Ein Computermonitor
  • Eine USB-Tastatur
  • Micro-USB-Ladekit

Schritt 2: Verkabelung

Verdrahtung
Verdrahtung
Verdrahtung
Verdrahtung

Während der Raspberry Pi ein raffiniertes Gerät ist, das mit vielen verschiedenen Sensoren und Peripheriegeräten geliefert wird, müssen wir den Hauptsensor zur Verkabelung des Pi hinzufügen, damit er die erforderlichen Messungen durchführen kann. Der in diesem Projekt verwendete Hauptsensor ist im Bild oben zu sehen - es ist ein Vibrationssensor mit hoher Empfindlichkeit. Während wir ein Steckbrett oder ein anderes Montagegerät verwenden könnten, um diesen Sensor zu platzieren und unsere Drähte durchzuziehen, haben wir ihn einfach über weibliche-zu-weibliche-Drähte direkt an die Pins des Raspberry Pi-Geräts angeschlossen.

Einen Schaltplan finden Sie oben (aus https://www.piddleintheroot.com/vibration-sensor/). Schließen Sie einfach alle Drähte wie in diesem Bild gezeigt an und Ihr Vibrationssensor sollte einsatzbereit sein. Beachten Sie auch, dass Sie für dieses Projekt irgendwann einen Akku benötigen, aber wenn Sie testen, ist es wahrscheinlich hilfreich, das Gerät an eine Steckdose anzuschließen.

Schritt 3: Sachen einrichten

Herzlichen Glückwunsch! Du hast es bis hierher geschafft. Lasst uns weitergehen!

Wir werden jetzt direkt mit dem Pi arbeiten. All das Folgende kann auf dem Gerät mit einer Tastatur und einem Monitor (oder über SSH, wenn Sie sich wohl fühlen) ausgeführt werden.

Es gibt eine Menge Voreinstellungen, damit jeder GPIO-Sensor mit einem Pi und einem Flask funktioniert. Geduld ist eine Tugend. Es gibt einige Python-Bibliotheken, die Sie zuerst installieren müssen. Dies kann mit Pip erfolgen, einem Bibliotheks-/Paketmanager für Python. Geben Sie zur Verwendung `pip install` ein. Um einige der Bibliotheken zu benennen, die Sie benötigen:

  • Anfragen
  • RPi. GPIO
  • Flasche
  • flasche_restful
  • kolben_wtf
  • wtforms
  • Email
  • Mandrill

Vielleicht möchten Sie einen Kaffee trinken, während Sie darauf warten, dass diese installiert sind – es kann ein wenig dauern.

Nachdem alle Ihre Bibliotheken installiert sind, können Sie Ihr Flask-Projekt starten. Flask ist ein leichtgewichtiges Framework, das Seiten von dem Gerät bereitstellt, auf dem es ausgeführt wird. In diesem Fall wird der Raspberry Pi zum Server. Ziemlich schick, oder? Hier erfahren Sie, wie Sie eine sehr einfache Flask-Anwendung einrichten. Bitte tun Sie dies, bevor Sie danach eine der Anweisungen versuchen.

Schritt 4: Code und Ausführen

Sobald Sie dies abgeschlossen haben, können Sie mit dem Erstellen der Projektdateien beginnen. Ich habe alle Dateien, die Sie unten benötigen, beigefügt – Sie sollten den Code jedoch wahrscheinlich neu schreiben und nicht einfach die Dateien kopieren (Sie werden mehr erfahren!).

So sollten die Verzeichnisorganisationen aussehen:

+-- iotapp | +-- AppOrdner | +-- Vorlagen | +-- index.html | +-- _init_.py | +-- formen.py | +-- mcemail.py | +-- routen.py | +-- iotapp.py | +-- vibes.py

Platzieren Sie alle diese Dateien in der richtigen Reihenfolge und Sie sollten Ihr Projekt in kürzester Zeit zum Laufen bringen können. Um dann Ihren Flask-Server auszuführen, sollten Sie zum Stammverzeichnis navigieren. Geben Sie dann Folgendes ein:

$ export FLASK_APP=iotapp.py

$ python -m Kolbenlauf --host 0.0.0.0

Damit sollten Sie eine Meldung erhalten, die darauf hinweist, dass Ihr Server ausgeführt wird und Sie die Seite vom Gerät an ein anderes Gerät im Netzwerk bereitstellen können.

Jetzt wäre ein guter Zeitpunkt, Ihre Dateien durchzusehen und wirklich zu versuchen, einen Überblick darüber zu bekommen, was der Code macht. Natürlich ist keiner der Codes in Stein gemeißelt … alles kann aktualisiert/geändert werden, um projektspezifischen Anforderungen zu entsprechen. Wenn das Gerät beispielsweise ab sofort einen POST sendet, wenn es eine Eingabe vom Vibrationssensor empfängt, sendet es den Zeitstempel des Zeitpunkts der Eingabe. Der Server speichert diese Daten jedoch nicht. Dies kann erfolgen, wenn der Benutzer es vorzieht, historische Informationen aufzubewahren und diese irgendwo anzeigen zu lassen.

Sie werden wahrscheinlich feststellen, dass DER CODE NICHT VOLLSTÄNDIG IST. Dieses Projekt verwendet eine externe API zum Versenden von Benachrichtigungs-E-Mails bei Vibration (Türöffnung). Um dies einzurichten, müssen Sie ein Mandrill-Konto erstellen und einen API-Schlüssel erstellen.

Sobald Sie Ihre sendende Domain verifiziert haben und über einen API-Schlüssel verfügen, können Sie Ihren Schlüssel in die Datei `mcemail.py` (sofern vorhanden) einfügen und die Sendeinformationen anpassen (entweder durch Ändern des Standardparameters in derselben Datei oder durch Übergeben in einer anderen E-Mail in der Datei `routes.py`. Wenn Sie weitere Dokumentation zu Mandrill und deren Verwendung wünschen, finden Sie diese hier.

Schritt 5: Testen

Testen
Testen

Bevor Sie das Gerät an seinem festen Standort montieren, ist es wahrscheinlich eine gute Idee, alles zu testen, was es tut. So führen Sie das Zeug aus.

Das Gerät führt tatsächlich zwei Programme aus: `vibes.py` und den Flask-Server. Ersteres sollte zuerst im Hintergrund ausgeführt werden und dann kann der Flask-Server ausgeführt werden. `vibes.py` sendet einfach einen POST an den Server und der Server interpretiert die POST-Anfrage.

$pythonvibes.py &

$ python -m Kolbenlauf --host 0.0.0.0

Sie sollten dann in der Lage sein, zur richtigen URI/IP zu navigieren und die E-Mail-Adresse festzulegen, an die Sie alle Ihre Benachrichtigungen senden möchten. Sie sollten auf den Vibrationssensor tippen, um einige Test-E-Mails zu senden und sicherzustellen, dass das Projekt funktioniert.

Alles gut aussehen? Okay, wir sind bereit fürs Geschäft!

Schritt 6: Montage

Montage
Montage

Die Montage des Gerätes ist ziemlich selbsterklärend. Grundsätzlich müssen Sie nur sicherstellen, dass das Gerät mit dem Akkupack verbunden ist und das Gerät mit Hilfe von Befehlsleisten an der Tür befestigen.

Hinweis: Das Gerät muss mit dem Vibrationssensor senkrecht zur Tür positioniert werden, damit der Sensor die Bewegung der Tür erfasst

Sobald dies abgeschlossen ist, sollten Sie in der Lage sein, eine SSH-Verbindung zum Gerät herzustellen und die Programme wie im vorherigen Schritt erwähnt auszuführen und auf Eindringlinge zu warten!

Versuchen Sie für zusätzliche Punkte, die Kabel / das Gerät zu verstecken, damit Eindringlinge Ihr cleveres Gerät nicht verdächtigen! … oder legen Sie es einfach nicht auf eine Glastür. ¯\_(ツ)_/¯

Empfohlen: