Sadržaj:
- Korak 1: Stvari koje se koriste u ovom projektu
- Korak 2: Povezivanje hardvera
- Korak 3: Programiranje softvera
- Korak 4: Gotovo
Video: Smart Lock za prepoznavanje lica sa LTE Pi HAT: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
Prepoznavanje lica sve se više koristi, možemo ga koristiti za izradu pametne brave.
Korak 1: Stvari koje se koriste u ovom projektu
Hardverske komponente
- Raspberry Pi 3 Model B
- Modul kamere Raspberry Pi V2
- Grove - Relej
- LTE Cat 1 Pi HAT (Evropa)
- 10.1 inčni HDMI IPS LCD ekran rezolucije 1200x1980
Softverske aplikacije i mrežne usluge
- WinSCP
- Notepad ++
Korak 2: Povezivanje hardvera
U ovom projektu planiramo snimiti slike s pikamerom i prepoznati lica na njima, a zatim prikazati rezultat prepoznavanja na ekranu. Ako su poznata lica, otvorite vrata i putem SMS -a pošaljite ko je otvorio vrata na navedeni broj telefona.
Dakle, morate spojiti kameru na interfejs kamere Raspberry Pi, instalirati antenu i Grove - relej na LTE Pi šešir, zatim priključiti HAT na svoj Pi. Zaslon se može povezati s Raspberry Pi putem HDMI kabela, ne zaboravite priključiti napajanje na zaslon i Pi.
Korak 3: Programiranje softvera
Prepoznavanje lica
Hvala Adamu Geitgeyu i njegovom projektu prepoznavanja lica, možemo koristiti najjednostavniju svjetsku biblioteku za prepoznavanje lica na Raspberry Pi. Sljedeći koraci pokazat će vam kako postaviti prepoznavanje lica na Pi.
Korak 1. Pomoću raspi-config konfigurirajte kameru i GPU memoriju.
sudo raspi-config
Odabirom opcija sučelja - Kamera za omogućavanje kamere, zatim odabirom Napredne opcije - Podjela memorije za postavljanje GPU memorije, treba je promijeniti na 64. Nakon završetka, ponovo pokrenite svoj Raspberry Pi.
Korak 2. Instalirajte potrebne biblioteke.
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
Korak 3. Napravite niz za podršku picamerea.
sudo pip3 install --upgrade picamera [niz]
Korak 4. Instalirajte dlib i prepoznavanje lica.
sudo pip3 install dlib
sudo pip3 instalirajte face_recognition
Korak 5. Preuzmite i pokrenite primjer prepoznavanja lica
git clone --single-branch
cd./face_recognition/examples python3 facerec_on_raspberry_pi.py
OBAVIJEST: Ako imate ImportError: libatlas.so.3: ne može otvoriti datoteku dijeljenih objekata: Nema takve datoteke ili direktorija, pokrenite sljedeću naredbu da biste je popravili.
Relej
Kad prepoznavanje lica bude spremno, možemo nastaviti dodavati dodatne funkcije. Povezali smo Grove - Relej na LTE Cat 1 Pi HAT, ali koristi digitalni port umjesto I2C priključka.
Ovo je pin-out za Raspberry Pi 3B, možemo vidjeti SDA pin i SCL pin smješteni u pin 3 i pin 5 ploče.
Tako možemo kontrolirati relej izlazeći digitalni signal na pin 5. Pokrenite slijedeći python program na vašem Raspberry Pi-u, ako ništa ne pođe po redu, od releja ćete čuti Ti-Ta.
uvezite RPi. GPIO kao GPIO
RELAY_PIN = 5 GPIO.setmode (GPIO. BOARD) GPIO.setup (RELAY_PIN, GPIO. OUT) GPIO.izlaz (RELAY_PIN, GPIO. HIGH)
Evo ideje, učitavamo poznata lica iz mape, prepoznajemo lica snimljena pikamerom, ako je lice u mapi, upravljački relej za otključavanje vrata. Možemo ih pakirati u klasu, evo metode load_known_faces () i unlock (), dovršeni program se može preuzeti na kraju ovog članka.
def load_known_faces (self):
known_faces = os.listdir (self._ known_faces_path) za known_face u 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_face_p) 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 ('Vrata su otvorena') time.sleep (5) GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () return True self._ retry_count += 1 print ('Molimo pokušajte ponovo … { } '. format (self._ retry_count)) return False
Razmislite transcendentalno, možemo pokazati sliku ko je prepoznao, biblioteke PIL i matplotlib mogu biti od pomoći, među njima, matplotlib treba instalirati ručno, pokrenite ovu naredbu na vašem terminalu Raspberry Pi.
sudo pip3 install matplotlib
Uvezite ih u svoj kôd i promijenite metodu blokade u unlock () ovako:
img = Image.open ('{}/{}. jpg'.format (self._ known_faces_path, self._ known_faces_name [0]))
plt.imshow (img) plt.ion () GPIO.izlaz (self._ relay_pin, GPIO. HIGH) ispis ('Vrata su otvorena') plt.pause (3) plt.close () GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () vraća True
Sada, ako je lice prepoznato, slika u mapi će se prikazati na ekranu.
SMS
Ponekad želimo znati ko je u našoj sobi, a sada postoji mjesto za LTE Cat 1 Pi HAT. Priključite SIM karticu na nju i slijedite dolje navedene korake da biste provjerili hoće li raditi ili ne.
Korak 1. Omogućite UART0 u Raspberry Pi
Koristite nano za uređivanje config.txt u /boot
sudo nano /boot/config.txt
na dno dodajte dtoverlay = pi3-disable-bt i onemogućite hciuart uslugu
sudo systemctl onemogućiti hciuart
zatim izbrišite console = serial0, 115200 u cmdline.txt u /boot
sudo nano /boot/cmdline.txt
Nakon što sve učinite, trebali biste ponovno pokrenuti Raspberry Pi.
Korak 2. Preuzmite primjer i pokrenite ga.
Otvorite terminal na svom Raspberry Pi -u, upišite mu ovu naredbu red po red.
cd ~
git clone https://github.com/Seeed-Studio/ublox_lara_r2_pi_hat.git cd ublox_lara_r2_pi_hat sudo python setup.py instalirajte cd test sudo python test01.py
Ako vidite ove izlaze na svom terminalu, LTE Cat 1 Pi HAT radi dobro.
Otkriveno 40-pinsko GPIO zaglavlje
Omogućavanje CTS0 i RTS0 na GPIO-ovima 16 i 17 rts cts pri buđenju … naziv modula: LARA-R211 RSSI: 3
Sada smo znali da HAT dobro radi, kako ga koristiti za slanje SMS -a? Prvo što trebate znati je da Raspberry Pi komunicira s HAT -om putem slanja AT naredbi putem UART -a. Možete poslati AT naredbe na LTE HAT pokretanjem ovog koda u pythonu
iz ublox_lara_r2 import *
u = Ublox_lara_r2 () u.initialize () u.reset_power () # Zatvori otklanjanje grešaka u.debug = False u.sendAT ('')
AT naredba za slanje SMS -a je sljedeća
AT+CMGF = 1
AT+CMGS =
pa evo metode _send_sms ():
def _send_sms (self):
if self._ phonenum == None: return False za otključavanje u self._ prepoznati_ime_nazive (): if self._ ublox.sendAT ('AT+CMGF = 1 / r / n'): print (self._ ublox.response) if self. _ublox.sendAT ('AT+CMGS = "{}" / r / n'.format (self._ telefonski broj)): ispis (self._ ublox.response) ako self._ ublox.sendAT (' {} uđite u sobu. / x1a'.format (otključavanje)): print (self._ ublox.response)
OBAVIJEST: Knjižnica LTE Cat 1 Pi HAT -a koju je napisao python2, koja nije baš kompatibilna s python3, ako je želite koristiti za prepoznavanje lica, preuzmite je sa veze s kraja ovog članka.
Preporučuje se:
Prepoznavanje lica na Raspberry Pi 4B u 3 koraka: 3 koraka
Prepoznavanje lica na Raspberry Pi 4B u 3 koraka: U ovom uputstvu ćemo izvršiti otkrivanje lica na Raspberry Pi 4 sa Shunya O/S koristeći biblioteku Shunyaface. Shunyaface je biblioteka za prepoznavanje/otkrivanje lica. Cilj projekta je postići najbržu brzinu otkrivanja i prepoznavanja sa
Abellcadabra (sistem zaključavanja vrata za prepoznavanje lica): 9 koraka
Abellcadabra (Sistem zaključavanja vrata za prepoznavanje lica): Ležeći tokom karantene, pokušao sam pronaći način da ubijem vrijeme izgradnjom prepoznavanja lica za kućna vrata. Nazvao sam ga Abellcadabra - što je kombinacija između Abracadabre, čarobne fraze sa zvonom na vratima koje samo čujem. LOL
Ogledalo za prepoznavanje lica sa tajnim odjeljkom: 15 koraka (sa slikama)
Ogledalo za prepoznavanje lica s tajnim pretincem: Uvijek su me zanimali uvijek kreativni tajni odjeljci koji se koriste u pričama, filmovima i slično. Stoga sam, kad sam vidio natjecanje u tajnim odjeljcima, odlučio eksperimentirati s tom idejom i napraviti ogledalo običnog izgleda koje otvara
Otkrivanje lica, obuka i prepoznavanje Opencv lica: 3 koraka
Otkrivanje lica, obuka i prepoznavanje lica Opencv: OpenCV je biblioteka računarskog vida otvorenog koda koja je vrlo popularna za obavljanje osnovnih zadataka obrade slika, kao što su zamućivanje, miješanje slika, poboljšanje slike, kao i kvaliteta videa, određivanje praga itd. Osim obrade slike, to je prov
Prepoznavanje lica+prepoznavanje: 8 koraka (sa slikama)
Prepoznavanje lica+prepoznavanje: Ovo je jednostavan primjer pokretanja otkrivanja i prepoznavanja lica pomoću OpenCV -a sa kamere. NAPOMENA: NAPRAVIO SAM OVAJ PROJEKT ZA TAKMIČENJE SENZORA I KORISTIO SAM KAMERU KAO SENZOR ZA PRAĆENJE I PRIZNAVANJE LICA. Dakle, naš ciljU ovoj sesiji, 1. Instalirajte Anacondu