Innehållsförteckning:
- Steg 1: Saker som används i detta projekt
- Steg 2: Maskinvaruanslutning
- Steg 3: Programvaruprogrammering
- Steg 4: Klar
Video: Ansiktsigenkänning Smart Lock med LTE Pi HAT: 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:41
Ansiktsigenkänning blir mer och mer allmänt använd, vi kan använda det för att skapa ett smart lås.
Steg 1: Saker som används i detta projekt
Hårdvarukomponenter
- Raspberry Pi 3 Modell B
- Raspberry Pi kameramodul V2
- Grove - stafett
- LTE Cat 1 Pi HAT (Europa)
- 10,1 tum 1200x1980 HDMI IPS LCD -skärm
Programvaruappar och onlinetjänster
- WinSCP
- Anteckningsblock ++
Steg 2: Maskinvaruanslutning
I detta projekt planerar vi att ta bilder med picamera och känna igen ansikten i dem och sedan visa igenkänningsresultat på skärmen. Om ansikten är kända, öppna dörren och skicka vem som öppnade dörren till ett specifikt telefonnummer via SMS.
Så du måste ansluta en kamera till Raspberry Pi: s kameragränssnitt och installera antenn och Grove - Relä till LTE Pi -hatt och anslut sedan HAT till din Pi. Skärmen kan anslutas till Raspberry Pi via en HDMI -kabel, glöm inte att ansluta ström till din skärm och Pi.
Steg 3: Programvaruprogrammering
Ansiktsigenkänning
Tack för Adam Geitgey och hans ansiktsigenkänningsprojekt, vi kan använda världens enklaste ansiktsigenkänningsbibliotek på Raspberry Pi. Följande steg visar hur du konfigurerar ansiktsigenkänning på Pi.
Steg 1. Använd raspi-config för att konfigurera kamera och GPU-minne.
sudo raspi-config
Välja gränssnittsalternativ - kamera för att aktivera picamera, sedan välja Avancerade alternativ - Memory Split för att ställa in GPU -minne, det bör ändras till 64. Efter avslutad starta om din Raspberry Pi.
Steg 2. Installera nödvändiga bibliotek.
sudo apt-get uppdatering
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
Steg 3. Gör picamerea stöder array.
sudo pip3 installera -uppgradera picamera [array]
Steg 4. Installera dlib och ansiktsigenkänning.
sudo pip3 installera dlib
sudo pip3 installera face_recognition
Steg 5. Ladda ner och kör ansiktsigenkänningsexempel
git clone --single-branch
cd./face_recognition/examples python3 facerec_on_raspberry_pi.py
ANMÄRKNING: Om du fick ImportError: libatlas.so.3: kan inte öppna delad objektfil: Ingen sådan fil eller katalog, kör följande kommando för att fixa det.
Relä
När ansiktsigenkänning är klar kan vi fortsätta att lägga till ytterligare funktioner. Vi kopplade Grove - Relay till LTE Cat 1 Pi HAT, men den använder digital port istället för I2C -port.
Detta är pin-out för Raspberry Pi 3B, vi kan se SDA-stift och SCL-stift som finns i kortets stift 3 och stift 5.
Så vi kan styra reläet genom att mata ut digital signal till pin 5. Kör ned pythonprogrammet på din Raspberry Pi, om inget går fel hör du en Ti-Ta från relä.
importera RPi. GPIO som GPIO
RELAY_PIN = 5 GPIO.setmode (GPIO. BOARD) GPIO.setup (RELAY_PIN, GPIO. OUT) GPIO.output (RELAY_PIN, GPIO. HIGH)
Så här är tanken, vi laddar kända ansikten från en mapp, känner igen ansikten som fångas av picamera, om ansiktet i mappen, styrrelä för att låsa upp dörren. Vi kan paketera dem till en klass, här är metoden load_known_faces () och upplåsning (), det färdiga programmet kan laddas ner i slutet av denna artikel.
def load_known_faces (self):
known_faces = os.listdir (self._ known_faces_path) för known_face in known_faces: self._ known_faces_name.append (known_face [0: len (known_face) - len ('. jpg')]) known_face_image = face_recognition.load_image_file (self._ known_faces_pface) 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 ('Dörr öppnad') time.sleep (5) GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () return True true._ retry_count += 1 print ('Försök igen … { } '. format (self._ retry_count)) return False
Tänk transcendentalt, vi kan visa bilden vem som kände igen, bibliotek PIL och matplotlib kan vara till hjälp, bland dem måste matplotlib installeras manuellt, kör det här kommandot i din Raspberry Pi -terminal.
sudo pip3 installera matplotlib
Importera dem i din kod och ändra om blockera i unlock () -metoden så här:
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 ('Door closed') plt.pause (3) plt.close () GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () return True
Om ett ansikte känns igen kommer bilden i mappen att visas på skärmen.
SMS
Ibland vill vi veta vem som är i vårt rum, och nu finns det en plats för LTE Cat 1 Pi HAT. Anslut ett SIM -kort till det och följ stegen för att testa om det fungerar eller inte.
Steg 1. Aktivera UART0 i Raspberry Pi
Använd nano för att redigera config.txt i /boot
sudo nano /boot/config.txt
lägg till dtoverlay = pi3-disable-bt till botten av det och inaktivera hciuart-tjänsten
sudo systemctl inaktivera hciuart
radera sedan console = serial0, 115200 i cmdline.txt in /boot
sudo nano /boot/cmdline.txt
När allt är gjort bör du starta om din Raspberry Pi.
Steg 2. Ladda ner exemplet och kör det.
Öppna en terminal på din Raspberry Pi, skriv dessa kommandon till den rad för rad.
cd ~
git klon https://github.com/Seeed-Studio/ublox_lara_r2_pi_hat.git cd ublox_lara_r2_pi_hat sudo python setup.py installera cd test sudo python test01.py
Om du ser dessa utgångar i din terminal fungerar LTE Cat 1 Pi HAT bra.
40-stifts GPIO-rubrik upptäckt
Aktivera CTS0 och RTS0 på GPIO 16 och 17 rt cts vid väckning … modulnamn: LARA-R211 RSSI: 3
Nu visste vi att HAT fungerar bra, hur man använder den för att skicka SMS? Det första du behöver veta är att Raspberry Pi kommunicerar med HAT via skicka AT -kommandon från UART. Du kan skicka AT -kommandon till LTE HAT genom att köra den här koden i python
från ublox_lara_r2 import *
u = Ublox_lara_r2 () u.initialize () u.reset_power () # Stäng felsökningsmassage u.debug = Falskt u.sendAT ('')
AT -kommandot för att skicka SMS är följande
AT+CMGF = 1
AT+CMGS =
så här är _send_sms () -metoden:
def _send_sms (själv):
if self._ phonenum == None: return False för unlocker i self._ igenkänna_face_namn (): 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 (' {} gå in i rummet. / x1a'.format (upplåsning)): print (self._ ublox.response)
ANMÄRKNING: LTE Cat 1 Pi HAT: s bibliotek skrivet av python2, som inte är särskilt kompatibelt med python3, om du vill använda det med ansiktsigenkänning, ladda ner det från länken från slutet av denna artikel.
Rekommenderad:
Ansiktsigenkänning på Raspberry Pi 4B i 3 steg: 3 steg
Ansiktsigenkänning på Raspberry Pi 4B i tre steg: I denna instruktionsbok ska vi utföra ansiktsigenkänning på Raspberry Pi 4 med Shunya O/S med hjälp av Shunyaface-biblioteket. Shunyaface är ett bibliotek för ansiktsigenkänning/upptäckt. Projektet syftar till att uppnå snabbaste detekterings- och igenkänningshastighet med
IP-kamera med ansiktsigenkänning med ESP32-CAM-kortet: 5 steg
IP-kamera med ansiktsigenkänning med ESP32-CAM-kortet: Det här inlägget är annorlunda jämfört med de andra och vi tar en titt på det mycket intressanta ESP32-CAM-kortet som är förvånansvärt billigt (mindre än $ 9) och lätt att använda. Vi skapar en enkel IP -kamera som kan användas för att strömma ett livevideoflöde med 2
Ansiktsigenkänning och identifiering - Arduino Face ID med OpenCV Python och Arduino .: 6 steg
Ansiktsigenkänning och identifiering | Arduino Face ID Med OpenCV Python och Arduino .: Ansiktsigenkänning AKA face ID är en av de viktigaste funktionerna på mobiltelefoner nuförtiden. Så jag hade en fråga " kan jag ha ett ansikts -id för mitt Arduino -projekt " och svaret är ja … Min resa började enligt följande: Steg 1: Tillgång till vi
Dörrklocka med ansiktsigenkänning: 7 steg (med bilder)
Dörrklocka med ansiktsigenkänning: Motivation Det har nyligen skett en våg av rån i mitt land som är riktade mot äldre i deras egna hem. Vanligtvis beviljas tillträde av de åkande själva eftersom besökarna övertygar dem om att de är vårdgivare/sjuksköterskor. Den
ESP32 CAM -ansiktsigenkänning med MQTT -stöd - AI-tänkare: 4 steg
ESP32 CAM -ansiktsigenkänning med MQTT -stöd | AI-tänkare: Hej! Jag ville dela min kod för ett projekt om jag behövde ha en ESP CAM med ansiktsigenkänning som kunde skicka ut data till MQTT. Så väl .. efter kanske 7 timmars tittande genom flera kodexempel och letat efter vad som är vad, har jag slut