Სარჩევი:

სახის ამოცნობის სმარტ საკეტი LTE Pi HAT: 4 ნაბიჯი
სახის ამოცნობის სმარტ საკეტი LTE Pi HAT: 4 ნაბიჯი

ვიდეო: სახის ამოცნობის სმარტ საკეტი LTE Pi HAT: 4 ნაბიჯი

ვიდეო: სახის ამოცნობის სმარტ საკეტი LTE Pi HAT: 4 ნაბიჯი
ვიდეო: სუპერ კამერა მონიტორინგს და ამოიცნობს ადამიანებს ორი კამერით 2024, ივლისი
Anonim
სახის ამოცნობის სმარტ საკეტი LTE Pi HAT– ით
სახის ამოცნობის სმარტ საკეტი LTE Pi HAT– ით

სახის ამოცნობა სულ უფრო ფართოდ გამოიყენება, ჩვენ შეგვიძლია გამოვიყენოთ ის ჭკვიანი საკეტის გასაკეთებლად.

ნაბიჯი 1: ნივთები, რომლებიც გამოიყენება ამ პროექტში

აპარატურის კომპონენტები

  • ჟოლო Pi 3 მოდელი B
  • ჟოლო Pi კამერის მოდული V2
  • გროვი - სარელეო
  • LTE Cat 1 Pi HAT (ევროპა)
  • 10.1 დიუმიანი 1200x1980 HDMI IPS LCD ეკრანი

პროგრამული უზრუნველყოფის პროგრამები და ონლაინ სერვისები

  • WinSCP
  • ბლოკნოტი ++

ნაბიჯი 2: აპარატურის კავშირი

აპარატურის კავშირი
აპარატურის კავშირი

ამ პროექტში ჩვენ ვგეგმავთ სურათების გადაღებას პიკამერით და მათში სახეების ამოცნობას, შემდეგ კი ჩვენების ჩვენების ჩვენებას ეკრანზე. თუ სახეები ცნობილია, გააღეთ კარი და SMS- ით გაგზავნეთ ის, ვინც კარი გააღო.

ასე რომ თქვენ უნდა დაუკავშიროთ კამერა Raspberry Pi– ს კამერის ინტერფეისს და დააინსტალიროთ ანტენა და Grove - სარელეო LTE Pi ქუდი, შემდეგ კი შეაერთეთ HAT თქვენს Pi– ს. ეკრანი შეიძლება დაუკავშირდეს Raspberry Pi– ს HDMI კაბელის საშუალებით, არ დაგავიწყდეთ დენის დაკავშირება თქვენს ეკრანთან და Pi– სთან.

ნაბიჯი 3: პროგრამული უზრუნველყოფის პროგრამირება

Სახის ამოცნობა

მადლობა ადამ გეითგისა და მისი სახის ამოცნობის პროექტისათვის, ჩვენ შეგვიძლია გამოვიყენოთ მსოფლიოში უმარტივესი სახის ამოცნობის ბიბლიოთეკა ჟოლოს პიზე. შემდეგი ნაბიჯები გაჩვენებთ თუ როგორ უნდა დააყენოთ სახის ამოცნობა Pi- ზე.

ნაბიჯი 1. გამოიყენეთ raspi-config კამერის და GPU მეხსიერების კონფიგურაციისთვის.

sudo raspi-config

ინტერფეისის პარამეტრების არჩევა - კამერა სურათის გასააქტიურებლად, შემდეგ დამატებითი პარამეტრების არჩევა - მეხსიერების გაყოფა GPU მეხსიერების დასაყენებლად, ის უნდა შეიცვალოს 64 -ზე. დასრულების შემდეგ გადატვირთეთ თქვენი Raspberry Pi.

ნაბიჯი 2. დააინსტალირეთ საჭირო ბიბლიოთეკები.

sudo apt-get განახლება

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

ნაბიჯი 3. ჩადება picamerea მხარს უჭერს მასივი.

sudo pip3 install -picamera განახლება [მასივი]

ნაბიჯი 4. დააინსტალირეთ dlib და სახის ამოცნობა.

sudo pip3 დააინსტალირეთ dlib

sudo pip3 დააინსტალირეთ face_recognition

ნაბიჯი 5. ჩამოტვირთეთ და გაუშვით სახის ამოცნობის მაგალითი

git კლონი-ერთი ფილიალი

cd./face_recognition/example python3 facerec_on_raspberry_pi.py

შენიშვნა: თუ თქვენ მიიღეთ ImportError: libatlas.so.3: არ შეიძლება გაიხსნას გაზიარებული ობიექტის ფაილი: არ არსებობს ასეთი ფაილი ან დირექტორია, გაასწორეთ შემდეგი ბრძანება მის გამოსასწორებლად.

სარელეო

როდესაც სახის ამოცნობა მზად იქნება, ჩვენ შეგვიძლია გავაგრძელოთ დამატებითი ფუნქციების დამატება. ჩვენ დავუკავშირდით Grove - სარელეო LTE Cat 1 Pi HAT– ს, მაგრამ ის უფრო ციფრულ პორტს იყენებს ვიდრე I2C პორტს.

ეს არის Pin-out Raspberry Pi 3B– სთვის, ჩვენ შეგვიძლია დავინახოთ SDA pin და SCL pin, რომლებიც მდებარეობს დაფის პინ 3 – ში და 5 – ში.

გამოსახულება
გამოსახულება

ასე რომ, ჩვენ შეგვიძლია ვაკონტროლოთ რელე ციფრული სიგნალის pin 5. გაუშვით ქვემოთ პითონის პროგრამა თქვენს Raspberry Pi– ზე, თუ არაფერი არ მოხდება, თქვენ მოისმენთ Ti-Ta სარელეოდან.

იმპორტი RPi. GPIO როგორც GPIO

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

ასე რომ, აქ არის იდეა, ჩვენ ჩავტვირთავთ ცნობილ სახეებს საქაღალდედან, ვაღიარებთ პიკამერით გადაღებულ სახეებს, თუკი საქაღალდეში სახე, საკონტროლო სარელეო კარის გასაღებად. ჩვენ შეგვიძლია მათი შეფუთვა კლასში, აქ არის load_known_faces () მეთოდი და unlock () მეთოდი, დასრულებული პროგრამის ჩამოტვირთვა შესაძლებელია ამ სტატიის ბოლოს.

def load_known_faces (თვითმმართველობის):

ცნობილი_სახეები = os.listdir (თვით._ ცნობილი_სახეების_გზა) ცნობილი_სახელისთვის ცნობილი_სახეებში: თვით._ ცნობილი_სახეების_სახელი. დამატება (ცნობილი_სახელი [0: ლენ (ცნობილი_სახე) - ლენ ('. jpg')]) ცნობილი_სახე_სახადი = სახის_მეცნობა. დატვირთვა_სახელი_სახელი_შეცნობილი_სახელი (საკუთარი._) self._ ცნობილი_სახეები_ენკოდირება. დამატება (face_recognition.face_encodings (known_face_image) [0]) დაბრუნება len (თვით._ ცნობილი_სახეების_კოდირება) def unlock (self): თუ თვით._ დაემთხვა. რაოდენობა (True)> 0: GPIO.output (self._ relay_pin, GPIO. HIGH) ბეჭდვა ("კარი გაიღო") time.sleep (5) GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () return true self._ retry_count += 1 print ('გთხოვთ სცადოთ ხელახლა … { } '. ფორმატი (თვით._ retry_count)) დაბრუნება ცრუ

იფიქრეთ ტრანსცენდენტურად, ჩვენ შეგვიძლია ვაჩვენოთ ის სურათი, ვინც აღიარა, ბიბლიოთეკები PIL და matplotlib შეიძლება გამოსადეგი იყოს, მათ შორის matplotlib ხელით უნდა იყოს დაინსტალირებული, გაუშვით ეს ბრძანება თქვენი Raspberry Pi ტერმინალში.

sudo pip3 დააინსტალირეთ matplotlib

შემოიტანეთ ისინი თქვენს კოდში და შეცვალეთ ბლოკირების განბლოკვის () მეთოდით ასე:

img = Image.open ('{}/{}. jpg'.format (თვითმმართველობის

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

ახლა, თუ სახე აღიარებულია, საქაღალდეში ნაჩვენები სურათი გამოჩნდება ეკრანზე.

გამოსახულება
გამოსახულება

ესემესი

ზოგჯერ ჩვენ გვსურს ვიცოდეთ ვინ არის ჩვენს ოთახში და ახლა არის ადგილი LTE Cat 1 Pi HAT– ისთვის. შეაერთეთ SIM ბარათი და მიჰყევით ქვემოთ მოცემულ ნაბიჯებს, რომ შეამოწმოთ მუშაობს თუ არა.

ნაბიჯი 1. ჩართეთ UART0 Raspberry Pi- ში

გამოიყენეთ ნანო config.txt /ჩატვირთვის შესაცვლელად

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 ტესტი 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– ში პითონში ამ კოდის გაშვებით

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 _ გაგზავნა_sms (თვითმმართველობის):

if self._ phonenum == არცერთი: return False for unlocker in self._ ამოცნობა_სახელის_სახელები (): 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 (' {} ოთახში შესვლა. / x1a'.format (unlocker)): print (self._ ublox.response)

შენიშვნა: LTE Cat 1 Pi HAT ბიბლიოთეკა დაწერილია python2– ის მიერ, რომელიც არ არის ძალიან თავსებადი python3– თან, თუ გსურთ მისი გამოყენება სახის ამოცნობისას, გთხოვთ გადმოწეროთ ამ სტატიის ბოლოდან მოცემული ბმულიდან.

გირჩევთ: