Turinys:
- 1 žingsnis: šiame projekte naudojami dalykai
- 2 žingsnis: aparatinės įrangos prijungimas
- 3 žingsnis: programinės įrangos programavimas
- 4 žingsnis: atlikta
Video: Veido atpažinimo išmanioji užraktas su LTE Pi HAT: 4 veiksmai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:46
Veido atpažinimas vis plačiau naudojamas, mes galime jį panaudoti išmaniajam užraktui sukurti.
1 žingsnis: šiame projekte naudojami dalykai
Techninės įrangos komponentai
- Raspberry Pi 3 B modelis
- „Raspberry Pi“fotoaparato modulis V2
- Giraitė - estafetė
- „LTE Cat 1 Pi HAT“(Europa)
- 10,1 colio 1200x1980 HDMI IPS LCD ekranas
Programinės įrangos programos ir internetinės paslaugos
- WinSCP
- Užrašinė ++
2 žingsnis: aparatinės įrangos prijungimas
Šiame projekte planuojame fotografuoti su „picamera“ir atpažinti juose veidus, tada ekrane parodyti atpažinimo rezultatą. Jei veidai žinomi, atidarykite duris ir siųskite SMS žinute nurodytą telefono numerį, kas atidarė duris.
Taigi jums reikia prijungti fotoaparatą prie „Raspberry Pi“fotoaparato sąsajos ir įdiegti anteną ir „Grove - Relay“prie „LTE Pi“skrybėlės, tada prijunkite HAT prie savo „Pi“. Ekraną galima prijungti prie „Raspberry Pi“HDMI kabeliu, nepamirškite prijungti maitinimo prie ekrano ir „Pi“.
3 žingsnis: programinės įrangos programavimas
Veido atpažinimas
Dėkojame už Adomą Geitgey ir jo veido atpažinimo projektą, „Raspberry Pi“galime naudoti paprasčiausią pasaulyje veido atpažinimo biblioteką. Šie veiksmai parodys, kaip nustatyti veido atpažinimą „Pi“.
Žingsnis 1. Naudokite raspi-config, kad sukonfigūruotumėte fotoaparato ir GPU atmintį.
sudo raspi-config
Pasirinkę sąsajos parinktis - fotoaparatą, kad įjungtumėte „picamera“, tada pasirinkdami „Advanced Options“- „Memory Split“, kad nustatytumėte GPU atmintį, ji turėtų būti pakeista į 64. Baigę iš naujo paleiskite „Raspberry Pi“.
Žingsnis 2. Įdiekite reikalingas bibliotekas.
sudo apt-get atnaujinimas
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
Žingsnis 3. Padarykite „picamerea“palaikymo masyvą.
sudo pip3 įdiegti -atnaujinti picamera [masyvas]
Žingsnis 4. Įdiekite dlib ir veido atpažinimą.
sudo pip3 įdiegti dlib
sudo pip3 įdiegti face_recognition
Žingsnis 5. Atsisiųskite ir paleiskite veido atpažinimo pavyzdį
git klonas-viena šaka
cd./face_recognition/examples python3 facerec_on_raspberry_pi.py
PASTABA: Jei turite „ImportError“: libatlas.so.3: negali atidaryti bendro objekto failo: Nėra tokio failo ar katalogo, paleiskite šią komandą, kad ją pataisytumėte.
Estafetė
Kai veido atpažinimas bus paruoštas, galėsime ir toliau pridėti papildomų funkcijų. Mes prijungėme „Grove - Relay“prie „LTE Cat 1 Pi HAT“, tačiau jis naudoja skaitmeninį, o ne „I2C“prievadą.
Tai yra „Raspberry Pi 3B“kaištis, matome SDA kaištį ir SCL kaištį, esančius plokštės kaištyje 3 ir 5.
Taigi mes galime valdyti relę išvesdami skaitmeninį signalą į 5 kaištį. Vykdykite „Raspberry Pi“python programą, jei nieko nenutiks, iš relės išgirsite Ti-Ta.
importuoti RPi. GPIO kaip GPIO
RELAY_PIN = 5 GPIO.setmode (GPIO. BOARD) GPIO.setup (RELAY_PIN, GPIO. OUT) GPIO. output (RELAY_PIN, GPIO. HIGH)
Taigi čia yra idėja, mes įkeliame žinomus veidus iš aplanko, atpažįstame veidus, užfiksuotus „picamera“, jei veidas aplanke, valdykite relę, kad atrakintumėte duris. Mes galime juos supakuoti į klasę, čia yra load_known_faces () metodas ir unlock () metodas, užbaigtą programą galima atsisiųsti šio straipsnio pabaigoje.
def load_known_faces (savarankiškai):
Žinomi_sifai = os.listdir (savarankiškai._ žinomi_veiksmų keliai) žinomiems veidams žinomuose veiduose: savarankiškai._ žinomi_veidų_pavadinimai.pridėti (žinoma_veidai [0: len (žinomi_veidai) - len ('. jpg')]) žinomi) savarankiškai._ žinomi_veidai_kodavimas.pridėti (veidas_atpažinimas.veido_kodavimas (žinomas_veido_paveikslėlis) [0]) grąžinti len (savarankiškai._ žinomi_veidai_kodavimas) def atblokuoti (savarankiškai): jei savarankiškai._ sutapo.skaičius (tiesa)> 0: GPIO. išvestis (savarankiška._ relės_pin, GPIO. HIGH) print („Durys atidarytos“) time.sleep (5) GPIO.putput (self._ relės_pin, GPIO. LOW) self._ reset_recognise_params () return true self._ retry_count += 1 print ('Prašome bandyti dar kartą … { } '. format (self._ retry_count)) return False
Pagalvokite transcendentiškai, mes galime parodyti paveikslėlį, kuris atpažino, bibliotekos PIL ir matplotlib gali būti naudingos, tarp jų matplotlib reikia įdiegti rankiniu būdu, paleiskite šią komandą savo Raspberry Pi terminale.
sudo pip3 įdiegti matplotlib
Importuokite juos į savo kodą ir pakeiskite, jei blokuojate atrakinimo () metodu, kaip šis:
img = Image.open ('{}/{}. jpg'.format (self._ žinomas_veidų_ kelias, savarankiškas._ žinomas_veidų_vardas [0]))
plt.imshow (img) plt.ion () GPIO.output (self._ relay_pin, GPIO. HIGH) print ('Durys atidarytos') plt.pause (3) plt.close () GPIO.output (self._ relay_pin, GPIO. LOW) save._ reset_recognise_params () return True
Dabar, jei veidas atpažįstamas, aplanke esanti nuotrauka bus rodoma ekrane.
trumpoji žinutė
Kartais norime sužinoti, kas yra mūsų kambaryje, o dabar yra vieta „LTE Cat 1 Pi HAT“. Prijunkite SIM kortelę prie jos ir atlikite toliau nurodytus veiksmus, kad patikrintumėte, ar ji veiks, ar ne.
Žingsnis 1. Įjunkite UART0 programoje „Raspberry Pi“
Naudokite nano norėdami redaguoti config.txt failą /boot
sudo nano /boot/config.txt
pridėkite dtoverlay = pi3-disable-bt prie jo apačios ir išjunkite „hciuart“paslaugą
sudo systemctl išjungti hciuart
tada ištrinkite konsolę = serial0, 115200 į cmdline.txt /boot
sudo nano /boot/cmdline.txt
Kai viskas bus padaryta, turėtumėte iš naujo paleisti „Raspberry Pi“.
Žingsnis 2. Atsisiųskite pavyzdį ir paleiskite.
Atidarykite „Raspberry Pi“terminalą, įveskite šias komandas eilutei po eilutės.
cd ~
git klonas https://github.com/Seeed-Studio/ublox_lara_r2_pi_hat.git cd ublox_lara_r2_pi_hat sudo python setup.py įdiegti cd testą sudo python test01.py
Jei matote šiuos išėjimus savo terminale, „LTE Cat 1 Pi HAT“veikia gerai.
Aptikta 40 kontaktų GPIO antraštė
Įgalinamas CTS0 ir RTS0 GPIO 16 ir 17 rts cts pabudus… modulio pavadinimas: LARA-R211 RSSI: 3
Dabar mes žinojome, kad skrybėlė veikia gerai, kaip ja naudotis SMS žinutėms siųsti? Pirmas dalykas, kurį reikia žinoti, yra tai, kad „Raspberry Pi“bendrauja su HAT per UART siųstas AT komandas. AT komandas galite siųsti į LTE HAT, paleisdami šį kodą „python“
iš „ublox_lara_r2“importo *
u = Ublox_lara_r2 () u.initialize () u.reset_power () # Uždaryti derinimo masažą u.debug = False u.sendAT ( )
AT komanda SMS siuntimui yra tokia
AT+CMGF = 1
AT+CMGS =
taigi čia yra _send_sms () metodas:
def _send_sms (savarankiškai):
jei aš._ fononas == Nėra: grąžinkite klaidą, jei užblokuojate save._ atpažinkite_veido_vardus (): jei save._ ublox.sendAT ('AT+CMGF = 1 / r / n'): print (self._ ublox.response), jei pats. _ublox.sendAT ('AT+CMGS = "{}" / r / n'.format (self._ fononum)): print (self._ ublox.response) if self._ ublox.sendAT (' {} įeiti į kambarį. / x1a'.format (unlocker)): print (self._ ublox.response)
PASTABA: „LTE Cat 1 Pi HAT“biblioteka, parašyta „python2“, kuri nėra labai suderinama su „python3“. Jei norite naudoti ją su veido atpažinimu, atsisiųskite ją iš nuorodos šio straipsnio pabaigoje.
Rekomenduojamas:
„Abellcadabra“(veido atpažinimo durų užrakto sistema): 9 žingsniai
Abellcadabra (veido atpažinimo durų užrakto sistema): Gulėdamas karantino metu, bandžiau rasti būdą, kaip nužudyti laiką, sukurdamas namo durų veido atpažinimą. Aš pavadinau ją Abellcadabra - tai derinys tarp Abrakadabra, stebuklinga frazė su durų skambučiu, kurią tik paspaudžiu. DAUG JUOKO
Veido atpažinimo veidrodis su slaptu skyriumi: 15 žingsnių (su nuotraukomis)
Veido atpažinimo veidrodis su slaptu skyriumi: mane visada sudomino vis kūrybingi slapti skyriai, naudojami istorijose, filmuose ir pan. Taigi, pamačiusi slaptų skyrių konkursą, nusprendžiau pati eksperimentuoti su šia idėja ir sukurti įprastą veidrodį, kuris atveria
Veido atpažinimo durų užraktas: 8 žingsniai
Veido atpažinimo durų užraktas: Maždaug mėnesį ruošiu, pristatau veido atpažinimo durų užraktą! Stengiausi, kad jis atrodytų kuo tvarkingiau, bet tai galiu padaryti tik būdamas 13 metų. Šią veidų atpažinimo durų spyną valdo „Raspberry Pi 4“su specialia nešiojama tvora
Veido atpažinimas ir identifikavimas - „Arduino“veido ID naudojant „OpenCV Python“ir „Arduino“.: 6 žingsniai
Veido atpažinimas ir atpažinimas | „Arduino“veido ID naudojant „OpenCV Python“ir „Arduino“.: Veido atpažinimas AKA veido ID yra viena iš svarbiausių šių dienų mobiliųjų telefonų funkcijų. Taigi, man kilo klausimas „ar galiu turėti savo„ Arduino “projekto ID“? ir atsakymas yra „taip“… Mano kelionė prasidėjo taip: 1 žingsnis: Prieiga prie mūsų
Veido atpažinimo apsaugos sistema šaldytuvui su „Raspberry Pi“: 7 žingsniai (su nuotraukomis)
Šaldytuvo veido atpažinimo apsaugos sistema su „Raspberry Pi“: naršydama internete sužinojau, kad apsaugos sistemų kainos svyruoja nuo 150 USD iki 600 USD ir daugiau, tačiau ne visi sprendimai (net ir labai brangūs) gali būti integruoti į kitus protingi įrankiai jūsų namuose! Pavyzdžiui, jūs negalite nustatyti