Բովանդակություն:

LTE Pi գլխարկով դեմքի ճանաչման խելացի կողպեք ՝ 4 քայլ
LTE Pi գլխարկով դեմքի ճանաչման խելացի կողպեք ՝ 4 քայլ

Video: LTE Pi գլխարկով դեմքի ճանաչման խելացի կողպեք ՝ 4 քայլ

Video: LTE Pi գլխարկով դեմքի ճանաչման խելացի կողպեք ՝ 4 քայլ
Video: I Bought A TOTALED Camaro ZL1 1LE CHEAP At Salvage Auction! 2024, Հուլիսի
Anonim
Դեմքի ճանաչման խելացի կողպեք LTE Pi HAT- ով
Դեմքի ճանաչման խելացի կողպեք LTE Pi HAT- ով

Դեմքի ճանաչումը դառնում է ավելի ու ավելի լայն կիրառություն, մենք կարող ենք այն օգտագործել խելացի կողպեք պատրաստելու համար:

Քայլ 1: Այս նախագծում օգտագործվող բաները

Սարքավորման բաղադրիչներ

  • Ազնվամորի Pi 3 մոդել B
  • Raspberry Pi Camera Module V2
  • Grove - փոխանցումավազք
  • LTE Cat 1 Pi HAT (Եվրոպա)
  • 10.1 դյույմ 1200x1980 HDMI IPS LCD էկրան

Softwareրագրային ապահովման ծրագրեր և առցանց ծառայություններ

  • WinSCP
  • Գրառման գրքույկ ++

Քայլ 2: Սարքաշարի միացում

Սարքաշարի միացում
Սարքաշարի միացում

Այս նախագծում մենք նախատեսում ենք լուսանկարել picamera- ով և ճանաչել դրանց դեմքերը, այնուհետև ցուցադրել ճանաչման արդյունքը էկրանին: Եթե դեմքերը հայտնի են, բացեք դուռը և SMS- ով ուղարկեք ով բացեց դուռը:

Այսպիսով, դուք պետք է տեսախցիկը միացնեք Raspberry Pi- ի տեսախցիկի միջերեսին և տեղադրեք ալեհավաք և Grove - Relay to LTE Pi գլխարկ, այնուհետև HAT- ը միացրեք ձեր Pi- ին: Էկրանը կարելի է միացնել Raspberry Pi- ին HDMI մալուխի միջոցով, մի մոռացեք էներգիան միացնել ձեր էկրանին և Pi- ին:

Քայլ 3: Softwareրագրային ապահովման ծրագրավորում

Դեմքի ճանաչում

Շնորհակալություն Ադամ Գեյթգիի և նրա դեմքի ճանաչման նախագծի համար, մենք կարող ենք օգտագործել Raspberry Pi- ի դեմքի ճանաչման աշխարհի ամենապարզ գրադարանը: Հետևյալ քայլերը ցույց կտան, թե ինչպես տեղադրել Pi- ի դեմքի ճանաչումը:

Քայլ 1. Տեսախցիկի և GPU- ի հիշողությունը կազմաձևելու համար օգտագործեք raspi-config:

sudo raspi-config

Ընտրելով ինտերֆեյսի ընտրանքներ - Տեսախցիկ ՝ նկարահանող սարքը միացնելու համար, այնուհետև ընտրելով Ընդլայնված ընտրանքներ - Հիշողության պառակտում ՝ GPU- ի հիշողությունը կարգավորելու համար, այն պետք է փոխվի 64 -ի: Ավարտելուց հետո վերագործարկեք ձեր Raspberry Pi- ն:

Քայլ 2. Տեղադրեք անհրաժեշտ գրադարանները:

sudo apt-get թարմացում

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

Քայլ 3. Պատրաստեք պիկամերեայի հենարանների զանգված:

sudo pip3 install -բարելավել picamera [զանգված]

Քայլ 4. Տեղադրեք dlib և դեմքի ճանաչում:

sudo pip3 տեղադրեք dlib

sudo pip3 տեղադրեք face_recognition

Քայլ 5. Ներբեռնեք և գործարկեք դեմքի ճանաչման օրինակը

git clone-մեկ ճյուղ

cd./face_recognition/ օրինակներ python3 facerec_on_raspberry_pi.py

Ո NOTՇԱԴՐՈԹՅՈՆ. Եթե ստացել եք ImportError:

Ռելե

Երբ դեմքի ճանաչումը պատրաստ լինի, մենք կարող ենք շարունակել ավելացնել լրացուցիչ հնարավորություններ: Մենք Grove - Relay- ը միացրեցինք LTE Cat 1 Pi HAT- ին, բայց այն ավելի շատ օգտագործում է թվային պորտ, քան I2C պորտ:

Սա պինդ է Raspberry Pi 3B- ի համար, մենք կարող ենք տեսնել SDA և SCL քորոցները, որոնք գտնվում են տախտակի 3-րդ և 5-րդ կապում:

Պատկեր
Պատկեր

Այսպիսով, մենք կարող ենք վերահսկել ռելեը `ելքային թվային ազդանշանի միջոցով: Գործարկեք ձեր Raspberry Pi- ով Python ծրագրին հետևելով, եթե ոչինչ սխալ չլինի, ռելեից Ti-Ta կլսեք:

ներմուծեք RPi. GPIO- ն որպես GPIO

RELAY_PIN = 5 GPIO.setmode (GPIO. BOARD) GPIO.setup (RELAY_PIN, GPIO. OUT) GPIO.output (RELAY_PIN, GPIO. HIGH)

Այսպիսով, ահա գաղափարը. Մենք բեռնում ենք հայտնի դեմքերը թղթապանակից, ճանաչում ենք picamera- ով նկարահանված դեմքերը, եթե թղթապանակի դեմքը, դուռը բացելու կառավարման ռելե: Մենք կարող ենք դրանք փաթեթավորել դասի, ահա load_known_faces () մեթոդը և unlock () մեթոդը, ավարտված ծրագիրը կարելի է ներբեռնել այս հոդվածի վերջում:

def load_known_faces (self):

հայտնի_դեմեր = os.listdir (ինքն._ հայտնի_դեմեր_ուղի) հայտնի_դեմերի համար հայտնի_դեմերում. ինքն._ հայտնի_դեմներ_անուն.հավելել (հայտնի_դեմ [0: լեն (հայտնի_դեմ) - լեն ('. jpg')]) հայտնի_դես_պատկեր = face_recognition.load_image_file (self_)) ինքն._ հայտնի_դեմեր_կոդավորում.կցել (face_recognition.face_encodings (known_face_image) [0]) վերադարձնել len (ինքն._ հայտնի_ դեմքերի_կոդավորում) def unlock (self). GPIO. HIGH) տպագրություն («Դուռը բացվեց») time.sleep (5) GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () return True self._ retry_count += 1 տպում («Խնդրում ենք կրկին փորձել … {{ } '. ֆորմատ (ինքն._ retry_count)) return Կեղծ

Մտածեք տրանսցենդենտալ, մենք կարող ենք ցույց տալ պատկերը, ով ճանաչեց, գրադարանները PIL- ը և matplotlib- ը կարող են օգտակար լինել, նրանց թվում matplotlib- ը պետք է ձեռքով տեղադրվի, գործարկեք այս հրամանը ձեր Raspberry Pi- ի տերմինալում:

sudo pip3 տեղադրել matplotlib

Ներմուծեք դրանք ձեր ծածկագրում և փոխեք, եթե արգելափակման () եղանակը արգելափակվի հետևյալ կերպ.

img = Image.open ('{}/{}. jpg'.format (ինքն._ հայտնի_դեմներ_ուղի, ինքն._ հայտնի_դեմների_անուն [0]))

plt.imshow (img) plt.ion () GPIO.output (self._ relay_pin, GPIO. HIGH) print («դուռը բացվեց») plt.pause (3) plt.close () GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () return True

Այժմ, եթե դեմքը ճանաչվի, թղթապանակի պատկերը կցուցադրվի էկրանին:

Պատկեր
Պատկեր

SMS

Երբեմն մենք ուզում ենք իմանալ, թե ով է մեր սենյակում, և այժմ տեղ կա LTE Cat 1 Pi HAT- ի համար: Միացրեք SIM քարտը դրան և հետևեք հետևյալ քայլերին ՝ ստուգելու, արդյոք այն կաշխատի, թե ոչ:

Քայլ 1. Միացրեք UART0- ը Raspberry Pi- ում

Օգտագործեք nano ՝ config.txt /boot- ում խմբագրելու համար

sudo nano /boot/config.txt

դրա ներքևում ավելացրեք dtoverlay = pi3-disable-bt և անջատեք hciuart ծառայությունը

sudo systemctl անջատել hciuart- ը

ապա ջնջել մխիթարել = serial0, 115200 cmdline.txt in /boot- ում

sudo nano /boot/cmdline.txt

Ամեն ինչ անելուց հետո դուք պետք է վերագործարկեք ձեր Raspberry Pi- ը:

Քայլ 2. Ներբեռնեք օրինակը և գործարկեք այն:

Բացեք տերմինալ ձեր Raspberry Pi- ում, մուտքագրեք այս հրամանը տող առ տող:

cd

git clone https://github.com/Seeed-Studio/ublox_lara_r2_pi_hat.git cd ublox_lara_r2_pi_hat sudo python setup.py տեղադրել cd test sudo python test01.py

Եթե դուք տեսնում եք այս ելքերը ձեր տերմինալում, LTE Cat 1 Pi HAT- ը լավ է աշխատում:

Հայտնաբերվեց 40 պին GPIO վերնագիր

Միացնելով CTS0 և RTS0 GPIO- ներում 16 և 17 rt cts արթնանալուց… մոդուլի անունը ՝ LARA-R211 RSSI: 3

Այժմ մենք գիտեինք, որ HAT- ը լավ է աշխատում, ինչպես օգտագործել այն SMS ուղարկելու համար: Առաջին բանը, որ դուք պետք է իմանաք, այն է, որ Raspberry Pi- ն HAT- ի հետ շփվում է UART- ի կողմից AT հրամաններ ուղարկելու միջոցով: Դուք կարող եք ուղարկել AT- ի հրամաններ LTE HAT- ին ՝ այս ծածկագիրը Python- ում գործարկելով

ublox_lara_r2 ներմուծումից *

u = Ublox_lara_r2 () u.initialize () u.reset_power () # Փակել վրիպազերծման մերսում u.debug = Կեղծ u.sendAT ('')

SMS ուղարկելու AT հրամանը հետևյալն է

AT+CMGF = 1

AT+CMGS =

ահա _send_sms () մեթոդը.

def _ ուղարկեք_սմս (ինքն):

if self._ phonenum == Ոչ մեկը. return False for unlocker in self._ ճանաչել_դեսերի_անունները (): _ublox.sendAT ('AT+CMGS = "{}" / r / n'.format (self._ phonenum)): print (self._ ublox.response) if self._ ublox.sendAT (' {} սենյակ մտնել: / x1a'.format (unlocker)): տպել (ինքն._ ublox.response)

Ո NOTՇԱԴՐՈԹՅՈՆ. LTE Cat 1 Pi HAT- ի գրադարանը գրված է python2- ի կողմից, որը շատ համատեղելի չէ python3- ի հետ, եթե ցանկանում եք այն օգտագործել դեմքի ճանաչման միջոցով, ապա ներբեռնեք այն այս հոդվածի վերջի հղումից:

Խորհուրդ ենք տալիս: