Sadržaj:
- Korak 1: Stvari korištene u ovom projektu
- Korak 2: Povezivanje hardvera
- Korak 3: Programiranje softvera
- Korak 4: Gotovo
Video: Pametna brava za prepoznavanje lica s LTE Pi HAT: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:34
Prepoznavanje lica sve se više koristi, možemo ga upotrijebiti za izradu pametne brave.
Korak 1: Stvari korištene u ovom projektu
Hardverske komponente
- Raspberry Pi 3 Model B
- Modul kamere Raspberry Pi V2
- Grove - Relej
- LTE Cat 1 Pi HAT (Europa)
- 10,1 inčni HDMI IPS LCD zaslon 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 u njima, a zatim prikazati rezultat prepoznavanja na ekranu. Ako su poznata lica, otvorite vrata i putem SMS -a pošaljite tko je otvorio vrata na navedeni telefonski broj.
Dakle, morate spojiti kameru na sučelje kamere Raspberry Pi, te 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 za Adama Geitgeyja i njegov projekt prepoznavanja lica, možemo koristiti najjednostavniju svjetsku knjižnicu 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 pikamere, zatim odabirom Naprednih opcija - Podjela memorije za postavljanje GPU memorije, treba je promijeniti na 64. Nakon završetka, ponovno pokrenite svoj Raspberry Pi.
Korak 2. Instalirajte potrebne knjižnice.
sudo apt-get ažuriranje
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. Učinite da matrice pikamera podržavaju.
sudo pip3 install --upgrade picamera [niz]
Korak 4. Instalirajte dlib i prepoznavanje lica.
sudo pip3 instalirajte 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 dobijete ImportError: libatlas.so.3: ne može otvoriti datoteku zajedničkih 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 značajke. Povezali smo Grove - Relay s 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 program python na vašem Raspberry Pi-u, ako ništa ne pođe po redu, čut ćete Ti-Ta iz releja.
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) for 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_face_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) ispis ('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 tko je prepoznao, knjižnice PIL i matplotlib mogu biti od pomoći, među njima, matplotlib je potrebno instalirati ručno, pokrenite ovu naredbu na vašem terminalu Raspberry Pi.
sudo pip3 instalirajte matplotlib
Uvezite ih u svoj kôd i promijenite ovu metodu blokiranja u unlock ():
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) print ('Vrata su otvorena') plt.pause (3) plt.close () GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () return True
Sada, ako je lice prepoznato, slika u mapi bit će prikazana na ekranu.
SMS
Ponekad želimo znati tko 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 radi li ili ne.
Korak 1. Omogućite UART0 u Raspberry Pi
Upotrijebite nano za uređivanje config.txt u /boot
sudo nano /boot/config.txt
na dno dodajte dtoverlay = pi3-disable-bt i onemogućite uslugu hciuart
sudo systemctl onemogućiti hciuart
zatim izbrišite konzolu = serial0, 115200 u cmdline.txt u /boot
sudo nano /boot/cmdline.txt
Nakon što sve učinite, trebali biste ponovno pokrenuti svoj Raspberry Pi.
Korak 2. Preuzmite primjer i pokrenite ga.
Otvorite terminal na svom Raspberry Pi, upišite mu ovu naredbu redak po redak.
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
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 morate znati je da Raspberry Pi komunicira s HAT -om putem naredbi UART za slanje AT. Možete poslati AT naredbe na LTE HAT pokretanjem ovog koda u pythonu
iz ublox_lara_r2 uvoza *
u = Ublox_lara_r2 () u.initialize () u.reset_power () # Zatvori otklanjanje pogreš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_nazivanja (): 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)): ispis (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 s veze s kraja ovog članka.
Preporučeni:
Prepoznavanje lica na Raspberry Pi 4B u 3 koraka: 3 koraka
Prepoznavanje lica na Raspberry Pi 4B u 3 koraka: U ovom Instructableu ćemo izvršiti detekciju lica na Raspberry Pi 4 sa Shunya O/S pomoću knjižnice Shunyaface. Shunyaface je biblioteka za prepoznavanje/otkrivanje lica. Cilj projekta je postići najbržu brzinu otkrivanja i prepoznavanja s
Abellcadabra (Sustav zaključavanja vrata za prepoznavanje lica): 9 koraka
Abellcadabra (Sustav zaključavanja vrata za prepoznavanje lica): Ležajući tijekom 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 čujem samo na zvono. LOL
Otkrivanje lica, obuka i prepoznavanje Opencv lica: 3 koraka
Otkrivanje lica, obuka i prepoznavanje lica Opencv: OpenCV je knjižnica računalnog vida otvorenog koda koja je vrlo popularna za obavljanje osnovnih zadataka obrade slike, 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
Maska za promjenu lica za promjenu lica - Budite bilo što: 14 koraka (sa slikama)
Maska za promjenu lica za promjenu lica - Budite bilo što: Što radite kada ne možete odlučiti što želite biti za Noć vještica? Budi sve. Maska za projekciju sastoji se od bijele 3D tiskane maske, pi od maline, malog projektora i baterije. Sposoban je projicirati sve i svašta
Prepoznavanje lica+prepoznavanje: 8 koraka (sa slikama)
Prepoznavanje lica+prepoznavanje: Ovo je jednostavan primjer pokretanja otkrivanja i prepoznavanja lica pomoću OpenCV -a s kamere. NAPOMENA: OVAJ PROJEKT IZRADIO SAM ZA NATJEČAJ SENZORA I KORISTIO SAM KAMERU KAO SENZOR ZA PRAĆENJE I PREPOZNAVANJE LICA. Dakle, naš ciljU ovoj sesiji, 1. Instalirajte Anacondu