INHOUDSOPGAWE:
- Stap 1: Dinge wat in hierdie projek gebruik word
- Stap 2: Hardewareverbinding
- Stap 3: sagteware programmering
- Stap 4: Klaar
Video: Gesigsherkenning Slim slot met LTE Pi -hoed: 4 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Gesigsherkenning word meer en meer algemeen gebruik; ons kan dit gebruik om 'n slim slot te maak.
Stap 1: Dinge wat in hierdie projek gebruik word
Hardeware komponente
- Framboos Pi 3 Model B
- Framboos Pi -kameramodule V2
- Grove - aflos
- LTE Cat 1 Pi HAT (Europa)
- 10,1 duim 1200x1980 HDMI IPS LCD -skerm
Sagteware -programme en aanlyndienste
- WinSCP
- Notepad ++
Stap 2: Hardewareverbinding
In hierdie projek is ons van plan om met Picamera foto's te neem en gesigte daarin te herken, en dan 'n herkenningsresultaat op die skerm weer te gee. As die gesigte bekend is, maak die deur oop en stuur wie die deur oopgemaak het na die gespesifiseerde telefoonnommer per SMS.
U moet dus 'n kamera aan die kamera -koppelvlak van Raspberry Pi koppel, antenna en Grove installeer - Relay na LTE Pi -hoed, en koppel dan HAT aan op u Pi. Die skerm kan via 'n HDMI -kabel aan die Raspberry Pi gekoppel word; moenie vergeet om die krag aan u skerm en Pi te koppel nie.
Stap 3: sagteware programmering
Gesigsherkenning
Dankie vir Adam Geitgey en sy gesigsherkenningsprojek, ons kan die eenvoudigste biblioteek vir gesigsherkenning ter wêreld op Raspberry Pi gebruik. Die volgende stappe sal u wys hoe u gesigsherkenning op Pi kan instel.
Stap 1. Gebruik raspi-config om kamera- en GPU-geheue op te stel.
sudo raspi-config
As u koppelvlakopsies kies - kamera om die picamera in staat te stel, kies dan Advanced Options - Memory Split om GPU -geheue in te stel, moet dit verander word na 64. Herlaai u Raspberry Pi nadat u klaar is.
Stap 2. Installeer vereiste biblioteke.
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
Stap 3. Maak picamerea ondersteun skikking.
sudo pip3 installeer -upgrade picamera [skikking]
Stap 4. Installeer dlib en gesigherkenning.
sudo pip3 installeer dlib
sudo pip3 installeer face_recognition
Stap 5. Laai en voer voorbeeld van gesigsherkenning af
git-kloon-enkele tak
cd./face_recognition/exempels python3 facerec_on_raspberry_pi.py
KENNISGEWING: As u ImportError: libatlas.so.3 gekry het: kan die gedeelde voorwerplêer nie oopgemaak word nie: daar is nie so 'n lêer of gids nie, voer die volgende opdrag uit om dit reg te stel.
Relay
As gesigsherkenning gereed is, kan ons voortgaan om ekstra funksies by te voeg. Ons het Grove - Relay gekoppel aan LTE Cat 1 Pi HAT, maar dit gebruik eerder digitale poort as I2C -poort.
Dit is pin-out vir Raspberry Pi 3B; ons kan die SDA-pen en SCL-pen in die pen 3 en pen 5 van die bord sien.
Sodat ons die relais kan beheer deur die digitale sein na pin 5 te stuur. Begin die luislangprogram op u Raspberry Pi, as niks verkeerd loop nie, hoor u 'n Ti-Ta van die relais.
voer RPi. GPIO in as GPIO
RELAY_PIN = 5 GPIO.setmode (GPIO. BOARD) GPIO.setup (RELAY_PIN, GPIO. OUT) GPIO.output (RELAY_PIN, GPIO. HIGH)
So hier is die idee: ons laai bekende gesigte uit 'n vouer, herken gesigte wat deur fotokamera vasgevang is, as die gesig in die vouer, bedieningsrelais die deur oopmaak. Ons kan dit in 'n klas verpak, hier is die load_known_faces () metode en die unlock () metode, die voltooide program kan aan die einde van hierdie artikel afgelaai word.
def load_known_faces (self):
known_faces = os.listdir (self._ known_faces_path) vir 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_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 ('Deur oopgemaak') time.sleep (5) GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () return True self._ retry_count += 1 print ('Probeer asseblief weer … { } '. formaat (self._ retry_count)) terugkeer Onwaar
Dink transendentaal, ons kan die prentjie wys wie die biblioteke PIL en matplotlib kan help, onder andere moet matplotlib handmatig geïnstalleer word, voer hierdie opdrag uit in die terminale van u Raspberry Pi.
sudo pip3 installeer matplotlib
Voer dit in u kode in, en verander as u die ontsluitingsmetode () blokkeer soos volg:
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 ('Deur oopgemaak') plt.pause (3) plt.close () GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () return True
As 'n gesig herken word, word die prentjie in die gids op die skerm vertoon.
SMS
Soms wil ons weet wie in ons kamer is, en nou is daar 'n plek vir LTE Cat 1 Pi HAT. Koppel 'n SIM -kaart daaraan en volg die stappe om te toets of dit werk of nie.
Stap 1. Aktiveer UART0 in Raspberry Pi
Gebruik nano om config.txt in /boot te wysig
sudo nano /boot/config.txt
voeg dtoverlay = pi3-disable-bt onderaan, en skakel hciuart-diens uit
sudo systemctl skakel hciuart uit
verwyder dan console = serial0, 115200 in cmdline.txt in /boot
sudo nano /boot/cmdline.txt
Nadat alles gedoen is, moet u u Raspberry Pi herlaai.
Stap 2. Laai voorbeeld af en voer dit uit.
Maak 'n terminale op u Raspberry Pi oop, tik hierdie opdrag hier reël vir reël.
cd ~
git kloon https://github.com/Seeed-Studio/ublox_lara_r2_pi_hat.git cd ublox_lara_r2_pi_hat sudo python setup.py installeer cd toets sudo python test01.py
As u hierdie uitsette in u terminale sien, werk die LTE Cat 1 Pi HAT goed.
'N 40-pins GPIO-opskrif is opgespoor
Aktiveer CTS0 en RTS0 op GPIO's 16 en 17 rts cts by wakker word … module naam: LARA-R211 RSSI: 3
Nou het ons geweet dat die HAT goed werk, hoe om dit te gebruik om SMS te stuur? Die eerste ding wat u moet weet, is dat die Raspberry Pi met die HAT kommunikeer via stuur AT -opdragte deur UART. U kan AT -opdragte na LTE HAT stuur deur hierdie kode in python uit te voer
vanaf ublox_lara_r2 invoer *
u = Ublox_lara_r2 () u.initialiseer () u.reset_power () # Sluit ontfoutingsmassage u.debug = Onwaar u.sendAT ('')
Die AT -opdrag vir die stuur van SMS is soos volg
AT+CMGF = 1
AT+CMGS =
so hier is _send_sms () metode:
def _send_sms (self):
if self._ phonenum == None: return Onwaar vir unlocker in self._ herken_face_name (): as self._ ublox.sendAT ('AT+CMGF = 1 / r / n'): druk (self._ ublox.response) as self. _ublox.sendAT ('AT+CMGS = "{}" / r / n'.format (self._ phonenum)): druk (self._ ublox.response) as self._ ublox.sendAT (' {} die kamer betree. / x1a'.format (ontgrendelaar)): druk (self._ ublox.response)
KENNISGEWING: Die biblioteek van die LTE Cat 1 Pi HAT, geskryf deur python2, wat nie baie versoenbaar is met python3 nie, as u dit met gesigherkenning wil gebruik, laai dit dan van die skakel af aan die einde van hierdie artikel.
Aanbeveel:
Slim lessenaar LED -lig - Slim beligting met Arduino - Neopixels -werkruimte: 10 stappe (met foto's)
Slim lessenaar LED -lig | Slim beligting met Arduino | Neopixels Workspace: Ons spandeer deesdae baie tyd tuis, studeer en werk virtueel, so waarom nie ons werkruimte groter maak met 'n pasgemaakte en slim beligtingstelsel Arduino en Ws2812b LED's nie. Hier wys ek u hoe u u Smart bou LED -lessenaar op die tafel wat
Gesigsherkenning en identifikasie - Arduino Face ID met behulp van OpenCV Python en Arduino .: 6 stappe
Gesigsherkenning en identifikasie | Arduino Face ID met behulp van OpenCV Python en Arduino .: Gesigsherkenning AKA face ID is deesdae een van die belangrikste funksies op selfone. Ek het dus 'n vraag: "Kan ek 'n gesig -ID hê vir my Arduino -projek?" en die antwoord is ja … My reis het soos volg begin: Stap 1: Toegang tot ons
Magnetiese slim slot met geheime klop, IR -sensor en webprogram: 7 stappe (met foto's)
Magnetiese slim slot met geheime klop, IR -sensor en webprogram: as u van hierdie projek hou, volg my dan op Instagram en YouTube.In hierdie projek gaan ek 'n magnetiese slot bou vir my tuiskantoor, wat oopmaak as u die geheime klop. O ja, en daar sal nog 'n paar truuks in die mou wees. Magnet
Intydse gesigsherkenning: 'n einde-tot-einde-projek: 8 stappe (met foto's)
Intydse gesigsherkenning: 'n Eind-tot-einde-projek: Op my laaste tutoriaal wat OpenCV ondersoek het, het ons geleer AUTOMATIC VISION OBJECT TRACKING. Nou sal ons ons PiCam gebruik om gesigte in reële tyd te herken, soos u hieronder kan sien: Hierdie projek is gedoen met hierdie fantastiese "Open Source Computer Vision Library"
Koppelvlak Honeywell Vista alarm met slim hub (knipoog/slim): 7 stappe (met foto's)
Koppelvlak Honeywell Vista alarm met slim hub (knipoog/slim): Hallo daar! Ek wou 'n kort handleiding gee oor hoe ek my Honeywell Vista -alarmstelsel in my slim hub kan integreer. Ek gebruik Wink vir hierdie tutoriaal, maar dit behoort te werk met enige slim hub (Smartthings/Iris/ens.) Voordat ons begin, gaan