Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Schritt 1: Enthaupten
- Schritt 2: Schritt 2: Smart hinzufügen
- Schritt 3: Schritt 3: Füllen Sie sie auf
- Schritt 4: Schritt 4: Einrichten des Pi
- Schritt 5: Schritt 5: Bewegen des Kopfes
- Schritt 6: Schritt 6: Machen es Hoot
- Schritt 7: Schritt 7: Streamen Sie das Video vom Pi
- Schritt 8: Schritt 8: Körpererkennung
- Schritt 9: Schritt 9: Zombie-Benachrichtigungen senden
- Schritt 10: Was für ein Schrei
Video: Zombie-Erkennung von Smart Security Owl (Deep Learning) - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:15
Hallo zusammen, willkommen bei T3chFlicks! In diesem Halloween-Tutorial zeigen wir Ihnen, wie wir einem alltäglichen Haushaltsklassiker eine super gruselige Note verleihen: der Überwachungskamera.
Wie?! Wir haben eine Nachtsicht-Eule entwickelt, die mithilfe von Bildverarbeitung Personen verfolgt. Oh, und es johlt, genau wie in der Realität!
Wir haben uns sehr auf dieses Projekt gefreut und haben darauf gewartet, seit der neue Raspberry Pi 4 veröffentlicht wurde. Es verfügt über 4 GB RAM, was die Tür zu vielen wirklich aufregenden Möglichkeiten öffnet, einschließlich der Bildverarbeitung mit Deep-Learning-Modellen in Echtzeit.
Wenn Sie an Halloween nach sich nähernden Zombies Ausschau halten oder einfach das ganze Jahr über Ihren Garten überprüfen möchten, ist dies das Richtige für Sie. Sicherheit muss nicht langweilig sein, um effektiv zu sein!
Lieferungen
Für diesen Build benötigen Sie:
- Raspberry Pi 4 (4GB Ram) Amazon
- Nachtsichtkamera Amazon
- Micro Servo Amazon
- Gefälschte Eule Amazon
- Kleber Amazon
- Amazone malen
- Schrauben Amazon
- USB-Lautsprecher Amazon
- Großes (5v+) tragbares Netzteil Amazon
- 3D-Drucker Amazon
Schritt 1: Schritt 1: Enthaupten
A. Ziehen Sie den Kopf von der Eule (manchmal muss man einfach brutal sein), indem Sie fest an ihrem Kopf ziehen, wo sie an der Feder befestigt ist.
B. Der Kopf der Eule ist durch einen Zylinder, der auf einer großen Feder sitzt, mit dem Körper verbunden. Entfernen Sie diesen Zylinder, indem Sie die Schraube herausnehmen.
C. Der gerade ausgebaute Zylinder besteht aus zwei Teilen, einem Plastikbecher und einem darin sitzenden Lager. Entfernen Sie das Lager mit einem Schraubendreher (oder einem ähnlichen Werkzeug) vom Zylinder.
D. Befestigen Sie das Servo mit der Schraube, die den Zylinder mit der Feder verband, am Zylinder.
e. Entfernen Sie die Feder, indem Sie die drei Schrauben lösen, mit denen sie am Gehäuse befestigt ist.
F. Machen Sie ein Loch in die Oberseite des Körpers der Eule, das groß genug ist, um einige Drähte und das Kamerakabel zu passen. Wir haben dazu eine unelegante Kombination aus Bohrer und Schraubendreher verwendet.
Schritt 2: Schritt 2: Smart hinzufügen
A. 3D-Drucken Sie das Kameragehäuse und bemalen Sie es passend zur Eule - wir haben einige billige Acrylfarben verwendet. Das Malen ist kein wichtiger Schritt, aber es verbessert das Gesamtbild dramatisch!
B. Schrauben Sie die Oberseite des Kameragehäuses mit dem Kopf der Eule nach unten in die Innenseite des Kopfes, wo der Schnabel herausragt.
C. Legen Sie die Kamera in das Gehäuse und schließen Sie das Kamerakabel an.
D. Kleben Sie das Servo auf die Oberseite der Feder.
e. Verbinden Sie lange Drähte mit den Servopins (5V, Gnd, Signal)
F. Führen Sie das Kamerakabel und die Drähte für das Servo durch die Feder und durch das Loch, das Sie in der Oberseite des Körpers gemacht haben, so dass sie sich im hohlen Körper der Eule befinden.
Schritt 3: Schritt 3: Füllen Sie sie auf
A. Entfernen Sie den Stopfen von der Unterseite der Eule und vergrößern Sie dieses Loch, indem Sie den Kunststoff schneiden. Erhöhen Sie die Größe weiter, bis der Raspberry Pi und der Lautsprecher in den Körper der Eule passen.
B. Sobald das Loch groß genug ist, damit alle Komponenten hineinpassen, ziehen Sie das Kamerakabel, das Sie durch die Oberseite der Eule geführt haben, aus der Basis und stecken Sie es in den Raspberry Pi.
C. Ziehen Sie auf ähnliche Weise die Servokabel durch und stecken Sie sie in den Raspberry Pi:
- +5V auf Servo => +5V auf Pi
- Masse Servo => Masse Mehr
- Signalservo => Pin 12 Pi
D. Stecken Sie den USB-Lautsprecher in den Pi.
e. Legen Sie die SD-Karte in den Pi ein.
F. Versorgen Sie den Pi mit einem tragbaren Netzteil.
g. Stecken Sie den Pi, das Netzteil und den Lautsprecher durch das Loch in der Basis in die Eule.
Schritt 4: Schritt 4: Einrichten des Pi
ALLE CODE FINDEN SIE UNTER https://github.com/sk-t3ch/cctv-owl !
A. Laden Sie Raspian herunter und laden Sie es mit Balena Etcher auf Ihre SD-Karte hoch.
B. Um aus der Ferne auf Ihren Pi zuzugreifen
- Fügen Sie Ihrer Boot-SD-Karte eine Datei namens ssh hinzu
-
Fügen Sie eine Datei namens wpa_supplicant.conf hinzu und geben Sie Ihre WLAN-Zugangsdaten ein
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1
network={ ssid="MySSID" psk="MyPassword" }
C. Legen Sie die SD-Karte in den Pi ein und versuchen Sie einen Zugriff über ssh.
Schritt 5: Schritt 5: Bewegen des Kopfes
Code-Tutorial zum Bewegen des Kopfes (Steuerung eines Servos mit einem Himbeer-Pi)
Um ein Servo zu steuern, das auf dem Pi läuft, erstellen wir ein Skript, das die GPIO-Pins steuert, mit denen das Servo verbunden ist.
A. Verbinden Sie das Servo mit dem Pi:
- +5V auf Servo => +5V auf Pi
- Masse Servo => Masse auf Pi
- Signalservo => Pin 12 auf Pi
B. Sie müssen zuerst die gpio-Pins einrichten, um PWM am Signalpin des Servos zu verwenden.
C. Dann ist es so einfach, das Tastverhältnis (hier erklärt) des Signalpins auszuwählen, um das Servo von 90 Grad mit einem Tastverhältnis von 7,5 auf 0 Grad zu bewegen, wenn das Tastverhältnis 2,5 beträgt, und auf 180 Grad mit einem Tastverhältnis von 12,5
RPi. GPIO als GPIO importieren
Importzeit GPIO.setmode(GPIO. BOARD) GPIO.setwarnings(False) GPIO.setup(12, GPIO. OUT) p = GPIO. PWM(12, 50) p.start(7.5) try: while True: p. ChangeDutyCycle (7.5) # 90 Grad time.sleep(1) p. ChangeDutyCycle(2.5) # 0 Grad time.sleep(1) p. ChangeDutyCycle(12.5) # 180 Grad time.sleep(1) außer KeyboardInterrupt: p.stop() GPIO.cleanup()
Schritt 6: Schritt 6: Machen es Hoot
Code-Tutorial zum Erstellen des Eulenschreis (Abspielen von Audio mit einem Himbeer-Pi)
A. Schließen Sie den USB-Lautsprecher an.
B. Laden Sie einen Sound herunter - wir haben uns für einen gruseligen Schrei entschieden.
C. Spielen Sie den Sound ab, indem Sie diesen Befehl ausführen: omxplayer -o alsa:hw:1, 0 owl_sound.mp3
[D. Wenn dies nicht funktioniert, überprüfen Sie mit dem Befehl alsamixer, welche Ausgabe Ihr Pi verwendet und in welcher Lautstärke - Sie werden mit dem Mixer-Bildschirm begrüßt, auf dem Sie die Lautstärke ändern und Ihr Mediengerät auswählen können. Um die Lautstärke Ihres Sounds zu erhöhen, führen Sie den Befehl wie diesen aus omxplayer -o alsa:hw:1, 0 owl_sound.mp3 --vol 500 Um diesen Sound mit Python abzuspielen, sehen Sie sich unser Testskript an.]
Unterprozess importieren
command = "omxplayer -o alsa:hw:1, 0 owl_sound.mp3 --vol 500" player = subprocess. Popen(command.split(' '), stdin=subprocess. PIPE, stdout=subprocess. PIPE, stderr=subprocess. ROHR)
Schritt 7: Schritt 7: Streamen Sie das Video vom Pi
Code-Tutorial zum Erstellen eines Himbeer-Pi-Kamerastreams
A. Führen Sie Python app.py aus und zeigen Sie es in Ihrem lokalen Netzwerk unter https://raspberrypi.local:5000 an
B. Dieser Code wurde von Miguel Grinberg übernommen und leicht angepasst https://blog.miguelgrinberg.com/post/flask-video-… Das Grundkonzept besteht darin, dass wir Threading und Generatoren verwenden, um die Streaming-Geschwindigkeit zu verbessern.
Schritt 8: Schritt 8: Körpererkennung
Code zur Körpererkennung (ImageNetSSD in einem Videostream mit Himbeer-Pi)
A. Da wir den Raspberry Pi 4 verwenden, hielten wir es für das Beste, einige Deep-Learning-Modelle darauf auszuprobieren, anstatt die grundlegende HaarCascade-Methode, auf die wir uns bisher beschränkt hatten.
B. Wir haben uns einige der vortrainierten Modelle da draußen angeschaut, wie YOLOv3, das super cool aussieht. YOLOv3 winzige Gewichte, die perfekt für den Pi gewesen wären, aber wir konnten ihn nicht zum Laufen bringen:(C. Stattdessen haben wir uns für das MobileSSD-Modell entschieden, das wir mit dem OpenCVs-DNN-Modul (Deep Neural Net) ausführen können, wie wir aus diesem Code gelernt haben: https://heartbeat.fritz.ai/real-time-object-detection-on-raspberry -pi-using-opencv-dnn-98827255fa60 und vom Helden der Bildverarbeitungs-Tutorials, Adrian Rosebrock: https://www.pyimagesearch.com/2017/09/11/object-detection-with-deep-learning-and- offener Lebenslauf/
D. Da wir jedoch versuchen, diesen Inhalt zu streamen und Modelle für jeden Frame auszuführen, führt dies zu einem verzögerten, fragmentierten Video. Wir haben wieder von Adrian Rosebrock gelernt https://www.pyimagesearch.com/2017/10/16/raspberry-pi-deep-learning-object-detection-with-opencv/ und haben das Python-Multiprocessing-Modul verwendet, um unsere Bilder in Warteschlangen zu stellen wo sie verarbeitet werden können, ohne den Kamerastream so stark zu blockieren.
e. Versuchen Sie, den Code selbst auszuführen:)
Schritt 9: Schritt 9: Zombie-Benachrichtigungen senden
Code zum Senden einer Benachrichtigung (Python an Telefon)
A. Wir haben uns entschieden, den Benachrichtigungsdienst https://pushed.co zu verwenden.
B. Sie können ein kostenloses Konto erstellen und die App herunterladen und sich sehr schnell einrichten, um mobile Benachrichtigungen zu erstellen. Wir haben die Benachrichtigungen mit einem Python-Skript wie diesem erstellt.
Importanfragen
payload = { "app_key": "APP_KEY", "app_secret": "APP_SECRET", "target_type": "app", "content": "Eule hat einen Zombie entdeckt." } r = request.post("https://api.pushed.co/1/push", data=payload)
Es ist super einfach und Sie können Ihren Benachrichtigungsnamen anpassen!
Schritt 10: Was für ein Schrei
Wir hoffen, Ihnen hat unser Smart Security Owl-Projekt gefallen! Das hat super viel Spaß gemacht und ich fühle mich viel sicherer, wenn ich weiß, dass mein Haus von unserer treuen Eule bewacht wird.
Wenn Sie denken, dass dies eine fabelhafte Halloween-Ergänzung für Ihr intelligentes Zuhause wäre, stimmen Sie bitte für uns im Instructables-Halloween-Wettbewerb ab und denken Sie wie üblich daran, zu mögen, zu kommentieren und zu abonnieren!
Tragen Sie sich in unsere Mailingliste ein!
Empfohlen:
So erstellen Sie einen Smart Pot mit NodeMCU, der von der App gesteuert wird – wikiHow
So erstellen Sie einen Smart Pot mit NodeMCU, der von einer App gesteuert wird: In dieser Anleitung bauen wir einen Smart Pot, der von einem ESP32 und einer Anwendung für Smartphones (iOS und Android) gesteuert wird. Wir verwenden NodeMCU (ESP32) für die Konnektivität und die Blynk-Bibliothek für das Cloud-IoT und die Anwendung auf dem Smartphone. Endlich haben wir
DIY WiFi Smart Security Light mit Shelly
DIY WiFi Smart Security Light mit Shelly 1: Diese Anleitung wird sich mit der Erstellung eines DIY Smart Security Light mit dem Shelly 1 Smart Relais von Shelly befassen. Wenn Sie ein Sicherheitslicht intelligent machen, haben Sie viel mehr Kontrolle darüber, wann es aktiviert wird und wie lange es eingeschaltet bleibt. Es kann aktiv sein
MyPhotometrics - Gandalf: Leistungsmessgerät Zur Messung Von Lasern Im Sichtbaren Bereich Auf Basis Von "Sauron": 8 Schritte
MyPhotometrics - Gandalf: Leistungsmessgerät Zur Messung Von Lasern Im Sichtbaren Bereich Auf Basis Von "Sauron": Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz. Eine für Menschen lesbare Zusammenfassung dieser Lizenz findet sich hier.Was ist Gandalf?Gandalf ist eine Stand-A
Machen Sie Ihre Anlage SMART! (von Arduino): 5 Schritte
Machen Sie Ihre Anlage SMART! (Von Arduino): Sie haben sich also schon immer gefragt, wie Sie Ihren Anlagen Technologie hinzufügen können? Mit diesem coolen Projekt können Sie sicherstellen, dass Ihre schönen Pflanzen immer in gutem Zustand sind. Nachdem Sie dieses Projekt durchgeführt haben, werden Sie: Erfahren Sie, wie Sie Analogausgangssensoren verwenden Erfahren Sie, wie
Aufrüsten von Smart RGB-LEDs: WS2812B vs. WS2812: 6 Schritte
Aufrüsten von Smart RGB-LEDs: WS2812B vs. WS2812: Die schiere Anzahl von Projekten, die wir in den letzten 3 Jahren mit intelligenten RGB-LEDs gesehen haben, seien es Streifen, Module oder kundenspezifische Leiterplatten, ist ziemlich erstaunlich. Dieser Ausbruch der RGB-LED-Nutzung ging Hand in Hand mit einem signifikanten