Sisukord:
- Samm: selles projektis kasutatud asjad
- Samm: riistvaraühendus
- Samm: tarkvara programmeerimine
- Samm 4: Valmis
Video: Näotuvastuse nutikas lukk LTE Pi HAT -iga: 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Näotuvastust kasutatakse üha laialdasemalt, saame seda kasutada nutiluku valmistamiseks.
Samm: selles projektis kasutatud asjad
Riistvara komponendid
- Vaarika Pi 3 Mudel B
- Vaarika Pi kaamera moodul V2
- Grove - relee
- LTE Cat 1 Pi HAT (Euroopa)
- 10,1 -tolline 1200x1980 HDMI IPS LCD -ekraan
Tarkvararakendused ja võrguteenused
- WinSCP
- Notepad ++
Samm: riistvaraühendus
Selles projektis plaanime pildistada picameraga ja tuvastada neis näod, seejärel kuvada ekraanil tuvastamise tulemus. Kui nägu on teada, avage uks ja saatke SMS -i teel määratud telefoninumbrile, kes avas ukse.
Seega peate ühendama kaamera Raspberry Pi kaameraliidesega ning paigaldama antenni ja Grove - Relay LTE Pi mütsile ning seejärel ühendama HAT oma Pi -ga. Ekraani saab ühendada Raspberry Pi -ga HDMI -kaabli kaudu, ärge unustage ühendada ekraan ja Pi toide.
Samm: tarkvara programmeerimine
Näotuvastus
Tänu Adam Geitgey ja tema näotuvastustöö projektile saame Raspberry Pi -l kasutada maailma lihtsaimat näotuvastusteeki. Järgmised sammud näitavad teile, kuidas seadistada näotuvastus Pi -le.
Samm 1. Kasutage raspi-config kaamera ja GPU mälu seadistamiseks.
sudo raspi-config
Valides liidese suvandid - kaamera, et lubada picamera, seejärel valides GPU mälu seadistamiseks Advanced Options - Memory Split, tuleks see muuta 64. Pärast lõpetamist taaskäivitage oma Raspberry Pi.
Samm 2. Installige vajalikud teegid.
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
Samm 3. Tehke picamerea toetab massiivi.
sudo pip3 install -uuenda picamera [massiiv]
Samm 4. Paigaldage dlib ja näotuvastus.
sudo pip3 install dlib
sudo pip3 installige face_recognition
Samm 5. Laadige alla ja käivitage näotuvastuse näide
git kloon-ühe haru
cd./face_recognition/examples python3 facerec_on_raspberry_pi.py
MÄRKUS: Kui teil on ImportError: libatlas.so.3: ei saa avada jagatud objekti faili: sellist faili või kataloogi pole, käivitage selle parandamiseks järgmine käsk.
Relee
Kui näotuvastus on valmis, saame jätkata lisafunktsioonide lisamist. Ühendasime Grove - Relay LTE Cat 1 Pi HAT -iga, kuid see kasutab pigem digitaalset kui I2C -porti.
See on Raspberry Pi 3B jaoks pin-out, näeme SDA tihvti ja SCL-tihvti, mis asuvad plaadi tihvtis 3 ja tihvtis 5.
Seega saame releed juhtida digitaalse signaali väljundiga viigule 5. Käivitage oma Raspberry Pi järgnev python-programm, kui midagi valesti ei lähe, kuulete releest Ti-Ta.
RPi. GPIO importimine GPIO -na
RELAY_PIN = 5 GPIO.seadistusrežiimi (GPIO. BOARD) GPIO.seadistus (RELAY_PIN, GPIO. OUT) GPIO.väljund (RELAY_PIN, GPIO. HIGH)
Siin on idee, me laadime teadaolevad näod kaustast, tunneme ära picamera jäädvustatud näod, kui kaustas olev nägu, kontrollige ukse avamiseks releed. Saame need pakendada klassi, siin on meetod load_known_faces () ja unlock (), lõpetatud programmi saab alla laadida selle artikli lõpus.
def load_known_faces (ise):
teadaolevad_näod = os.listdir (ise._ teadaolevad_näideteed) teadaolevate nägude jaoks teadaolevates nägudes: ise._ teadaolevad_näitajate_nimed.append (teadaolevad näod [0: len (tuntud_näod) - len ('. jpg']) tuntud_nägude pildid = näotuvastust.koormuse_pildifail (ise._ teadaolevad näopildid +) ise._ teadaolevad_näod_kodeeringud.append (näotuvastus.näo_kodeeringud (tuntud_näo_pilt) [0]) tagastama len (ise._ teadaolevad_näod_kodeering) def avamine (ise): kui ise._ sobitatud.arv (tõene)> 0: GPIO.väljund (ise._ relee_pin, GPIO. HIGH) print ('Uks avatud') time.sleep (5) GPIO.väljund (ise._ relee_pin, GPIO. LOW) ise._ reset_recognise_params () tagastab tõelise mina._ uuesti proovi_arv += 1 print ('Palun proovige uuesti … { } '. format (self._ retry_count)) return False
Mõelge transtsendentaalselt, saame näidata pilti, kes tundis ära, raamatukogudest PIL ja matplotlib võib abi olla, nende hulgas tuleb matplotlib käsitsi installida, käivitage see käsk oma Raspberry Pi terminalis.
sudo pip3 installi matplotlib
Importige need oma koodi ja muutke, kas blokeerida avamise () meetodil järgmiselt:
img = Image.open ('{}/{}. jpg'.format (ise._ teadaolevad_näideteed, ise._ teada_nägude_nimed [0]))
plt.imshow (img) plt.ion () GPIO.output (ise._ relee_pin, GPIO. HIGH) print ('Uks avatud') plt.pause (3) plt.close () GPIO.output (ise._ relay_pin, GPIO. LOW) ise._ reset_recognise_params () return True
Kui nägu tuvastatakse, kuvatakse ekraanil kaustas olev pilt.
SMS
Mõnikord tahame teada, kes on meie toas, ja nüüd on koht LTE Cat 1 Pi mütsile. Ühendage SIM -kaart ja järgige juhiseid, et kontrollida, kas see töötab või mitte.
Samm 1. Luba UART0 rakenduses Raspberry Pi
Kasutage nano -d faili config.txt redigeerimiseks kataloogis /boot
sudo nano /boot/config.txt
lisage selle põhja dtoverlay = pi3-disable-bt ja keelake hciuart-teenus
sudo systemctl keela hciuart
seejärel kustutage konsool = serial0, 115200 failis cmdline.txt failis /boot
sudo nano /boot/cmdline.txt
Kui kõik on tehtud, peaksite oma Raspberry Pi taaskäivitama.
Samm 2. Laadige näide alla ja käivitage see.
Avage oma Raspberry Pi terminal, tippige need käsud rida -realt.
cd ~
git kloon https://github.com/Seeed-Studio/ublox_lara_r2_pi_hat.git cd cd ublox_lara_r2_pi_hat sudo python setup.py install cd test sudo python test01.py
Kui näete neid väljundeid oma terminalis, töötab LTE Cat 1 Pi HAT hästi.
Tuvastati 40-pin GPIO päis
CTS0 ja RTS0 lubamine GPIO-del 16 ja 17 rts cts ärkamisel… mooduli nimi: LARA-R211 RSSI: 3
Nüüd teadsime, et müts töötab hästi, kuidas seda SMS -ide saatmiseks kasutada? Esimene asi, mida peate teadma, on see, et Raspberry Pi suhtleb HAT -iga UART -i AT -käskluste kaudu. AT -käske saate saata LTE HAT -ile, käivitades selle koodi pythonis
saidilt ublox_lara_r2 import *
u = Ublox_lara_r2 () u.initialize () u.reset_power () # Sulge silumismassaaž u.debug = Vale u.sendAT ( )
SMS -i saatmise AT -käsk on järgmine
AT+CMGF = 1
AT+CMGS =
nii et siin on _send_sms () meetod:
def _send_sms (ise):
kui ise._ foneenum == Puudub: tagasisaatmine Väärtus unlockeri jaoks eneses._ tunnista_näo_nimed (): kui ise._ ublox.sendAT ('AT+CMGF = 1 / r / n'): print (ise._ ublox.response), kui ise. _ublox.sendAT ('AT+CMGS = "{}" / r / n'.format (ise._ foneenum)): print (ise._ ublox.response), kui ise._ ublox.sendAT (' {} siseneb ruumi. / x1a'.format (unlocker)): print (ise._ ublox.response)
MÄRKUS: LTE Cat 1 Pi HATi raamatukogu, mille on kirjutanud python2, mis ei ühildu python3 -ga, kui soovite seda kasutada näotuvastusega, laadige see alla selle artikli lõpus olevalt lingilt.
Soovitan:
Abellcadabra (näotuvastuse ukse lukustussüsteem): 9 sammu
Abellcadabra (näotuvastusukse lukustussüsteem): Karantiini ajal ringi liikudes proovisin leida viisi aja tapmiseks, luues majauksele näotuvastuse. Panin sellele nimeks Abellcadabra - see on kombinatsioon Abracadabra vahel, maagiline fraas koos uksekellaga, mille võtan ainult kella. LOL
Näotuvastuse ukse lukk: 8 sammu
Näotuvastusukse lukk: Umbes kuu aega valmimas, esitlen näotuvastuse ukseluku! Üritasin seda võimalikult kena välja näha, kuid saan seda teha ainult 13-aastasena. Seda näotuvastuse ukselukku juhib Raspberry Pi 4 koos spetsiaalse kaasaskantava vatiiniga
SafetyLock: nutikas lukk, mis on valmistatud Raspberry Pi -ga (sõrmejälg ja RFID): 10 sammu
SafetyLock: nutikas lukk, mis on valmistatud Raspberry Pi -ga (sõrmejälg ja RFID): kas olete kunagi soovinud oma maja turvalisemaks muuta? Kui jah, siis see on teie jaoks lahendus! Tegin SafetyLocki, see on lukk, mida saab avada sõrmejälje, RFID -märgi ja isegi veebisaidi kaudu. Tänu sellele kontseptsioonile saate
Magnetiline nutikas lukk salajase koputamise, IR -anduri ja veebirakendusega: 7 sammu (piltidega)
Magnetiline nutikas lukk salajase koputuse, IR -anduri ja veebirakendusega: kui teile see projekt meeldib, siis jälgige mind Instagramis ja YouTube'is. Selles projektis ehitan oma kodukontori jaoks magnetluku, mis avaneb, kui teate salajane koputus. Oh… ja sellel on ka varrukas veel mõned nipid. Magnet
Porto-lukk: kaasaskantav lukk: 5 sammu
Porto-lukk: Kaasaskantav lukk: Tere kõigile, nii et selle projekti puhul tahtsin kujundada midagi lihtsat, sest see lahendab lihtsa probleemi, teie CR-kabiinis pole lukke. Enamik inimesi kirjutas mind alguses maha, öeldes: kas pole lihtsalt lihtsam lukke paigaldada? See on