Inhaltsverzeichnis:
- Schritt 1: Dinge, die in diesem Projekt verwendet werden
- Schritt 2: Hardwareverbindung
- Schritt 3: Softwareprogrammierung
- Schritt 4: Fertig
Video: Gesichtserkennung Smart Lock mit LTE Pi HAT - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:17
Die Gesichtserkennung wird immer häufiger verwendet, wir können sie verwenden, um ein intelligentes Schloss zu erstellen.
Schritt 1: Dinge, die in diesem Projekt verwendet werden
Hardware-Komponenten
- Raspberry Pi 3 Modell B
- Raspberry Pi Kameramodul V2
- Grove - Relais
- LTE Cat 1 Pi HAT (Europa)
- 10,1 Zoll 1200x1980 HDMI IPS LCD-Display
Software-Apps und Online-Dienste
- WinSCP
- Notizblock++
Schritt 2: Hardwareverbindung
In diesem Projekt planen wir, Bilder mit Picamera aufzunehmen und darin Gesichter zu erkennen und dann das Erkennungsergebnis auf dem Bildschirm anzuzeigen. Wenn Gesichter bekannt sind, öffnen Sie die Tür und senden Sie per SMS, wer die Tür geöffnet hat, an die angegebene Telefonnummer.
Sie müssen also eine Kamera an die Kameraschnittstelle des Raspberry Pi anschließen, Antenne und Grove - Relais an LTE-Pi-Hut installieren und dann HAT an Ihren Pi anschließen. Der Bildschirm kann über ein HDMI-Kabel mit dem Raspberry Pi verbunden werden, vergessen Sie nicht, den Bildschirm und das Pi mit Strom zu versorgen.
Schritt 3: Softwareprogrammierung
Gesichtserkennung
Danke für Adam Geitgey und sein Gesichtserkennungsprojekt, wir können die einfachste Gesichtserkennungsbibliothek der Welt auf Raspberry Pi verwenden. Die folgenden Schritte zeigen Ihnen, wie Sie die Gesichtserkennung auf Pi einrichten.
Schritt 1. Verwenden Sie raspi-config, um den Kamera- und GPU-Speicher zu konfigurieren.
sudo raspi-config
Wählen Sie Schnittstellenoptionen – Kamera, um die Picamera zu aktivieren, und wählen Sie dann Erweiterte Optionen – Speicheraufteilung, um den GPU-Speicher einzustellen. Er sollte auf 64 geändert werden. Starten Sie Ihren Raspberry Pi nach Abschluss neu.
Schritt 2. Installieren Sie die erforderlichen Bibliotheken.
sudo apt-get update
sudo apt-get upgrade sudo apt-get install build-essential / cmake / gfortran / git / wget / curl / Graphicsmagick / libgraphicsmagick1-dev / libatlas-dev / libavcodec-dev / libavformat-dev / libboost-all-dev / libgtk2. 0-dev\libjpeg-dev\liblapack-dev\libswscale-dev\pkg-config\python3-dev\python3-numpy\python3-picamera\python3-pip\zip sudo apt-get clean
Schritt 3. Machen Sie picamerea unterstützt Array.
sudo pip3 install --upgrade picamera[array]
Schritt 4. Installieren Sie dlib und Gesichtserkennung.
sudo pip3 dlib installieren
sudo pip3 install face_recognition
Schritt 5. Laden Sie das Beispiel für die Gesichtserkennung herunter und führen Sie es aus
git clone --single-branch
cd./face_recognition/examples python3 facerec_on_raspberry_pi.py
HINWEIS: Wenn Sie ImportError: libatlas.so.3: Shared Object File nicht öffnen können: Keine solche Datei oder kein solches Verzeichnis, führen Sie den folgenden Befehl aus, um das Problem zu beheben.
Relais
Wenn die Gesichtserkennung bereit ist, können wir weitere Funktionen hinzufügen. Wir haben Grove - Relay mit LTE Cat 1 Pi HAT verbunden, aber es verwendet einen digitalen Port anstelle eines I2C-Ports.
Dies ist die Pinbelegung für Raspberry Pi 3B, wir können den SDA-Pin und den SCL-Pin in Pin 3 und Pin 5 der Platine sehen.
So können wir das Relais steuern, indem wir ein digitales Signal an Pin 5 ausgeben. Führen Sie das folgende Python-Programm auf Ihrem Raspberry Pi aus. Wenn nichts schief geht, hören Sie ein Ti-Ta vom Relais.
RPi. GPIO als GPIO importieren
RELAY_PIN = 5 GPIO.setmode(GPIO. BOARD) GPIO.setup(RELAY_PIN, GPIO. OUT) GPIO.output(RELAY_PIN, GPIO. HIGH)
Hier ist also die Idee, bekannte Gesichter aus einem Ordner zu laden, von Picamera erfasste Gesichter zu erkennen, wenn das Gesicht im Ordner ist, Steuerrelais zum Entriegeln der Tür. Wir können sie in eine Klasse packen, hier ist die Methode load_known_faces() und unlock(), das fertige Programm kann am Ende dieses Artikels heruntergeladen werden.
def load_known_faces(self):
bekannte_gesichter = os.listdir(self._known_faces_path) für bekanntes_gesicht in bekannten_gesichtern: self._known_faces_name.append(known_face[0: len(bekanntes_gesicht) - len('.jpg')]) bekanntes_gesicht_image = face_recognition.load_image_file(self._known_faces_path +) self._known_faces_encoding.append(face_recognition.face_encodings(known_face_image)[0]) return len(self._known_faces_encoding) def unlock(self): if self._matched.count(True) > 0: GPIO.output(self._relay_pin, GPIO. HIGH) print('Tür geöffnet') time.sleep(5) GPIO.output(self._relay_pin, GPIO. LOW) self._reset_recognise_params() return True self._retry_count += 1 print('Bitte erneut versuchen…{ }'.format(self._retry_count)) gibt False zurück
Denken Sie transzendental, wir können das Bild zeigen, wer erkannt hat, Bibliotheken PIL und Matplotlib können hilfreich sein, unter anderem muss Matplotlib manuell installiert werden, führen Sie diesen Befehl im Terminal Ihres Raspberry Pi aus.
sudo pip3 installiere matplotlib
Importieren Sie sie in Ihren Code und ändern Sie den Block in der Methode unlock() wie folgt:
img = Image.open('{}/{}.jpg'.format(self._known_faces_path, self._known_faces_name[0]))
plt.imshow(img) plt.ion() GPIO.output(self._relay_pin, GPIO. HIGH) print('Tür geöffnet') plt.pause(3) plt.close() GPIO.output(self._relay_pin, GPIO. LOW) self._reset_recognise_params() gibt True zurück
Wird nun ein Gesicht erkannt, wird das Bild im Ordner auf dem Bildschirm angezeigt.
SMS
Manchmal wollen wir wissen, wer in unserem Zimmer ist, und jetzt gibt es einen Platz für LTE Cat 1 Pi HAT. Stecken Sie eine SIM-Karte ein und befolgen Sie die Schritte, um zu testen, ob es funktioniert oder nicht.
Schritt 1. Aktivieren Sie UART0 in Raspberry Pi
Verwenden Sie nano, um config.txt in /boot zu bearbeiten
sudo nano /boot/config.txt
fügen Sie dtoverlay=pi3-disable-bt am Ende hinzu und deaktivieren Sie den hciuart-Dienst
sudo systemctl deaktivieren hciuart
dann lösche console=serial0, 115200 in cmdline.txt in /boot
sudo nano /boot/cmdline.txt
Nachdem alles erledigt ist, sollten Sie Ihren Raspberry Pi neu starten.
Schritt 2. Laden Sie das Beispiel herunter und führen Sie es aus.
Öffnen Sie ein Terminal auf Ihrem Raspberry Pi, geben Sie diesen Befehl Zeile für Zeile ein.
cd ~
git clone https://github.com/Seeed-Studio/ublox_lara_r2_pi_hat.git cd ublox_lara_r2_pi_hat sudo python setup.py install cd test sudo python test01.py
Wenn Sie diese Ausgänge in Ihrem Terminal sehen, funktioniert der LTE Cat 1 Pi HAT gut.
40-Pin-GPIO-Header erkannt
Aktivieren von CTS0 und RTS0 auf GPIOs 16 und 17 rts cts beim Aufwachen… Modulname: LARA-R211 RSSI: 3
Jetzt wussten wir, dass der HAT gut funktioniert, wie kann man ihn verwenden, um SMS zu senden? Das erste, was Sie wissen müssen, ist, dass der Raspberry Pi über das Senden von AT-Befehlen per UART mit dem HAT kommuniziert. Sie können AT-Befehle an LTE HAT senden, indem Sie diesen Code in Python ausführen
aus ublox_lara_r2 importieren *
u = Ublox_lara_r2() u.initialize() u.reset_power() # Debugmeldung schließen u.debug = False u.sendAT('')
Der AT-Befehl zum Senden von SMS lautet wie folgt
AT+CMGF=1
AT+CMGS=
Hier ist also die Methode _send_sms():
def _sms (selbst):
if self._phonenum == None: false zurückgeben für Unlocker in self._recognise_face_names(): if self._ublox.sendAT('AT+CMGF=1\r\n'): print(self._ublox.response) if self. _ublox.sendAT('AT+CMGS="{}"\r\n'.format(self._phonenum)): print(self._ublox.response) if self._ublox.sendAT('{} betritt den Raum.\ x1a'.format(unlocker)): print(self._ublox.response)
HINWEIS: Die von Python2 geschriebene Bibliothek des LTE Cat 1 Pi HAT, die nicht sehr kompatibel mit Python3 ist, wenn Sie sie mit Gesichtserkennung verwenden möchten, laden Sie sie bitte über den Link am Ende dieses Artikels herunter.
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
Gesichtserkennung auf Raspberry Pi 4B in 3 Schritten
Gesichtserkennung auf Raspberry Pi 4B in 3 Schritten: In diesem Instructable werden wir die Gesichtserkennung auf Raspberry Pi 4 mit Shunya O / S mit der Shunyaface-Bibliothek durchführen. Shunyaface ist eine Bibliothek zur Gesichtserkennung/-erkennung. Das Projekt zielt darauf ab, die schnellste Erkennungs- und Erkennungsgeschwindigkeit mit
Raspberry Pi mit Node.js mit der Cloud verbinden – wikiHow
So verbinden Sie Raspberry Pi mit Node.js mit der Cloud: Dieses Tutorial ist nützlich für alle, die einen Raspberry Pi mit Node.js mit der Cloud, insbesondere mit der AskSensors IoT-Plattform, verbinden möchten. Sie haben keinen Raspberry Pi? Wenn Sie derzeit keinen Raspberry Pi besitzen, empfehle ich Ihnen, sich einen Raspberry Pi zuzulegen
Gesichtserkennung in Echtzeit: ein End-to-End-Projekt – wikiHow
Echtzeit-Gesichtserkennung: ein End-to-End-Projekt: In meinem letzten Tutorial zur Erkundung von OpenCV haben wir AUTOMATIC VISION OBJECT TRACKING gelernt. Jetzt werden wir unsere PiCam verwenden, um Gesichter in Echtzeit zu erkennen, wie Sie unten sehen können: Dieses Projekt wurde mit dieser fantastischen "Open Source Computer Vision Library&qu