- Potrebne komponente
- Elektromagnetna ključavnica
- Shema vezja
- Namestite ploščo ESP32 na Arduino IDE
- Razlaga kode
- Testiranje
Danes je varnost najbolj zaskrbljujoča danes, ne glede na to, ali gre za varnost podatkov ali za lasten dom. Z napredkom tehnologije in čedalje večjo uporabo interneta stvari so postale digitalne ključavnice danes zelo pogoste. Za digitalno ključavnico ni potreben noben fizični ključ, vendar za nadzor ključavnice uporablja RFID, prstni odtis, ID obraza, zatič, gesla itd. V preteklosti smo z uporabo teh različnih tehnologij razvili številne aplikacije za digitalne zaklepanje vrat. V tej vadnici z ESP32-CAM zgradimo sistem za zaklepanje vrat, ki ga nadzoruje Face ID.
Modul AI-Thinker ESP32-CAM je poceni razvojna plošča z zelo majhno kamero OV2640 in režo za kartico micro SD. Ima čip ESP32 S z vgrajeno povezavo Wi-Fi in Bluetooth, z 2 visokozmogljivima 32-bitnima procesorjema LX6, 7-stopenjsko cevovodno arhitekturo. Pred tem smo podrobno razložili ESP32-CAM in ga uporabili za izdelavo zvona za vrata Wi-Fi Video. Tokrat bomo z ESP32-CAM izdelali sistem zaklepanja vrat, ki temelji na prepoznavanju obraza, z uporabo modula releja in magnetne ključavnice.
Potrebne komponente
- ESP32 CAM
- Odbor FTDI
- Relejni modul
- Elektromagnetna ključavnica
- Jumper žice
Elektromagnetna ključavnica
Na elektronsko-mehanskem mehanizmu za zaklepanje deluje magnetna ključavnica. Ta vrsta ključavnice ima polž s poševnim rezom in dober pritrdilni nosilec. Ko se napaja, DC ustvari magnetno polje, ki premakne polž v notranjost in zadrži vrata v odklenjenem položaju. Polž bo obdržal svoj položaj, dokler se napajanje ne odstrani. Ko je napajanje izključeno, se polž premakne ven in zaklene vrata. V zaklenjenem stanju ne porablja energije. Za pogon elektromagnetne ključavnice potrebujete vir energije, ki lahko oddaja 12V @ 500mA.
Pred tem smo uporabili magnetno ključavnico za izdelavo RFID ključavnice na osnovi Arduino.
Shema vezja
Shema vezja za sistem zaklepanja vrat ESP32-CAM je prepoznana spodaj:
Zgornje vezje v kombinaciji s ploščo FTDI, relejskim modulom in magnetno ključavnico. Plošča FTDI se uporablja za utripanje kode v ESP32-CAM, saj nima priključka USB, medtem ko se relejni modul uporablja za vklop ali izklop elektromagnetne ključavnice. Zatiči VCC in GND plošče FTDI in relejskega modula so povezani z zatičem Vcc in GND ESP32-CAM. TX in RX plošče FTDI sta priključena na RX in TX ESP32, vtič IN v relejnem modulu pa v IO4 ESP32-CAM.
ESP32-CAM |
Odbor FTDI |
5V |
VCC |
GND |
GND |
UOR |
TX |
UOT |
RX |
ESP32-CAM |
Relejni modul |
5V |
VCC |
GND |
GND |
IO4 |
IN |
Opomba: Pred nalaganjem kode priključite IO0 na zemljo. IO0 določa, ali je ESP32 utripajoč ali ne. Ko je GPIO 0 povezan z GND, je ESP32 v utripajočem načinu.
Po priključitvi strojne opreme v skladu z vezjem mora biti videti nekako takole spodaj:
Namestite ploščo ESP32 na Arduino IDE
Tu se Arduino IDE uporablja za programiranje ESP32-CAM. Za to najprej namestite dodatek ESP32 na Arduino IDE.
Če želite namestiti ploščo ESP32 v svoj Arduino IDE, pojdite na Datoteka> Nastavitve.
Zdaj kopirajte spodnjo povezavo in jo prilepite v polje »Dodatni URL-ji upravitelja plošče«, kot je prikazano na spodnji sliki. Nato kliknite gumb »V redu«:
https://dl.espressif.com/dl/package_esp32_index.json
Zdaj pojdite na Orodja> Plošča> Upravitelj plošč
V Board Managerju poiščite ESP32 in namestite »ESP32 by Espressif Systems«.
Razlaga kode
V prejšnjem članku smo razložili prepoznavanje obrazov z ESP32; tu bomo isto kodo spremenili za nadzor elektromagnetne ključavnice vrat. Popolna koda je razdeljena na štiri dele. Ena je glavna koda modula kamere in releja, kjer ESP32 zaklene ali odklene vrata glede na prepoznavanje obrazov, druge tri kode pa so za spletno stran, indeks kamere in zatiči kamere. Popolna koda je podana na koncu te strani. Tukaj razlagamo nekatere pomembne dele kode.
Zaženite program tako, da vključite vse knjižnične datoteke.
#include "esp_camera.h" #include
V naslednji vrstici razkomentirajte modul kamere, ki ga uporabljate z ESP32. V kodi je opredeljenih pet različnih modelov kamer. V tem primeru uporabljamo model AI-THINKER.
// # 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
Po tem vstavite svoje poverilnice omrežja v naslednje spremenljivke:
const char * ssid = "Ime Wi-Fi"; const char * password = "geslo za Wi-Fi";
Nato določite zatič, na katerega je priključen relejni modul. Funkcijo milis () bomo uporabili za zaklepanje vrat po odklepanju v določenem časovnem intervalu, tukaj je 5 sekund.
#define relay 4 long prevMillis = 0; int interval = 5000;
V funkciji setup () inicializirajte serijski monitor s hitrostjo prenosa 115200 za namene odpravljanja napak. Nato v naslednjih vrsticah določite način zatiča za relejni modul in tudi rele najprej nastavite v nizek položaj.
void setup () {Serial.begin (115200); pinMode (rele, IZHOD); digitalWrite (rele, LOW);
Znotraj funkcije zanke () preverite, ali se obraz ujema z vpisanim obrazom. Če je odgovor pritrdilen, za 5 sekund odklenite vrata in po 5 sekundah vrata ponovno zaklenite.
void loop () {if (matchFace == true && activeRelay == false) {activeRelay = true; digitalWrite (rele, VISOKO); prevMillis = milis (); } if (activeRelay == true && millis () - prevMillis> interval) {activeRelay = false; matchFace = false; digitalWrite (rele, LOW); }
Testiranje
Na koncu naložite kodo, priključite ploščo FDTI na prenosni računalnik in za svojo ploščo izberite 'ESP32 Wrover Module'. Spremenite tudi druge nastavitve, kot je prikazano na spodnji sliki:
Pred nalaganjem kode ne pozabite priključiti zatiča IO0 na GND, pritisnite gumb za ponastavitev ESP32 in nato kliknite gumb za nalaganje.
Opomba: Če se med nalaganjem kode pojavijo napake, preverite, ali je IO0 povezan z GND, in v meniju Orodja ste izbrali prave nastavitve.
Po nalaganju kode odstranite zatiča IO0 in GND. Nato odprite serijski monitor in spremenite hitrost prenosa na 115200. Po tem pritisnite gumb za ponastavitev ESP32, izpisal se bo naslov IP ESP in vrata št. na serijskem monitorju.
Zdaj se pomaknite do brskalnika in vnesite naslov ESP IP, ki je kopiran s serijskega monitorja za dostop do pretakanja kamere. Odprlo vas bo stran za pretakanje. Če želite začeti pretakanje video posnetkov, kliknite gumb »Začni pretakanje« na dnu strani.
Za prepoznavanje obrazov z ESP32-CAM moramo najprej vpisati obraze. Za to v nastavitvah vklopite funkcije za prepoznavanje in zaznavanje obrazov in kliknite gumb Vpiši obraz. Potrebno je več poskusov, da se obraz reši. Ko shrani obraz, zazna obraz kot subjekt 0, kjer je nič številka obraza.
Po vpisu obrazov, če je obraz prepoznan v video viru, bo ESP32 modul releja dvignil visoko, da odklene vrata.
Tako lahko ESP32-CAM uporabimo za izdelavo varnostnega sistema, ki temelji na prepoznavanju obrazov. Popolno kodo lahko prenesete s te povezave in je spodaj navedena skupaj s predstavitvenim videoposnetkom.