Indholdsfortegnelse:
- Trin 1: Ting, der bruges i dette projekt
- Trin 2: Hardwareforbindelse
- Trin 3: Software programmering
- Trin 4: Udført
Video: Ansigtsgenkendelse Smart Lock Med LTE Pi HAT: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
Ansigtsgenkendelse bliver mere og mere udbredt, vi kan bruge den til at lave en smart lås.
Trin 1: Ting, der bruges i dette projekt
Hardware komponenter
- Raspberry Pi 3 Model B
- Raspberry Pi kameramodul V2
- Grove - stafet
- LTE Cat 1 Pi HAT (Europa)
- 10,1 tommer 1200x1980 HDMI IPS LCD -skærm
Software -apps og onlinetjenester
- WinSCP
- Notesblok ++
Trin 2: Hardwareforbindelse
I dette projekt planlægger vi at tage billeder med picamera og genkende ansigter i dem og derefter vise genkendelsesresultat på skærmen. Hvis ansigter kendes, skal du åbne døren og sende, hvem der åbnede døren til det angivne telefonnummer via SMS.
Så du skal tilslutte et kamera til Raspberry Pi's kameragrænseflade og installere antenne og Grove - Relæ til LTE Pi hat, og tilslut derefter HAT til din Pi. Skærmen kan tilsluttes Raspberry Pi via et HDMI -kabel, glem ikke at slutte strøm til din skærm og Pi.
Trin 3: Software programmering
Ansigtsgenkendelse
Tak for Adam Geitgey og hans ansigtsgenkendelsesprojekt, vi kan bruge verdens enkleste ansigtsgenkendelsesbibliotek på Raspberry Pi. Følgende trin viser dig, hvordan du konfigurerer ansigtsgenkendelse på Pi.
Trin 1. Brug raspi-config til at konfigurere kamera og GPU-hukommelse.
sudo raspi-config
Valg af grænsefladeindstillinger - Kamera for at aktivere picamera, derefter vælge Avancerede indstillinger - Memory Split for at indstille GPU -hukommelse, det skal ændres til 64. Efter afslutning skal du genstarte din Raspberry Pi.
Trin 2. Installer nødvendige biblioteker.
sudo apt-get opdatering
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
Trin 3. Lav picamerea understøtter array.
sudo pip3 install -opgrader picamera [array]
Trin 4. Installer dlib og ansigtsgenkendelse.
sudo pip3 installer dlib
sudo pip3 installer face_recognition
Trin 5. Download og kør ansigtsgenkendelseseksempel
git-klon-enkeltfilial
cd./face_recognition/examples python3 facerec_on_raspberry_pi.py
BEMÆRK: Hvis du har ImportError: libatlas.so.3: kan ikke åbne delt objektfil: Ingen sådan fil eller bibliotek, skal du køre følgende kommando for at rette den.
Relæ
Når ansigtsgenkendelse er klar, kan vi fortsætte med at tilføje yderligere funktioner. Vi tilsluttede Grove - Relay til LTE Cat 1 Pi HAT, men den bruger digital port frem for I2C port.
Dette er pin-out til Raspberry Pi 3B, vi kan se SDA pin og SCL pin placeret i boardets pin 3 og pin 5.
Så vi kan styre relæet ved at udsende digitalt signal til pin 5. Kør efterfølgende python-program på din Raspberry Pi, hvis intet går galt, vil du høre en Ti-Ta fra relæ.
importer RPi. GPIO som GPIO
RELAY_PIN = 5 GPIO.setmode (GPIO. BOARD) GPIO.setup (RELAY_PIN, GPIO. OUT) GPIO.output (RELAY_PIN, GPIO. HIGH)
Så her er ideen, vi indlæser kendte ansigter fra en mappe, genkender ansigter fanget af picamera, hvis ansigtet i mappen, kontrolrelæ for at låse døren op. Vi kan pakke dem til en klasse, her er metoden load_known_faces () og unlock (), det færdige program kan downloades i slutningen af denne artikel.
def load_known_faces (self):
known_faces = os.listdir (self._ known_faces_path) for kendt_face i kendt_faces: self._ known_faces_name.append (kendt_face [0: len (kendt_flade) - len ('. jpg')]) kendt_flade_billede = ansigtsgenkendelse.load_image_fil (selv._ kendt_flade_side)) 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ør åbnet') time.sleep (5) GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () return True True._ retry_count += 1 print ('Prøv igen … { } '. format (self._ retry_count)) return False
Tænk transcendentalt, vi kan vise billedet, hvem der genkendte, biblioteker PIL og matplotlib kan være nyttige, blandt dem skal matplotlib installeres manuelt, kør denne kommando i din Raspberry Pi's terminal.
sudo pip3 installer matplotlib
Importer dem i din kode, og skift hvis blok i unlock () -metoden som denne:
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 ('Dør åbnet') plt.pause (3) plt.close () GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () return True
Nu, hvis et ansigt genkendes, vises billedet i mappen på skærmen.
SMS
Nogle gange vil vi gerne vide, hvem der er i vores værelse, og nu er der et sted til LTE Cat 1 Pi HAT. Slut et SIM -kort til det, og følg trinene for at teste, om det virker eller ej.
Trin 1. Aktiver UART0 i Raspberry Pi
Brug nano til at redigere config.txt i /boot
sudo nano /boot/config.txt
tilføj dtoverlay = pi3-deaktiver-bt til bunden af det, og deaktiver hciuart-service
sudo systemctl deaktiver hciuart
derefter slette konsol = serial0, 115200 i cmdline.txt i /boot
sudo nano /boot/cmdline.txt
Efter alt er gjort, skal du genstarte din Raspberry Pi.
Trin 2. Download eksempel og kør det.
Åbn en terminal på din Raspberry Pi, skriv disse kommandoer til den linje for linje.
cd ~
git-klon https://github.com/Seeed-Studio/ublox_lara_r2_pi_hat.git cd ublox_lara_r2_pi_hat sudo python setup.py installer cd test sudo python test01.py
Hvis du ser disse udgange i din terminal, fungerer LTE Cat 1 Pi HAT godt.
40-benet GPIO-header fundet
Aktivering af CTS0 og RTS0 på GPIO'er 16 og 17 rts cts ved vågning … modulnavn: LARA-R211 RSSI: 3
Nu vidste vi, at HAT'en fungerer godt, hvordan man bruger den til at sende SMS? Den første ting du skal vide er, at Raspberry Pi kommunikerer med HATEN via send AT -kommandoer fra UART. Du kan sende AT -kommandoer til LTE HAT ved at køre denne kode i python
fra ublox_lara_r2 import *
u = Ublox_lara_r2 () u.initialize () u.reset_power () # Luk fejlretningsmassage u.debug = Falsk u.sendAT ('')
AT -kommandoen til afsendelse af SMS er som følger
AT+CMGF = 1
AT+CMGS =
så her er _send_sms () metode:
def _send_sms (selv):
if self._ phonenum == None: return False for 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) hvis self._ ublox.sendAT (' {} indtast rummet. / x1a'.format (unlocker)): print (self._ ublox.response)
BEMÆRK: LTE Cat 1 Pi HATs bibliotek skrevet af python2, som ikke er særlig kompatibelt med python3, hvis du vil bruge det med ansigtsgenkendelse, skal du downloade det fra linket fra slutningen af denne artikel.
Anbefalede:
Abellcadabra (låsesystem til ansigtsgenkendelse): 9 trin
Abellcadabra (ansigtsgenkendelseslåsesystem): Jeg lagde mig rundt under karantænen og forsøgte at finde en måde at dræbe tiden på ved at opbygge ansigtsgenkendelse til husdøren. Jeg kaldte det Abellcadabra - som er en kombination mellem Abracadabra, en magisk sætning med dørklokke, som jeg kun tager klokken. LOL
Hat ikke hat - en hat til folk, der ikke virkelig har hatte på, men gerne vil have en hatoplevelse: 8 trin
Hat ikke hat - en hat til folk, der ikke virkelig bærer hatte, men gerne vil have en hatoplevelse: Jeg har altid ønsket, at jeg kunne være en hatperson, men har aldrig nogensinde fundet en hat, der fungerer for mig. Denne " Hat Not Hat, " eller fascinator, som det kaldes, er en øvre crusty løsning på mit hatproblem, hvor jeg måske deltager i Kentucky Derby, vakuum
Dørklokke med ansigtsgenkendelse: 7 trin (med billeder)
Dørklokke med ansigtsgenkendelse: Motivation For nylig har der været en bølge af røverier i mit land, der er målrettet ældre i deres eget hjem. Normalt gives adgang fra beboerne selv, da de besøgende overbeviser dem om, at de er omsorgspersoner/sygeplejersker. Det
ESP32 CAM ansigtsgenkendelse med MQTT -understøttelse - AI-tænker: 4 trin
ESP32 CAM ansigtsgenkendelse med MQTT -understøttelse | AI-tænker: Hej! Jeg ville dele min kode til et projekt, hvis jeg skulle have et ESP CAM med ansigtsgenkendelse, der kunne sende data til MQTT. Så godt .. efter måske 7 timers kig igennem flere kodeeksempler og ledt efter hvad der er hvad, har jeg fini
Ansigtsgenkendelse i realtid: et ende-til-ende-projekt: 8 trin (med billeder)
Ansigtsgenkendelse i realtid: et ende-til-ende-projekt: På min sidste tutorial, der udforskede OpenCV, lærte vi AUTOMATIC VISION OBJECT TRACKING. Nu vil vi bruge vores PiCam til at genkende ansigter i realtid, som du kan se nedenfor: Dette projekt blev udført med dette fantastiske " Open Source Computer Vision Library & qu