Sisukord:

Näotuvastuse nutikas lukk LTE Pi HAT -iga: 4 sammu
Näotuvastuse nutikas lukk LTE Pi HAT -iga: 4 sammu

Video: Näotuvastuse nutikas lukk LTE Pi HAT -iga: 4 sammu

Video: Näotuvastuse nutikas lukk LTE Pi HAT -iga: 4 sammu
Video: wifi пульт для IR и RF кодов Broadlink RM4C Pro, работа в Home Assistant - управляем кондиционером 2024, November
Anonim
Näotuvastuse nutikas lukk LTE Pi HAT -iga
Näotuvastuse nutikas lukk LTE Pi HAT -iga

Näotuvastust kasutatakse üha laialdasemalt, saame seda kasutada nutiluku valmistamiseks.

Samm: selles projektis kasutatud asjad

Riistvara komponendid

  • Vaarika Pi 3 Mudel B
  • Vaarika Pi kaamera moodul V2
  • Grove - relee
  • LTE Cat 1 Pi HAT (Euroopa)
  • 10,1 -tolline 1200x1980 HDMI IPS LCD -ekraan

Tarkvararakendused ja võrguteenused

  • WinSCP
  • Notepad ++

Samm: riistvaraühendus

Riistvaraühendus
Riistvaraühendus

Selles projektis plaanime pildistada picameraga ja tuvastada neis näod, seejärel kuvada ekraanil tuvastamise tulemus. Kui nägu on teada, avage uks ja saatke SMS -i teel määratud telefoninumbrile, kes avas ukse.

Seega peate ühendama kaamera Raspberry Pi kaameraliidesega ning paigaldama antenni ja Grove - Relay LTE Pi mütsile ning seejärel ühendama HAT oma Pi -ga. Ekraani saab ühendada Raspberry Pi -ga HDMI -kaabli kaudu, ärge unustage ühendada ekraan ja Pi toide.

Samm: tarkvara programmeerimine

Näotuvastus

Tänu Adam Geitgey ja tema näotuvastustöö projektile saame Raspberry Pi -l kasutada maailma lihtsaimat näotuvastusteeki. Järgmised sammud näitavad teile, kuidas seadistada näotuvastus Pi -le.

Samm 1. Kasutage raspi-config kaamera ja GPU mälu seadistamiseks.

sudo raspi-config

Valides liidese suvandid - kaamera, et lubada picamera, seejärel valides GPU mälu seadistamiseks Advanced Options - Memory Split, tuleks see muuta 64. Pärast lõpetamist taaskäivitage oma Raspberry Pi.

Samm 2. Installige vajalikud teegid.

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

Samm 3. Tehke picamerea toetab massiivi.

sudo pip3 install -uuenda picamera [massiiv]

Samm 4. Paigaldage dlib ja näotuvastus.

sudo pip3 install dlib

sudo pip3 installige face_recognition

Samm 5. Laadige alla ja käivitage näotuvastuse näide

git kloon-ühe haru

cd./face_recognition/examples python3 facerec_on_raspberry_pi.py

MÄRKUS: Kui teil on ImportError: libatlas.so.3: ei saa avada jagatud objekti faili: sellist faili või kataloogi pole, käivitage selle parandamiseks järgmine käsk.

Relee

Kui näotuvastus on valmis, saame jätkata lisafunktsioonide lisamist. Ühendasime Grove - Relay LTE Cat 1 Pi HAT -iga, kuid see kasutab pigem digitaalset kui I2C -porti.

See on Raspberry Pi 3B jaoks pin-out, näeme SDA tihvti ja SCL-tihvti, mis asuvad plaadi tihvtis 3 ja tihvtis 5.

Pilt
Pilt

Seega saame releed juhtida digitaalse signaali väljundiga viigule 5. Käivitage oma Raspberry Pi järgnev python-programm, kui midagi valesti ei lähe, kuulete releest Ti-Ta.

RPi. GPIO importimine GPIO -na

RELAY_PIN = 5 GPIO.seadistusrežiimi (GPIO. BOARD) GPIO.seadistus (RELAY_PIN, GPIO. OUT) GPIO.väljund (RELAY_PIN, GPIO. HIGH)

Siin on idee, me laadime teadaolevad näod kaustast, tunneme ära picamera jäädvustatud näod, kui kaustas olev nägu, kontrollige ukse avamiseks releed. Saame need pakendada klassi, siin on meetod load_known_faces () ja unlock (), lõpetatud programmi saab alla laadida selle artikli lõpus.

def load_known_faces (ise):

teadaolevad_näod = os.listdir (ise._ teadaolevad_näideteed) teadaolevate nägude jaoks teadaolevates nägudes: ise._ teadaolevad_näitajate_nimed.append (teadaolevad näod [0: len (tuntud_näod) - len ('. jpg']) tuntud_nägude pildid = näotuvastust.koormuse_pildifail (ise._ teadaolevad näopildid +) ise._ teadaolevad_näod_kodeeringud.append (näotuvastus.näo_kodeeringud (tuntud_näo_pilt) [0]) tagastama len (ise._ teadaolevad_näod_kodeering) def avamine (ise): kui ise._ sobitatud.arv (tõene)> 0: GPIO.väljund (ise._ relee_pin, GPIO. HIGH) print ('Uks avatud') time.sleep (5) GPIO.väljund (ise._ relee_pin, GPIO. LOW) ise._ reset_recognise_params () tagastab tõelise mina._ uuesti proovi_arv += 1 print ('Palun proovige uuesti … { } '. format (self._ retry_count)) return False

Mõelge transtsendentaalselt, saame näidata pilti, kes tundis ära, raamatukogudest PIL ja matplotlib võib abi olla, nende hulgas tuleb matplotlib käsitsi installida, käivitage see käsk oma Raspberry Pi terminalis.

sudo pip3 installi matplotlib

Importige need oma koodi ja muutke, kas blokeerida avamise () meetodil järgmiselt:

img = Image.open ('{}/{}. jpg'.format (ise._ teadaolevad_näideteed, ise._ teada_nägude_nimed [0]))

plt.imshow (img) plt.ion () GPIO.output (ise._ relee_pin, GPIO. HIGH) print ('Uks avatud') plt.pause (3) plt.close () GPIO.output (ise._ relay_pin, GPIO. LOW) ise._ reset_recognise_params () return True

Kui nägu tuvastatakse, kuvatakse ekraanil kaustas olev pilt.

Pilt
Pilt

SMS

Mõnikord tahame teada, kes on meie toas, ja nüüd on koht LTE Cat 1 Pi mütsile. Ühendage SIM -kaart ja järgige juhiseid, et kontrollida, kas see töötab või mitte.

Samm 1. Luba UART0 rakenduses Raspberry Pi

Kasutage nano -d faili config.txt redigeerimiseks kataloogis /boot

sudo nano /boot/config.txt

lisage selle põhja dtoverlay = pi3-disable-bt ja keelake hciuart-teenus

sudo systemctl keela hciuart

seejärel kustutage konsool = serial0, 115200 failis cmdline.txt failis /boot

sudo nano /boot/cmdline.txt

Kui kõik on tehtud, peaksite oma Raspberry Pi taaskäivitama.

Samm 2. Laadige näide alla ja käivitage see.

Avage oma Raspberry Pi terminal, tippige need käsud rida -realt.

cd ~

git kloon https://github.com/Seeed-Studio/ublox_lara_r2_pi_hat.git cd cd ublox_lara_r2_pi_hat sudo python setup.py install cd test sudo python test01.py

Kui näete neid väljundeid oma terminalis, töötab LTE Cat 1 Pi HAT hästi.

Tuvastati 40-pin GPIO päis

CTS0 ja RTS0 lubamine GPIO-del 16 ja 17 rts cts ärkamisel… mooduli nimi: LARA-R211 RSSI: 3

Nüüd teadsime, et müts töötab hästi, kuidas seda SMS -ide saatmiseks kasutada? Esimene asi, mida peate teadma, on see, et Raspberry Pi suhtleb HAT -iga UART -i AT -käskluste kaudu. AT -käske saate saata LTE HAT -ile, käivitades selle koodi pythonis

saidilt ublox_lara_r2 import *

u = Ublox_lara_r2 () u.initialize () u.reset_power () # Sulge silumismassaaž u.debug = Vale u.sendAT ( )

SMS -i saatmise AT -käsk on järgmine

AT+CMGF = 1

AT+CMGS =

nii et siin on _send_sms () meetod:

def _send_sms (ise):

kui ise._ foneenum == Puudub: tagasisaatmine Väärtus unlockeri jaoks eneses._ tunnista_näo_nimed (): kui ise._ ublox.sendAT ('AT+CMGF = 1 / r / n'): print (ise._ ublox.response), kui ise. _ublox.sendAT ('AT+CMGS = "{}" / r / n'.format (ise._ foneenum)): print (ise._ ublox.response), kui ise._ ublox.sendAT (' {} siseneb ruumi. / x1a'.format (unlocker)): print (ise._ ublox.response)

MÄRKUS: LTE Cat 1 Pi HATi raamatukogu, mille on kirjutanud python2, mis ei ühildu python3 -ga, kui soovite seda kasutada näotuvastusega, laadige see alla selle artikli lõpus olevalt lingilt.

Soovitan: