Kazalo:
- 1. korak: Stvari, uporabljene v tem projektu
- 2. korak: Povezava strojne opreme
- 3. korak: Programiranje programske opreme
- 4. korak: Končano
Video: Pametna ključavnica za prepoznavanje obrazov z LTE Pi HAT: 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
Prepoznavanje obrazov se vse bolj pogosto uporablja, z njim lahko naredimo pametno ključavnico.
1. korak: Stvari, uporabljene v tem projektu
Strojne komponente
- Raspberry Pi 3 Model B
- Modul kamere Raspberry Pi V2
- Grove - Rele
- LTE Cat 1 Pi HAT (Evropa)
- 10,1 -palčni LCD zaslon IPS z ločljivostjo 1200x1980 HDMI
Programske aplikacije in spletne storitve
- WinSCP
- Beležnica ++
2. korak: Povezava strojne opreme
V tem projektu nameravamo fotografirati s pikamero in v njih prepoznati obraze, nato pa na zaslonu prikazati rezultat prepoznavanja. Če so znani obrazi, odprite vrata in po SMS -u pošljite, kdo je odprl vrata, na določeno telefonsko številko.
Torej morate povezati kamero z vmesnikom kamere Raspberry Pi in namestiti anteno in Grove - rele na klobuk LTE Pi, nato pa HAT priključite na svoj Pi. Zaslon lahko povežete z Raspberry Pi prek kabla HDMI, ne pozabite priključiti napajanja na zaslon in Pi.
3. korak: Programiranje programske opreme
Prepoznavanje obrazov
Hvala za Adama Geitgeyja in njegov projekt prepoznavanja obrazov, lahko uporabimo najpreprostejšo svetovno knjižnico za prepoznavanje obrazov na Raspberry Pi. Naslednji koraki vam bodo pokazali, kako nastaviti prepoznavanje obrazov na Pi.
Korak 1. Uporabite raspi-config za konfiguriranje pomnilnika kamere in grafičnega procesorja.
sudo raspi-config
Izbira možnosti vmesnika - Kamera za omogočanje pikamere, nato izbira Napredne možnosti - Razdelitev pomnilnika za nastavitev pomnilnika grafičnega procesorja, ga je treba spremeniti v 64. Po zaključku znova zaženite Raspberry Pi.
Korak 2. Namestite potrebne knjižnice.
sudo apt-get posodobitev
sudo apt-get upgrade sudo apt-get install build-bistven / 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. Ustvari matriko za podporo picamerea.
sudo pip3 install --upgrade picamera [niz]
Korak 4. Namestite dlib in prepoznavanje obrazov.
sudo pip3 namestite dlib
sudo pip3 namestite face_recognition
Korak 5. Prenesite in zaženite primer prepoznavanja obrazov
git clone-single-branch
cd./face_recognition/examples python3 facerec_on_raspberry_pi.py
OBVESTILO: Če imate ImportError: libatlas.so.3: ne more odpreti predmetne datoteke v skupni rabi: Taka datoteka ali imenik ni, zaženite naslednji ukaz, da to popravite.
Rele
Ko je prepoznavanje obrazov pripravljeno, lahko še naprej dodajamo dodatne funkcije. Povezali smo Grove - Relay z LTE Cat 1 Pi HAT, vendar uporablja digitalna vrata in ne vrata I2C.
To je pin-out za Raspberry Pi 3B, vidimo lahko pin SDA in SCL, ki se nahajata v zatičih 3 in 5 na plošči.
Tako lahko upravljamo rele z izhodom digitalnega signala na pin 5. Zaženite program Python navzdol na vašem Raspberry Pi, če nič ne bo narobe, boste iz releja slišali Ti-Ta.
uvozite RPi. GPIO kot GPIO
RELAY_PIN = 5 GPIO.setmode (GPIO. BOARD) GPIO.setup (RELAY_PIN, GPIO. OUT) GPIO.output (RELAY_PIN, GPIO. HIGH)
Tako je ideja: naložimo znane obraze iz mape, prepoznamo obraze, ki jih zajame pikamera, če obraz v mapi, krmilni rele za odklepanje vrat. Lahko jih zapakiramo v razred, tukaj sta metoda load_known_faces () in metoda unlock (), dokončan program lahko prenesete na koncu tega članka.
def load_known_faces (self):
known_faces = os.listdir (self._ known_faces_path) for known_face v 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 ('Door open') time.sleep (5) GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () return True self._ retry_count += 1 print ('Poskusite znova … { } '. format (self._ retry_count)) return False
Pomislite transcendentalno, lahko prikažemo sliko, ki je prepoznala, knjižnici PIL in matplotlib sta lahko v pomoč, med njimi je treba matplotlib namestiti ročno, zaženite ta ukaz v terminalu Raspberry Pi.
sudo pip3 namestite matplotlib
Uvozite jih v svojo kodo in spremenite način blokiranja v načinu unlock (), kot je ta:
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 open') plt.pause (3) plt.close () GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () vrne True
Če bo obraz prepoznan, bo slika v mapi prikazana na zaslonu.
SMS
Včasih želimo vedeti, kdo je v naši sobi, zdaj pa je prostor za LTE Cat 1 Pi HAT. Nanjo priključite kartico SIM in sledite spodnjim korakom, da preverite, ali deluje ali ne.
Korak 1. Omogočite UART0 v Raspberry Pi
Uporabite nano za urejanje config.txt v /boot
sudo nano /boot/config.txt
na dno dodajte dtoverlay = pi3-disable-bt in onemogočite storitev hciuart
sudo systemctl onemogoči hciuart
nato izbrišite console = serial0, 115200 v cmdline.txt v /boot
sudo nano /boot/cmdline.txt
Ko je vse opravljeno, znova zaženite svoj Raspberry Pi.
Korak 2. Prenesite primer in ga zaženite.
Odprite terminal na Raspberry Pi in vnesite ta ukaz zanj.
cd ~
git clone https://github.com/Seeed-Studio/ublox_lara_r2_pi_hat.git cd ublox_lara_r2_pi_hat sudo python setup.py namestite cd test sudo python test01.py
Če vidite te izhode v svojem terminalu, LTE Cat 1 Pi HAT deluje dobro.
Zaznana je 40-polna glava GPIO
Omogočanje CTS0 in RTS0 na GPIO 16 in 17 rts cts ob prebujanju … ime modula: LARA-R211 RSSI: 3
Zdaj smo vedeli, da HAT dobro deluje, kako ga uporabiti za pošiljanje SMS? Prva stvar, ki jo morate vedeti, je, da Raspberry Pi komunicira s HAT prek ukazov za pošiljanje UART. Ukaze AT lahko pošljete v LTE HAT tako, da to kodo zaženete v pythonu
iz ublox_lara_r2 uvoz *
u = Ublox_lara_r2 () u.initialize () u.reset_power () # Zapri masažo odpravljanja napak u.debug = False u.sendAT ('')
Ukaz AT za pošiljanje SMS je naslednji
AT+CMGF = 1
AT+CMGS =
torej tukaj je metoda _send_sms ():
def _send_sms (self):
if self._ phonenum == None: return False za odklepanje v self._ prepoznat_ime_nazivov (): if self._ ublox.sendAT ('AT+CMGF = 1 / r / n'): print (self._ ublox.response) if self. _ublox.sendAT ('AT+CMGS = "{}" / r / n'.format (self._ phonenum)): natisnite (self._ ublox.response), če self._ ublox.sendAT (' {} vstopite v sobo. / x1a'.format (odklepanje)): print (self._ ublox.response)
OBVESTILO: Knjižnica LTE Cat 1 Pi HAT, ki jo je napisal python2 in ni zelo združljiva s python3, če jo želite uporabljati s prepoznavanjem obrazov, jo prenesite s povezave na koncu tega članka.
Priporočena:
Abellcadabra (sistem zaklepanja vrat za prepoznavanje obrazov): 9 korakov
Abellcadabra (Sistem zaklepanja vrat za prepoznavanje obrazov): Med karanteno sem se nahajal in poskušal najti način, kako ubiti čas, tako da sem ustvaril prepoznavanje obrazov za hišna vrata. Poimenoval sem ga Abellcadabra - ki je kombinacija med Abracadabra, čarobno frazo z zvoncem na vratih, ki ga vzamem samo na zvonec. LOL
Odkrivanje obrazov Opencv, usposabljanje in prepoznavanje: 3 koraki
Odkrivanje, usposabljanje in prepoznavanje obrazov Opencv: OpenCV je odprtokodna knjižnica računalniškega vida, ki je zelo priljubljena za izvajanje osnovnih nalog obdelave slik, kot so zameglitev, mešanje slik, izboljšanje slike, pa tudi kakovost videa, določanje praga itd. to je prov
Prepoznavanje obrazov in identifikacija - Arduino Face ID z uporabo OpenCV Python in Arduino .: 6 korakov
Prepoznavanje obrazov in identifikacija | Arduino Face ID z uporabo OpenCV Python in Arduino .: Prepoznavanje obraza AKA Face ID je ena najpomembnejših značilnosti mobilnih telefonov danes. Tako sem imel vprašanje " ali lahko dobim ID obraza za svoj projekt Arduino " in odgovor je pritrdilen … Moje potovanje se je začelo na naslednji način: 1. korak: Dostop do nas
ESP32 CAM Prepoznavanje obrazov s podporo za MQTT - AI-Thinker: 4 koraki
ESP32 CAM Prepoznavanje obrazov s podporo za MQTT | AI-Thinker: Pozdravljeni! Želel sem deliti svojo kodo za projekt, če bi potreboval ESP CAM s prepoznavanjem obrazov, ki bi lahko pošiljal podatke v MQTT. Tako dobro .. po morda 7 urah iskanja več primerov kode in iskanja, kaj je kaj, imam končno
Prepoznavanje obrazov Opencv: 4 koraki
Odkrivanje obrazov Opencv: Prepoznavanje obrazov je danes zelo pogosta stvar, v številnih aplikacijah, kot so pametni telefoni, številni elektronski pripomočki. Ta vrsta tehnologije vključuje veliko algoritmov in orodij itd., Ki uporablja nekatere vgrajene vgrajene platforme SOC, kot je Raspberry