Mündəricat:

LTE Pi HAT ilə üz tanıma ağıllı kilidi: 4 addım
LTE Pi HAT ilə üz tanıma ağıllı kilidi: 4 addım

Video: LTE Pi HAT ilə üz tanıma ağıllı kilidi: 4 addım

Video: LTE Pi HAT ilə üz tanıma ağıllı kilidi: 4 addım
Video: СУПЕР-КАМЕРА СЛЕДИТ ОПРЕДЕЛЯЕТ И ПРИБЛИЖАЕТ ЛЮДЕЙ С ДВУХ КАМЕР 2024, Iyul
Anonim
LTE Pi HAT ilə Üz Tanıma Ağıllı Kilidi
LTE Pi HAT ilə Üz Tanıma Ağıllı Kilidi

Üz tanıma getdikcə daha çox istifadə olunur, ağıllı bir kilid etmək üçün istifadə edə bilərik.

Addım 1: Bu Layihədə İstifadə Edilən Şeylər

Avadanlıq komponentləri

  • Raspberry Pi 3 Model B
  • Raspberry Pi Kamera Modulu V2
  • Grove - Relay
  • LTE Cat 1 Pi HAT (Avropa)
  • 10.1 düymlük 1200x1980 HDMI IPS LCD Ekranı

Proqram proqramları və onlayn xidmətlər

  • WinSCP
  • Notepad ++

Addım 2: Avadanlıq Bağlantısı

Avadanlıq Bağlantısı
Avadanlıq Bağlantısı

Bu layihədə pikamera ilə şəkil çəkməyi və içindəki üzləri tanımağı, sonra tanıma nəticəsini ekranda göstərməyi planlaşdırırıq. Üzlər məlumdursa, qapını açın və qapını kimin açdığını SMS ilə göndərin.

Buna görə bir kameranı Raspberry Pi -nin kamera interfeysinə bağlamalısınız və anten və Grove - LTE Pi şapkasına Relay qurmalısınız, sonra HAT -ı Pi -yə qoşmalısınız. Ekran Raspberry Pi -yə HDMI kabeli ilə qoşula bilər, ekranınıza və Pi -yə güc bağlamağı unutmayın.

Addım 3: Proqramlaşdırma

Üz Tanıma

Adam Geitgey və Üz Tanıma layihəsi üçün təşəkkür edirik, Raspberry Pi üzərindəki dünyanın ən sadə üz tanıma kitabxanasından istifadə edə bilərik. Aşağıdakı addımlar, Pi -də üz tanıma qurmağı göstərəcək.

Addım 1. Kamera və GPU yaddaşını konfiqurasiya etmək üçün raspi-config istifadə edin.

sudo raspi-config

İnterfeys Seçimləri - Pikameranı işə salmaq üçün Kamera, sonra Qabaqcıl Seçimlər - GPU yaddaşını qurmaq üçün Yaddaş Bölmə seçimləri 64 olaraq dəyişdirilməlidir. Bitirdikdən sonra Raspberry Pi -ni yenidən başladın.

Addım 2. Lazımi kitabxanaları quraşdırın.

sudo apt-get yeniləməsi

sudo apt-get upgrade sudo apt-get install-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

Addım 3. Picamerea dəstəyi düzəldin.

sudo pip3 install -picamera [array] təkmilləşdirin

Addım 4. Dlib və üz tanıma qurun.

sudo pip3 dlib quraşdırın

sudo pip3 face_recognition qurun

Addım 5. Üz tanıma nümunəsini yükləyin və işə salın

git clone-tək filial

cd./face_recognition/examples python3 facerec_on_raspberry_pi.py

XƏBƏRDARLIQ: ImportError: libatlas.so.3 varsa: paylaşılan obyekt faylını aça bilməz: Belə bir fayl və ya qovluq yoxdur, onu düzəltmək üçün aşağıdakı əmri işlədin.

Relay

Üz tanıma hazır olduqda, əlavə xüsusiyyətlər əlavə etməyə davam edə bilərik. Grove - Relay'i LTE Cat 1 Pi HAT -a bağladıq, ancaq I2C portundan çox rəqəmsal port istifadə edir.

Bu Raspberry Pi 3B üçün pin-outdur, lövhənin pin 3 və pin 5-də yerləşən SDA pin və SCL pinini görə bilərik.

Şəkil
Şəkil

Beləliklə, rəqəmsal siqnalı 5-ə bağlayaraq röleyi idarə edə bilərik. Raspberry Pi-də python proqramını işlədin, əgər heç bir şey getmirsə, relaydan Ti-Ta eşidəcəksiniz.

GPO olaraq RPi. GPIO idxal edin

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

Budur, bir qovluqdan bilinən üzləri yükləyirik, pikamera ilə çəkilən üzləri tanıyırıq, əgər qovluqdakı üz, qapının kilidini açmaq üçün röleyi idarə edirik. Onları bir sinfə bağlaya bilərik, burada load_known_faces () metodu və unlock () metodudur, tamamlanmış proqram bu məqalənin sonunda yüklənə bilər.

def load_known_faces (özünü):

məlum_sifətlər = os.listdir (özünü._ tanınan_faslar_yolu) məlum_sifətlərdəki məlum_sifət üçün: özünü._ bilinən_sifətlər_adı.append (məlum_sifət [0: len (bilinən_fəza) - len ('. jpg')]) bilinən_sifət_face_şəkil_yadım_yüksək_feysləri) özünü._ məlum_sifətləri_kodlaşdırma. əlavəsi (face_recognition.face_encodings (tanınmış_face_image) [0]) qayıt len (özünü._ məlum_faces_encoding) def kilidini açmaq (özünü): əgər özünü._ eşleşmiş say (Doğru)> 0: GPIO. çıxış (özünü._ relay_pin, GPIO. HIGH) çap ('Qapı açıldı') vaxt.yuxu (5) GPIO.çıxış (özünü._ relay_pin, GPIO. LOW) özünü._ reset_recognise_params () True özünü qaytar._ retry_count += 1 çap ('Zəhmət olmasa yenidən cəhd edin… { } '. format (self._ retry_count)) False qaytar

Fövqəladə düşünün, kimin tanıdığını görsək, PIL və matplotlib kitabxanalarının faydalı ola biləcəyini göstərə bilərik, bunların arasında matplotlibin əllə quraşdırılması lazımdır, bu əmri Raspberry Pi terminalınızda işlədin.

sudo pip3 matplotlib quraşdırın

Onları kodunuza daxil edin və kilidini açmaq () metodunu bu kimi dəyişdirin:

img = Image.open ('{}/{}. jpg'.format (özünü._ məlum_fas_yolu, özünü._ bilinən_siflər_adı [0])))

plt.imshow (img) plt.ion () GPIO.output (self._ relay_pin, GPIO. HIGH) print ('Door open') plt.pause (3) plt.close () GPIO.output (self._ relay_pin, GPIO). LOW) özünü._ reset_recognise_params () qayıt True

İndi üz tanınsa, qovluqdakı şəkil ekranda görünəcək.

Şəkil
Şəkil

SMS

Bəzən otağımızda kimin olduğunu bilmək istəyirik və indi LTE Cat 1 Pi HAT üçün bir yer var. SİM kartı ona bağlayın və işləyib -işləməyəcəyini yoxlamaq üçün addımları izləyin.

Addım 1. Raspberry Pi -də UART0 -u aktiv edin

Config.txt faylını redaktə etmək üçün nano istifadə edin

sudo nano /boot/config.txt

altına dtoverlay = pi3-disable-bt əlavə edin və hciuart xidmətini deaktiv edin

sudo systemctl hciuart -ı deaktiv edin

sonra /bootda cmdline.txt konsolu = serial0, 115200 silin

sudo nano /boot/cmdline.txt

Hər şey bitdikdən sonra Raspberry Pi -ni yenidən başlatmalısınız.

Addım 2. Nümunəni yükləyin və işə salın.

Raspberry Pi -də bir terminal açın, bu əmri sətir -sətir yazın.

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 qurun

Terminalınızda bu çıxışları görürsünüzsə, LTE Cat 1 Pi HAT yaxşı işləyir.

40 pinli GPIO başlığı aşkar edildi

Oyananda GPIOs 16 və 17 rts cts-də CTS0 və RTS0-un aktiv edilməsi… modul adı: LARA-R211 RSSI: 3

İndi HAT -ın yaxşı işlədiyini bilirdik, ondan SMS göndərmək üçün necə istifadə etmək olar? Bilməniz lazım olan ilk şey, Raspberry Pi -nin UART tərəfindən AT əmrləri göndərməklə HAT ilə əlaqə qurmasıdır. Bu kodu pythonda işlədərək LTE HAT -a AT əmrləri göndərə bilərsiniz

ublox_lara_r2 idxalından *

u = Ublox_lara_r2 () u.initialize () u.reset_power () # Debug masajını bağlayın u.debug = Yanlış u.sendAT ('')

SMS göndərmək üçün AT əmri aşağıdakı kimidir

AT+CMGF = 1

AT+CMGS =

burada _send_sms () metodu var:

def _send_sms (özünü):

əgər özünü._ phonenum == Yox: özünü açan üçün False qaytar._ tanınma_face_names (): əgər özünü._ ublox.sendAT ('AT+CMGF = 1 / r / n'): çap etsən (özünü._ ublox. cavab) özünüsə. _ublox.sendAT ('AT+CMGS = "{}" / r / n'.format (self._ phonenum))): çap. x1a'.format (kilidini açan)): çap (özünü._ ublox. cavab)

DİQQƏT: python3 ilə çox uyğun olmayan python2 tərəfindən yazılmış LTE Cat 1 Pi HAT kitabxanası, üz tanıma ilə istifadə etmək istəyirsinizsə, lütfən, məqalənin sonundakı linkdən yükləyin.

Tövsiyə: