Satura rādītājs:

Sejas atpazīšanas viedā bloķēšana ar LTE Pi HAT: 4 soļi
Sejas atpazīšanas viedā bloķēšana ar LTE Pi HAT: 4 soļi

Video: Sejas atpazīšanas viedā bloķēšana ar LTE Pi HAT: 4 soļi

Video: Sejas atpazīšanas viedā bloķēšana ar LTE Pi HAT: 4 soļi
Video: DOOGEE S100: The Best Performing and Fastest Rugged Mid-Range Phone 2024, Jūlijs
Anonim
Sejas atpazīšanas viedā bloķēšana ar LTE Pi HAT
Sejas atpazīšanas viedā bloķēšana ar LTE Pi HAT

Sejas atpazīšana tiek izmantota arvien plašāk, mēs to varam izmantot, lai izveidotu viedo slēdzeni.

1. darbība. Šajā projektā izmantotās lietas

Aparatūras komponenti

  • Raspberry Pi 3 B modelis
  • Raspberry Pi kameras modulis V2
  • Grove - stafete
  • LTE Cat 1 Pi HAT (Eiropa)
  • 10,1 collu 1200x1980 HDMI IPS LCD displejs

Programmatūras lietotnes un tiešsaistes pakalpojumi

  • WinSCP
  • Notepad ++

2. darbība. Aparatūras savienojums

Aparatūras savienojums
Aparatūras savienojums

Šajā projektā mēs plānojam fotografēt ar picamera un atpazīt tajās sejas, pēc tam ekrānā parādīt atpazīšanas rezultātu. Ja sejas ir zināmas, atveriet durvis un nosūtiet īsziņā norādīto tālruņa numuru, kurš atvēra durvis.

Tātad jums ir jāpievieno kamera Raspberry Pi kameras interfeisam un jāinstalē antena un Grove - Relay ar LTE Pi cepuri, pēc tam pievienojiet HAT savam Pi. Ekrānu var savienot ar Raspberry Pi, izmantojot HDMI kabeli, neaizmirstiet savienot strāvu ar ekrānu un Pi.

3. solis: programmatūras programmēšana

Sejas atpazīšana

Paldies par Ādamu Geitgeiju un viņa sejas atpazīšanas projektu, mēs varam izmantot pasaulē vienkāršāko sejas atpazīšanas bibliotēku vietnē Raspberry Pi. Tālāk norādītās darbības parādīs, kā iestatīt sejas atpazīšanu Pi.

1. darbība. Izmantojiet raspi-config, lai konfigurētu kameras un GPU atmiņu.

sudo raspi-config

Izvēloties saskarnes opcijas - Kamera, lai iespējotu picamera, pēc tam izvēloties Papildu opcijas - Atmiņas sadalīšana, lai iestatītu GPU atmiņu, tā jāmaina uz 64. Pēc pabeigšanas restartējiet Raspberry Pi.

2. solis. Instalējiet nepieciešamās bibliotēkas.

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

Solis 3. Izveidojiet picamerea atbalsta masīvu.

sudo pip3 instalēt -atjaunināt picamera [masīvs]

4. solis. Instalējiet dlib un sejas atpazīšanu.

sudo pip3 instalēt dlib

sudo pip3 instalēt face_recognition

Solis 5. Lejupielādējiet un palaidiet sejas atpazīšanas piemēru

git clone-viena filiāle

cd./face_recognition/examples python3 facerec_on_raspberry_pi.py

PAZIŅOJUMS: Ja jums ir ImportError: libatlas.so.3: nevar atvērt koplietotā objekta failu: Nav šāda faila vai direktorija, palaidiet šo komandu, lai to labotu.

Stafete

Kad sejas atpazīšana ir gatava, mēs varam turpināt pievienot papildu funkcijas. Mēs savienojām Grove - Relay ar LTE Cat 1 Pi HAT, taču tas izmanto digitālo, nevis I2C portu.

Tas ir tapas Raspberry Pi 3B, mēs varam redzēt SDA tapu un SCL tapu, kas atrodas tāfeles 3. un 5. tapā.

Attēls
Attēls

Tātad mēs varam kontrolēt releju, izvadot digitālo signālu uz tapu 5. Palaidiet savu Raspberry Pi, izmantojot python programmu. Ja nekas nenotiks, jūs dzirdēsit Ti-Ta no releja.

importēt RPi. GPIO kā GPIO

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

Tātad, šeit ir ideja, mēs ielādējam zināmās sejas no mapes, atpazīstam picamera uzņemtas sejas, ja seja mapē, kontrolējam releju, lai atbloķētu durvis. Mēs varam tos iepakot klasē, šeit ir metode load_known_faces () un unlock () metode, pabeigto programmu var lejupielādēt šī raksta beigās.

def load_known_faces (self):

zināms_sejas = os.listdir (self._ zināms_seju_ceļš) zināmajai sejai zināmās_sejās: pašam._ zināms_seju_nosaukums.append (zināma_seja [0: len (zināma_seja) - len ('. jpg')]) zināms_seja_attēls = sejas_atpazīšanas.ielādes_attēls_fails (zināms.) self._ zināms_seju_kodējums.append (face_recognition.face_encodings (known_face_image) [0]) return len (self._ known_faces_encoding) def atbloķēt (self): if self._ matched.count (True)> 0: GPIO.output (self._ relay_pin, GPIO. HIGH) print ('Durvis atvērtas') time.sleep (5) GPIO.output (self._ relejspraudnis, GPIO. LOW) self._ reset_recognise_params () atgriež patieso sevi._ retry_count += 1 izdruka ('Lūdzu, mēģiniet vēlreiz … { } '. format (self._ retry_count)) return False

Domājiet pārpasaulīgi, mēs varam parādīt attēlu, kurš atpazina, bibliotēkas PIL un matplotlib var būt noderīgas, starp tām matplotlib ir jāinstalē manuāli, palaidiet šo komandu savā Raspberry Pi terminālī.

sudo pip3 instalējiet matplotlib

Importējiet tos savā kodā un mainiet, vai bloķēt atbloķēšanas () metodi šādi:

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 ('Door open') plt.pause (3) plt.close () GPIO.output (self._ relay_pin, GPIO. LOW) self._ reset_recognise_params () return true

Tagad, ja seja tiks atpazīta, ekrānā tiks parādīts mapē esošais attēls.

Attēls
Attēls

īsziņa

Dažreiz mēs vēlamies uzzināt, kas ir mūsu istabā, un tagad ir vieta LTE Cat 1 Pi HAT. Pievienojiet tai SIM karti un veiciet tālāk norādītās darbības, lai pārbaudītu, vai tā darbojas vai nē.

1. solis. Iespējojiet UART0 programmā Raspberry Pi

Izmantojiet nano, lai rediģētu config.txt failā /boot

sudo nano /boot/config.txt

pievienojiet apakšā dtoverlay = pi3-disable-bt un atspējojiet hciuart pakalpojumu

sudo systemctl atspējot hciuart

pēc tam izdzēsiet konsoli = serial0, 115200 cmdline.txt failā /boot

sudo nano /boot/cmdline.txt

Kad viss ir izdarīts, jums vajadzētu restartēt Raspberry Pi.

2. solis. Lejupielādējiet piemēru un palaidiet to.

Atveriet savu Raspberry Pi termināli, ierakstiet šīs komandas rindā pa rindai.

cd ~

git klons https://github.com/Seeed-Studio/ublox_lara_r2_pi_hat.git cd cd ublox_lara_r2_pi_hat sudo python setup.py instalēt cd testu sudo python test01.py

Ja savā terminālī redzat šīs izejas, LTE Cat 1 Pi HAT darbojas labi.

Tika konstatēta 40 kontaktu GPIO galvene

CTS0 un RTS0 iespējošana GPIO 16 un 17 rts cts pēc pamošanās… moduļa nosaukums: LARA-R211 RSSI: 3

Tagad mēs zinājām, ka HAT darbojas labi, kā to izmantot SMS sūtīšanai? Pirmā lieta, kas jums jāzina, ir tas, ka Raspberry Pi sazinās ar HAT, izmantojot UART komandas AT nosūtīšanu. Jūs varat nosūtīt AT komandas LTE HAT, palaižot šo kodu python

no ublox_lara_r2 importa *

u = Ublox_lara_r2 () u.initialize () u.reset_power () # Aizvērt atkļūdošanas masāžu u.debug = False u.sendAT ( )

AT komanda SMS nosūtīšanai ir šāda

AT+CMGF = 1

AT+CMGS =

tāpēc šeit ir _send_sms () metode:

def _send_sms (sevi):

ja sevi._ fonons == Nav: atgriešanās Patiesa atbloķētājam sevī._ atpazīt_sejas_nosaukumi (): ja pašam._ ublox.sendAT ('AT+CMGF = 1 / r / n'): drukāt (pašam._ ublox.response), ja pašam. _ublox.sendAT ('AT+CMGS = "{}" / r / n'.format (self._ fonons)): print (self._ ublox.response), ja self._ ublox.sendAT (' {} ienāk telpā. / x1a'.format (atbloķētājs)): print (self._ ublox.response)

PAZIŅOJUMS: LTE Cat 1 Pi HAT bibliotēka, kuras autors ir python2, kas nav ļoti saderīga ar python3. Ja vēlaties to izmantot ar sejas atpazīšanu, lūdzu, lejupielādējiet to no saites šī raksta beigās.

Ieteicams: