Innholdsfortegnelse:
- Trinn 1: Ting som brukes i dette prosjektet
- Trinn 2: Maskinvaretilkobling
- Trinn 3: Programvareprogrammering
- Trinn 4: Ferdig
Video: Ansiktsgjenkjenning Smart lås med LTE Pi HAT: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
Ansiktsgjenkjenning blir mer og mer mye brukt, vi kan bruke den til å lage en smart lås.
Trinn 1: Ting som brukes i dette prosjektet
Maskinvarekomponenter
- Raspberry Pi 3 Model B
- Raspberry Pi kameramodul V2
- Grove - stafett
- LTE Cat 1 Pi HAT (Europa)
- 10,1 tommer 1200x1980 HDMI IPS LCD -skjerm
Programvare -apper og online -tjenester
- WinSCP
- Notisblokk ++
Trinn 2: Maskinvaretilkobling
I dette prosjektet planlegger vi å ta bilder med picamera og gjenkjenne ansikter i dem, og deretter vise gjenkjenningsresultat på skjermen. Hvis ansiktene er kjent, åpner du døren og sender hvem som åpnet døren til et spesifisert telefonnummer via SMS.
Så du må koble et kamera til Raspberry Pi's kamera grensesnitt, og installere antenne og Grove - Relé til LTE Pi hat, og koble deretter HAT til Pi. Skjermen kan kobles til Raspberry Pi via en HDMI -kabel, ikke glem å koble strøm til skjermen og Pi.
Trinn 3: Programvareprogrammering
Ansiktsgjenkjenning
Takk for Adam Geitgey og hans ansiktsgjenkjenningsprosjekt, vi kan bruke verdens enkleste ansiktsgjenkjenningsbibliotek på Raspberry Pi. Følgende trinn viser deg hvordan du konfigurerer ansiktsgjenkjenning på Pi.
Trinn 1. Bruk raspi-config til å konfigurere kamera og GPU-minne.
sudo raspi-config
Velge grensesnittalternativer - Kamera for å aktivere picamera, deretter velge Avanserte alternativer - Memory Split for å sette GPU -minne, bør det endres til 64. Etter at du er ferdig, starter du Raspberry Pi på nytt.
Trinn 2. Installer nødvendige biblioteker.
sudo apt-get oppdatering
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
Trinn 3. Lag picamerea støtter array.
sudo pip3 install -oppgrader picamera [array]
Trinn 4. Installer dlib og ansiktsgjenkjenning.
sudo pip3 installer dlib
sudo pip3 installer face_recognition
Trinn 5. Last ned og kjør ansiktsgjenkjenning
git clone --single-branch
cd./face_recognition/examples python3 facerec_on_raspberry_pi.py
MERKNAD: Hvis du har ImportError: libatlas.so.3: kan ikke åpne delt objektfil: Ingen slik fil eller katalog, kjør følgende kommando for å fikse den.
Stafett
Når ansiktsgjenkjenning er klar, kan vi fortsette å legge til flere funksjoner. Vi koblet Grove - Relay til LTE Cat 1 Pi HAT, men den bruker digital port i stedet for I2C -port.
Dette er pin-out for Raspberry Pi 3B, vi kan se SDA-pin og SCL-pin plassert i brettets pin 3 og pin 5.
Så vi kan kontrollere reléet ved å sende ut digitalt signal til pin 5. Kjør ned python-programmet på Raspberry Pi, hvis ingenting går galt, vil du høre en Ti-Ta fra relé.
importer RPi. GPIO som GPIO
RELAY_PIN = 5 GPIO.setmode (GPIO. BOARD) GPIO.setup (RELAY_PIN, GPIO. OUT) GPIO.output (RELAY_PIN, GPIO. HIGH)
Så her er ideen, vi laster kjente ansikter fra en mappe, gjenkjenner ansikter fanget av picamera, hvis ansiktet i mappen, kontrollrelé for å låse opp døren. Vi kan pakke dem til en klasse, her er metoden load_known_faces () og unlock (), det ferdige programmet kan lastes ned på slutten av denne artikkelen.
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._ kjent_felt_side)) 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 ('Dør åpnet') time.sleep (5) GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () return True True._ retry_count += 1 print ('Prøv igjen … { } '. format (self._ retry_count)) return False
Tenk transcendentalt, vi kan vise bildet hvem som gjenkjente, biblioteker PIL og matplotlib kan være nyttige, blant dem må matplotlib installeres manuelt, kjør denne kommandoen i Raspberry Pi -terminalen.
sudo pip3 installer matplotlib
Importer dem i koden din, og endre hvis blokkering i unlock () -metoden som denne:
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 opens') plt.pause (3) plt.close () GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () return True
Hvis et ansikt gjenkjennes, vil bildet i mappen vises på skjermen.
tekstmelding
Noen ganger vil vi vite hvem som er i rommet vårt, og nå er det et sted for LTE Cat 1 Pi HAT. Koble et SIM -kort til det, og følg trinnene for å teste om det fungerer eller ikke.
Trinn 1. Aktiver UART0 i Raspberry Pi
Bruk nano til å redigere config.txt i /boot
sudo nano /boot/config.txt
legg til dtoverlay = pi3-disable-bt til bunnen av den, og deaktiver hciuart-tjenesten
sudo systemctl deaktiver hciuart
slett deretter console = serial0, 115200 i cmdline.txt in /boot
sudo nano /boot/cmdline.txt
Etter at alt er gjort, bør du starte Raspberry Pi på nytt.
Trinn 2. Last ned eksempel og kjør det.
Åpne en terminal på Raspberry Pi, skriv inn denne kommandoen linje for linje.
cd ~
git-klon https://github.com/Seeed-Studio/ublox_lara_r2_pi_hat.git cd ublox_lara_r2_pi_hat sudo python setup.py installer cd test sudo python test01.py
Hvis du ser disse utgangene i terminalen din, fungerer LTE Cat 1 Pi HAT godt.
40-pinners GPIO-topptekst oppdaget
Aktiverer CTS0 og RTS0 på GPIO 16 og 17 rt cts på å våkne … modulnavn: LARA-R211 RSSI: 3
Nå visste vi at HAT fungerer godt, hvordan bruke den til å sende SMS? Det første du trenger å vite er at Raspberry Pi kommuniserer med HAT via send AT -kommandoer av UART. Du kan sende AT -kommandoer til LTE HAT ved å kjøre denne koden i python
fra ublox_lara_r2 import *
u = Ublox_lara_r2 () u.initialize () u.reset_power () # Lukk feilsøkingsmassasje u.debug = Falsk u.sendAT ('')
AT -kommandoen for å sende SMS er som følger
AT+CMGF = 1
AT+CMGS =
så her er _send_sms () -metoden:
def _send_sms (self):
if self._ phonenum == None: return False for unlocker in self._ Recognise_face_names (): if self._ ublox.sendAT ('AT+CMGF = 1 / r / n'): print (self._ ublox.response) if self. _ublox.sendAT ('AT+CMGS = "{}" / r / n'.format (self._ phonenum)): print (self._ ublox.response) if self._ ublox.sendAT (' {} enter the room. / x1a'.format (unlocker)): print (self._ ublox.response)
MERKNAD: LTE Cat 1 Pi HATs bibliotek skrevet av python2, som ikke er veldig kompatibelt med python3, hvis du vil bruke det med ansiktsgjenkjenning, kan du laste det ned fra lenken fra slutten av denne artikkelen.
Anbefalt:
Ansiktsgjenkjenning på Raspberry Pi 4B i 3 trinn: 3 trinn
Ansiktsgjenkjenning på Raspberry Pi 4B i 3 trinn: I denne instruksen skal vi utføre ansiktsgjenkjenning på Raspberry Pi 4 med Shunya O/S ved bruk av Shunyaface-biblioteket. Shunyaface er et bibliotek for ansiktsgjenkjenning/gjenkjenning. Prosjektet tar sikte på å oppnå raskeste gjenkjenning og gjenkjenningshastighet med
IP-kamera med ansiktsgjenkjenning ved bruk av ESP32-CAM-kortet: 5 trinn
IP-kamera med ansiktsgjenkjenning ved bruk av ESP32-CAM-kortet: Dette innlegget er annerledes enn de andre, og vi tar en titt på det veldig interessante ESP32-CAM-kortet som er overraskende billig (mindre enn $ 9) og lett å bruke. Vi lager et enkelt IP -kamera som kan brukes til å streame en live video feed ved hjelp av 2
Lås for ansiktsgjenkjenning: 8 trinn
Ansiktsgjenkjenning Dørlås: Omtrent en måned i gang, presenterer jeg dørlåsen for ansiktsgjenkjenning! Jeg prøvde å få det til å se så pent ut som jeg kan, men jeg kan bare gjøre så mye som en 13-åring. Denne dørlåsen for ansiktsgjenkjenning drives av en Raspberry Pi 4, med en spesiell bærbar
Dørklokke med ansiktsgjenkjenning: 7 trinn (med bilder)
Dørklokke med ansiktsgjenkjenning: motivasjon Det har nylig vært en bølge av ran i mitt land som er rettet mot eldre mennesker i deres eget hjem. Vanligvis gis tilgang fra beboerne selv siden besøkende overbeviser dem om at de er omsorgspersoner/sykepleiere. Den
Windows PC -lås/lås opp ved hjelp av RFID .: 7 trinn (med bilder)
Windows PC Lock/Unlock Using RFID .: Hei! Hvor ofte har du følt deg lei av å skrive inn passordet for å låse opp PC/laptop hver gang den ble låst? Jeg er vant til å låse det ganske mange ganger hver dag, og ingenting er mer irriterende enn å skrive passordet/pin -knappen over og oven