- Nepieciešamās sastāvdaļas
- Solenoīda slēdzene
- Ķēdes shēma
- Arduino IDE instalējiet ESP32 Board
- Kods Paskaidrojums
- Testēšana
Drošība mūsdienās visvairāk rūp ikvienam, neatkarīgi no tā, vai tā ir datu drošība vai viņu pašu mājas drošība. Ar tehnoloģiju attīstību un arvien lielāku IoT izmantošanu digitālās durvju slēdzenes mūsdienās ir kļuvušas ļoti izplatītas. Digitālajai bloķēšanai nav nepieciešama fiziska atslēga, taču durvju bloķēšanas kontrolei tā izmanto RFID, pirkstu nospiedumus, sejas ID, tapu, paroles utt. Iepriekš mēs esam izstrādājuši daudzas digitālo durvju slēdzeņu lietojumprogrammas, izmantojot šīs dažādās tehnoloģijas. Šajā apmācībā mēs izveidojam sejas ID kontrolētu digitālo durvju bloķēšanas sistēmu, izmantojot ESP32-CAM.
AI-Thinker ESP32-CAM modulis ir lēts izstrādes panelis ar ļoti maza izmēra OV2640 kameru un micro SD kartes slotu. Tam ir ESP32 S mikroshēma ar iebūvētu Wi-Fi un Bluetooth savienojumu, ar 2 augstas veiktspējas 32 bitu LX6 procesoriem, 7 pakāpju cauruļvadu arhitektūru. Iepriekš mēs esam detalizēti izskaidrojuši ESP32-CAM un izmantojuši to, lai izveidotu Wi-Fi durvju video durvju zvanu. Šoreiz mēs izmantosim ESP32-CAM, lai izveidotu uz sejas atpazīšanas balstītu durvju bloķēšanas sistēmu, izmantojot releja moduli un solenoīda slēdzeni.
Nepieciešamās sastāvdaļas
- ESP32 CAM
- FTDI valde
- Releja modulis
- Solenoīda slēdzene
- Džemperu vadi
Solenoīda slēdzene
Elektromagnētiskā slēdzene darbojas uz elektroniski mehāniskās bloķēšanas mehānisma. Šāda veida slēdzenēm ir izliekts slīps griezums un laba stiprinājuma kronšteins. Pēc strāvas padeves DC rada magnētisko lauku, kas pārvieto slogu iekšpusē un tur durvis neaizslēgtā stāvoklī. Gliemezis saglabās savu pozīciju līdz strāvas padeves pārtraukšanai. Kad barošana tiek atvienota, lode pārvietojas ārā un aizslēdz durvis. Bloķētā stāvoklī tas neizmanto nekādu strāvu. Lai vadītu elektromagnētisko slēdzeni, jums būs nepieciešams strāvas avots, kas var dot 12 V @ 500 mA.
Iepriekš mēs izmantojām elektromagnētisko slēdzeni, lai izveidotu Arduino bāzes RFID durvju slēdzeni.
Ķēdes shēma
ESP32-CAM sejas atpazīšanas durvju bloķēšanas sistēmas shēmas shēma ir sniegta zemāk:
Iepriekš minētā shēma apvienota ar FTDI plāksni, releja moduli un solenoīda bloķētāju. FTDI dēlis tiek izmantots koda ievadīšanai ESP32-CAM, jo tam nav USB savienotāja, savukārt releja moduli izmanto, lai ieslēgtu vai izslēgtu solenoīda slēdzeni. FTDI plātnes un releja moduļa VCC un GND tapas ir savienotas ar ESP32-CAM Vcc un GND tapām. FTDI plates TX un RX ir savienoti ar ESP32 RX un TX, un releja moduļa IN tapa ir savienota ar ESP32-CAM IO4.
ESP32-CAM |
FTDI valde |
5V |
VCC |
GND |
GND |
UOR |
TX |
UOT |
RX |
ESP32-CAM |
Releja modulis |
5V |
VCC |
GND |
GND |
IO4 |
IN |
Piezīme. Pirms koda augšupielādes pievienojiet IO0 zemei. IO0 nosaka, vai ESP32 ir mirgojošā režīmā. Kad GPIO 0 ir pievienots GND, ESP32 mirgo režīmā.
Pēc aparatūras pievienošanas saskaņā ar shēmu tai vajadzētu izskatīties šādi:
Arduino IDE instalējiet ESP32 Board
Šeit Arduino IDE tiek izmantots, lai programmētu ESP32-CAM. Lai to izdarītu, vispirms instalējiet ESP32 pievienojumprogrammu Arduino IDE.
Lai instalētu ESP32 dēli savā Arduino IDE, dodieties uz Fails> Preferences.
Tagad nokopējiet zemāk esošo saiti un ielīmējiet to laukā “Papildu valdes pārvaldnieka vietrāži URL”, kā parādīts attēlā. Pēc tam noklikšķiniet uz pogas Labi:
https://dl.espressif.com/dl/package_esp32_index.json
Tagad dodieties uz Rīki> Dēlis> Dēļu pārvaldnieks
Valdes pārvaldniekā meklējiet ESP32 un instalējiet “ESP32 by Espressif Systems”.
Kods Paskaidrojums
Sejas atpazīšanu ar ESP32 izskaidrojām iepriekšējā rakstā; šeit mēs modificēsim to pašu kodu, lai kontrolētu elektromagnētisko durvju slēdzeni. Pilns kods ir sadalīts četrās daļās. Viens ir galvenais kameras un releja moduļa kods, kur ESP32 bloķē vai atbloķē durvis atbilstoši sejas atpazīšanai, bet pārējie trīs kodi ir paredzēti tīmekļa lapai, kameras rādītājam un kameras tapām. Pilns kods ir norādīts šīs lapas beigās. Šeit mēs izskaidrojam dažas svarīgas koda daļas.
Sāciet programmu, iekļaujot visus bibliotēkas failus.
#include "esp_camera.h" #include
Nākamajā rindiņā noņemiet komentāru no kameras moduļa, kuru izmantojat ar ESP32. Kodā ir noteikti pieci dažādi kameru modeļi. Šajā gadījumā mēs izmantojam AI-THINKER modeli.
// # define CAMERA_MODEL_WROVER_KIT // # define CAMERA_MODEL_ESP_EYE // # define CAMERA_MODEL_M5STACK_PSRAM // # define CAMERA_MODEL_M5STACK_WIDE #define CAMERA_MODEL_AI_THINKER
Pēc tam ievietojiet tīkla akreditācijas datus šādos mainīgos:
const char * ssid = "Wi-Fi nosaukums"; const char * password = "Wi-Fi parole";
Pēc tam definējiet tapu vietā, kur ir pievienots releja modulis. Pēc durvju atbloķēšanas noteiktā laika intervālā durtiņu bloķēšanai izmantosim funkciju milis () , šeit tās ir 5 sekundes.
#define relejs 4 garš prevMillis = 0; int intervāls = 5000;
Jo uzstādīšana () funkciju, inicializēt Sērijas Monitor ar bodu likmi 115200 atkļūdošanas vajadzībām. Tad nākamajās rindās definējiet releja moduļa tapu režīmu un sākotnēji arī iestatiet releju zemā stāvoklī.
void setup () {Serial.begin (115200); pinMode (relejs, OUTPUT); digitalWrite (relejs, LOW);
Funkcijas loop () iekšpusē pārbaudiet, vai seja sakrīt ar reģistrēto seju. Ja jā, tad 5 sekundes atbloķējiet durvis un pēc 5 sekundēm durvis atkal nofiksējiet.
void loop () {if (matchFace == true && activeRelay == false) {activeRelay = true; digitalWrite (relejs, AUGSTS); prevMillis = milis (); } if (activeRelay == true && millis () - prevMillis> intervāls) {activeRelay = false; matchFace = nepatiesa; digitalWrite (relejs, LOW); }
Testēšana
Visbeidzot, lai augšupielādētu kodu, pievienojiet FDTI plāksni savam klēpjdatoram un kā savu dēli izvēlieties 'ESP32 Wrover Module'. Mainiet arī citus iestatījumus, kā parādīts zemāk esošajā attēlā:
Pirms koda augšupielādes neaizmirstiet savienot IO0 tapu ar GND, kā arī nospiediet ESP32 atiestatīšanas pogu un pēc tam noklikšķiniet uz augšupielādes pogas.
Piezīme. Ja, augšupielādējot kodu, rodas kļūdas, pārbaudiet, vai IO0 ir savienots ar GND, un izvēlnē Rīki atlasījāt pareizos iestatījumus.
Pēc koda augšupielādes noņemiet IO0 un GND tapas. Pēc tam atveriet seriālo monitoru un mainiet datu pārraides ātrumu uz 115200. Pēc tam nospiediet ESP32 atiestatīšanas pogu, tas izdrukās ESP IP adresi un porta nr. sērijveida monitorā.
Tagad dodieties uz pārlūkprogrammu un ievadiet ESP IP adresi, kas tiek kopēta no sērijas monitora, lai piekļūtu kameras straumēšanai. Tas novirzīs jūs uz straumēšanas lapu. Lai sāktu video straumēšanu, lapas apakšdaļā noklikšķiniet uz pogas Sākt straumi.
Lai atpazītu sejas ar ESP32-CAM, vispirms ir jāreģistrē sejas. Lai to izdarītu, iestatījumos ieslēdziet sejas atpazīšanas un noteikšanas funkcijas un pēc tam noklikšķiniet uz pogas Reģistrēt seju. Sejas glābšana prasa vairākus mēģinājumus. Pēc sejas saglabāšanas tas nosaka seju kā objektu 0, kur nulle ir sejas numurs.
Pēc seju reģistrēšanas, ja video plūsmā tiek atpazīta seja, ESP32 padarīs releja moduli augstu, lai atbloķētu durvis.
Tādējādi ESP32-CAM var izmantot, lai izveidotu uz sejas atpazīšanas balstītu drošības sistēmu. Pilnīgu kodu var lejupielādēt no šīs saites, un tas ir norādīts zemāk kopā ar demonstrācijas video.