Satura rādītājs:
- 1. darbība. Šajā projektā izmantotās lietas
- 2. darbība. Aparatūras savienojums
- 3. solis: programmatūras programmēšana
- 4. darbība. Gatavs
Video: Sejas atpazīšanas viedā bloķēšana ar LTE Pi HAT: 4 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
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
Š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ā.
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.
ī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:
Abellcadabra (sejas atpazīšanas durvju bloķēšanas sistēma): 9 soļi
Abellkadabra (sejas atpazīšanas durvju slēdzenes sistēma): Karantīnas laikā klājoties, es mēģināju atrast veidu, kā nogalināt laiku, izveidojot sejas atpazīšanu mājas durvīm. Es to nosaucu par Abellkadabru - kas ir kombinācija starp Abrakadabru, burvju frāze ar durvju zvanu, kuru es ņemu tikai pie zvana. LOL
Sejas atpazīšanas spogulis ar slepeno nodalījumu: 15 soļi (ar attēliem)
Sejas atpazīšanas spogulis ar slepeno nodalījumu: Mani vienmēr ir interesējuši aizvien radošie slepenie nodalījumi, ko izmanto stāstos, filmās un tamlīdzīgi. Tātad, redzot slepeno nodalījumu konkursu, es nolēmu pats eksperimentēt ar šo ideju un izveidot parastu spoguli, kas atver s
Sejas atpazīšanas durvju slēdzene: 8 soļi
Sejas atpazīšanas durvju slēdzene: apmēram mēnesi gatavoju, es iepazīstinu ar sejas atpazīšanas durvju slēdzeni! Es centos, lai tas izskatītos pēc iespējas glītāk, bet es varu darīt tik daudz kā 13 gadus vecs. Šo sejas atpazīšanas durvju slēdzeni vada Raspberry Pi 4 ar īpašu pārnēsājamu siksnu
Sejas atpazīšana un identifikācija - Arduino sejas ID, izmantojot OpenCV Python un Arduino .: 6 soļi
Sejas atpazīšana un identifikācija | Arduino sejas ID, izmantojot OpenCV Python un Arduino .: Sejas atpazīšana AKA sejas ID ir viena no svarīgākajām mūsdienu mobilo tālruņu funkcijām. Tātad, man radās jautājums " vai man var būt sejas ID savam Arduino projektam " un atbilde ir jā … Mans ceļojums sākās šādi: 1. solis: piekļuve mums
Sejas atpazīšanas drošības sistēma ledusskapim ar Raspberry Pi: 7 soļi (ar attēliem)
Sejas atpazīšanas drošības sistēma ledusskapim ar Raspberry Pi: Pārlūkojot internetu, esmu atklājis, ka drošības sistēmu cenas svārstās no 150 USD līdz 600 USD un vairāk, taču ne visus risinājumus (pat ļoti dārgos) var integrēt ar citiem gudri rīki jūsu mājās! Piemēram, jūs nevarat iestatīt