Ein sichereres Zuhause mit einem einfach aufzubauenden Bewegungserkennungssystem
Wir legen großen Wert auf unsere Sicherheit und versuchen, die Risiken so weit wie möglich zu reduzieren. Diese Realität wird durch die Tatsache unterstrichen, dass der Markt für Heimsicherheit auf einen geschätzten Wert von rund 56,9 Milliarden USD geschätzt wird.
Nur wenige Dinge sind so universell und wichtig wie das Gefühl der Sicherheit in Ihrem Zuhause. Jede Störung dieses Gefühls kann ausreichen, um Ihr gesamtes Leben negativ zu beeinflussen. Aus diesem Grund legen wir großen Wert auf unsere Sicherheit und versuchen, die Risiken so weit wie möglich zu reduzieren, unabhängig davon, wie real die Bedrohungen sind. Dies wird durch die Tatsache unterstrichen, dass der Wert des Heimsicherheitsmarkts auf rund 56,9 Milliarden USD .
Ein wichtiger Faktor für das Wachstum dieses Marktes war das Aufkommen des IoT , das in Verbindung mit der höheren Verfügbarkeit zuverlässiger Konnektivitätstechnologien Hausbesitzern die Möglichkeit gegeben hat, alle Arten von Geräten zu erhalten, die Videos aufzeichnen, Benutzer alarmieren oder Türen verriegeln. unter anderem Vorteile.
Und obwohl diese Geräte erschwinglich und sehr benutzerfreundlich sind (was zu einer einfachen Installation und Verwendung führt), sind wir hier bei Ubidots Hersteller, weshalb unser erster Instinkt normalerweise darin besteht, nach den Teilen zu suchen und die Geräte, die wir benötigen, selbst zu bauen Hände.
Das war der Fall bei Leonardo, einem unserer Customer Success-Ingenieure, der kürzlich mit einer Situation konfrontiert war, in der die Sicherheit seines Hauses und seiner Familie möglicherweise gefährdet war.
Um es kurz zu machen: Einige verdächtig aussehende Personen wurden mehrmals in seiner Nachbarschaft herumlaufen gesehen, und obwohl noch nichts passiert war, herrschte in der Gemeinde Einigkeit darüber, wie unwohl sie sich fühlten.
Im Fall von Leonardo war diese Situation noch belastender, da er an den meisten Wochenenden mit seiner Familie reist, das Haus leer lässt und diesen Personen (oder anderen) eine ideale Gelegenheit zum Hausfriedensbruch bietet.
Vor diesem Hintergrund war es an der Zeit, sich an die Arbeit zu machen … Nachdem er alle Werkzeuge und Ressourcen, die ihm bereits zur Verfügung standen, bewertet hatte, beschloss Leonardo, ein Bewegungserkennungssystem , das jedes Mal, wenn es ausgelöst wird, ein Bild aufnimmt Bei allen anderen Optionen war diese die effektivste für sein Problem.
Das System, das er sich vorgestellt hatte, hatte den Vorteil, dass es sowohl subtil als auch äußerst effizient war, da er die Bilder nicht ständig überwachen musste (da es ihn über jedes neue Bild/jede neue Bewegung alarmieren würde) und er jederzeit die Polizei rufen konnte Das System fotografierte etwas, das er für problematisch hielt, unabhängig von seinem Standort.
Das System nutzt einen passiven Infrarotsensor, der bei der Registrierung einer Bewegung eine ESP32-CAM zur Aufnahme eines Bildes veranlasst. Das Bild wird dann an Google Drive gesendet und seine FileID , FolderID und FileName Ubidots gesendet, dashboard visualisiert werden können . Ubidots generiert auch die Benachrichtigungen, die Leonardo jedes Mal auf seinem Telefon erhält, wenn ein Bild aufgenommen wird, sodass Sie problemlos über alle Neuheiten auf dem Laufenden bleiben können.
Aufbau des Bewegungserkennungssystems, Schritt für Schritt
Im Projekt verwendete Hardware
- PIR-Bewegungssensor (1)
- M5Stack ESP32 Kameramodul-Entwicklungsboard (1)
- SparkFun FTDI Basis-Breakout – 3,3 V (1)
- Überbrückungskabel (1)
Im Projekt verwendete Software/Cloud-Tools
- Ein aktives Ubidots -Konto
- Arduino-IDE
- Google-Skript
1. Verdrahten Sie den PIR-Bewegungssensor mit der ESP32-CAM
Schließen Sie mithilfe einiger Überbrückungskabel den PIR-Bewegungssensor an die ESP32-CAM an, indem Sie dem in der Abbildung unten gezeigten Schema folgen. Beachten Sie, dass Sie die Pinbelegung innerhalb des Codes ändern können.
2. Programmierung des Google Script-Projekts.
Um ein neues Google Script-Projekt zu erstellen, gehen Sie folgendermaßen vor:
- Gehen Sie zur Google Apps Script- Website.
- Klicken Sie oben links auf die Schaltfläche „+ Neues Projekt“ und erstellen Sie ein neues Projekt.
- Repository gefundenen Code und fügen Sie ihn in Ihr Google Script-Projekt ein.
- Geben Sie den Token Ihres Ubidots -Kontos in die Variable „ TOKEN “ ein. Auf diese Weise sendet das System die Datei-ID , die Ordner-ID und den Dateinamen im Kontext des Punkts im Zeichenfolgenformat. Normalerweise wird der Kontext zum Speichern von Zeichenfolgen in Schlüssel-Wert-Paaren verwendet.
const TOKEN = "IHR-TOKEN";
Sie können die Variablenbeschriftung und die Gerätebeschriftung nach Bedarf ändern. In solchen Geräten und Variablen speichern Sie die Datei-ID , die Ordner-ID und den Dateinamen des von der ESP32-CAM aufgenommenen Bildes.
- Stellen Sie Ihren Code bereit und ändern Sie die Berechtigungen des Skripts, damit jeder es sehen kann.
- Kopieren Sie die ID, die unter „Bereitstellungs-ID“ angezeigt wird, sobald Sie das Skript veröffentlichen. Wir werden es innerhalb der ESP32-CAM verwenden.
3. Programmieren Sie Ihre ESP32-CAM.
Es gibt viele Tutorials im Internet, wie man die ESP32-CAM programmiert, zum Beispiel dieses hier . Laden Sie den entsprechenden Code aus diesem Repository und öffnen Sie ihn in Ihrer Arduino IDE.
Allerdings müssen einige Änderungen am Code vorgenommen werden, damit er ordnungsgemäß auf Ihrer ESP32-CAM läuft.
- Geben Sie Ihre WLAN-Anmeldeinformationen in die Felder SSID und Passwort ein.
const char* ssid = "IHRE-SSID"; const char* passwort = „DEIN-PASSWORT“;
- Fügen Sie die ID Ihres Google Scripts in die folgende Variable ein.
String myScript = "/macros/s/YOUR-URL-ID/exec"; //Nur „DEINE-URL-ID“ ersetzen
Führen Sie abschließend den gesamten Code in Ihrer Arduino-IDE aus und flashen Sie Ihre ESP32-CAM.
4. Passen Sie Ihr Ubidots -Widget an
Mit dem HTML-Canvas-Widget können Sie Ihr eigenes benutzerdefiniertes Widget erstellen. Klicken Sie hier, um mehr zu erfahren. Mit dem in den folgenden Schritten erstellten Widget können Sie die von der ESP32-CAM aufgenommenen Bilder sehen. Darüber hinaus sehen Sie ein Dropdown-Menü mit einigen Registern der Bilder, die bei Bedarf entfernt werden können.
Jetzt erstellen wir unser eigenes Widget mit diesen Codeausschnitten:
- Gehen Sie in der Navigationsleiste zum Ubidots -Dropdown-Menü „Daten“, dann „ Dashboards “ und wählen Sie schließlich das dashboard aus, an dem Sie arbeiten möchten.
- Klicken Sie oben rechts in Ihrem dashboard auf die Schaltfläche „+“.
- Wählen Sie die Option „HTML-Canvas“.
- Kopieren Sie die HTML- , CSS- und JavaScript- Codes und fügen Sie sie in den Code-Editor des Widgets ein.
- Fügen Sie im JavaScript-Code den Token Ihres Ubidots -Kontos in die Variable „ TOKEN “ ein.
var TOKEN = 'IHR-TOKEN';
- Überprüfen Sie die Berechtigungen im Google Drive-Ordner, der alle Bilder enthält. Sie müssen „jedem, der über den Link verfügt“ den Zugriff erlauben.
Wichtiger Hinweis: Sie müssen bestätigen, dass die im Google Script-Projekt festgelegten Geräte- und Variablenbezeichnungen mit den im JavaScript-Code festgelegten Geräte- und Variablenbezeichnungen übereinstimmen.
5. Richten Sie eine Benachrichtigung ein
Ubidots -Ereignissen können Sie basierend auf Ihren Sensordaten E-Mail-, SMS-, Sprachanruf- und sogar Webhook-Benachrichtigungen auslösen. In diesem Fall nutzen wir die Ereignisse, um E-Mails mit den von der ESP32-CAM aufgenommenen Bildern zu erhalten. Bitte befolgen Sie diese Schritte.
- Gehen Sie in der Navigationsleiste zum Dropdown-Menü „Daten“ und dann zu „Ereignisse“.
- Klicken Sie oben rechts auf die Schaltfläche „+“ und erstellen Sie ein neues Ereignis.
- Legen Sie fest, dass Ihr Ereignis ausgelöst wird, sobald die Variable „1“ empfängt.
- Bitte beachten Sie, dass Ubidots Ihnen die Verwendung benutzerdefinierter Felder innerhalb von Ereignisaktionen ermöglicht. Beispielsweise fügen wir die URL zur Bilddatei ein, die im Kontext des Datenpunkts gespeichert wird. Um auf den Kontext zuzugreifen, verwenden Sie diese Notation:
Hallo, das System hat einen Außenstehenden erkannt unter: {{variable.last_value_timestamp}}
. Bitte überprüfen Sie das Bild im folgenden Link: https://drive.google.com/file/d/ {{variable.last_value_context.fileID} }
/view?usp=sharing
Setzen Sie bei „DANN-Aktionen“ eine Null in der Variablen, um den Ereignisauslöser zurückzusetzen.
Und ganz einfach können Sie als Leonardo ein einfaches, aber effektives IoT System aufbauen, das die Sicherheit Ihres Zuhauses verbessert und Ihnen Sicherheit in Ihr Leben bringt.