- Požadované komponenty
- Elektromagnetický zámek
- Kruhový diagram
- Nainstalujte desku ESP32 na Arduino IDE
- Vysvětlení kódu
- Testování
Zabezpečení je dnes v zásadě pro každého, ať už jde o zabezpečení dat nebo zabezpečení jeho domova. S pokrokem v technologii a rostoucím využíváním IoT se dnes digitální zámky dveří staly velmi běžnými. Digitální zámek nevyžaduje žádný fyzický klíč, ale k ovládání zámku dveří používá RFID, otisky prstů, ID obličeje, PIN, hesla atd. V minulosti jsme vyvinuli mnoho aplikací digitálních dveřních zámků využívajících tyto různé technologie. V tomto tutoriálu jsme vytvořili systém digitálního zámku dveří ovládaný Face ID pomocí ESP32-CAM.
Modul AI-Thinker ESP32-CAM je nízkonákladová vývojová deska s velmi malou kamerou OV2640 a slotem pro kartu micro SD. Má čip ESP32 S s integrovaným připojením Wi-Fi a Bluetooth, 2 vysoce výkonné 32bitové procesory LX6, 7stupňová architektura potrubí. Předtím jsme podrobně vysvětlili ESP32-CAM a použili jsme jej k sestavení dveřního zvonku Wi-Fi Video. Tentokrát použijeme ESP32-CAM k vytvoření dveřního zámku založeného na rozpoznávání tváře pomocí reléového modulu a solenoidového zámku.
Požadované komponenty
- ESP32 CAM
- FTDI Board
- Reléový modul
- Elektromagnetický zámek
- Propojovací dráty
Elektromagnetický zámek
Solenoidový zámek funguje na elektronicko-mechanickém zajišťovacím mechanismu. Tento typ zámku má slimák se šikmým řezem a dobrou montážní konzolu. Když je aplikováno napájení, DC vytváří magnetické pole, které pohybuje slimákem dovnitř a udržuje dveře v odemčené poloze. Slimák si udrží svou polohu, dokud není odstraněna síla. Když je napájení odpojeno, slimák se pohybuje ven a zamkne dveře. V uzamčeném stavu nepoužívá žádnou energii. Chcete-li ovládat elektromagnetický zámek, potřebujete zdroj energie, který může napájet 12V @ 500mA.
Dříve jsme pomocí solenoidového zámku stavěli RFID dveřní zámek založený na Arduinu.
Kruhový diagram
Schéma zapojení systému zámku dveří ESP32-CAM je uvedeno níže:
Výše uvedený obvod je kombinován s deskou FTDI, reléovým modulem a elektromagnetickým zámkem. Deska FTDI se používá k blikání kódu do ESP32-CAM, protože nemá USB konektor, zatímco reléový modul slouží k zapnutí nebo vypnutí solenoidového zámku. Kolíky VCC a GND desky FTDI a modulu relé jsou připojeny k kolíku Vcc a GND ESP32-CAM. TX a RX desky FTDI jsou připojeny k RX a TX ESP32 a pin IN reléového modulu je připojen k IO4 ESP32-CAM.
ESP32-CAM |
FTDI Board |
5V |
VCC |
GND |
GND |
UOR |
TX |
UOT |
RX |
ESP32-CAM |
Reléový modul |
5V |
VCC |
GND |
GND |
IO4 |
V |
Poznámka: Před nahráním kódu připojte IO0 k zemi. IO0 určuje, zda je ESP32 v blikajícím režimu nebo ne. Když je GPIO 0 připojen k GND, ESP32 je v blikajícím režimu.
Po připojení hardwaru podle schématu zapojení by to mělo vypadat nějak takto:
Nainstalujte desku ESP32 na Arduino IDE
Zde se Arduino IDE používá k programování ESP32-CAM. Za tímto účelem nejprve nainstalujte doplněk ESP32 na Arduino IDE.
Chcete-li nainstalovat desku ESP32 do svého Arduino IDE, přejděte na Soubor> Předvolby.
Nyní zkopírujte níže uvedený odkaz a vložte jej do pole „Další adresy URL správce desky“, jak je znázorněno na obrázku níže. Poté klikněte na tlačítko „OK“:
https://dl.espressif.com/dl/package_esp32_index.json
Nyní přejděte do nabídky Nástroje> Deska> Správce desek
V nástroji Board Manager vyhledejte ESP32 a nainstalujte „ESP32 by Espressif Systems“.
Vysvětlení kódu
V předchozím článku jsme vysvětlili rozpoznávání tváře pomocí ESP32; zde upravíme stejný kód pro ovládání zámku solenoidových dveří. Celý kód je rozdělen do čtyř částí. Jedním z nich je hlavní kód pro modul kamery a relé, kde ESP32 zamkne nebo odemkne dveře podle rozpoznávání tváře, a další tři kódy jsou pro webovou stránku, index kamery a kolíky kamery. Celý kód je uveden na konci této stránky. Zde vysvětlujeme některé důležité části kódu.
Začněte program zahrnutím všech souborů knihovny.
#include "esp_camera.h" #include
Na dalším řádku odkomentujte kamerový modul, který používáte s ESP32. V kódu je definováno pět různých modelů kamer. V tomto případě používáme model AI-THINKER.
// # definovat CAMERA_MODEL_WROVER_KIT // # definovat CAMERA_MODEL_ESP_EYE // # definovat CAMERA_MODEL_M5STACK_PSRAM // # definovat CAMERA_MODEL_M5STACK_WIDE # definovat CAMERA_MODEL_AI_THINKER
Poté vložte síťová pověření do následujících proměnných:
const char * ssid = "Název Wi-Fi"; const char * heslo = "heslo Wi-Fi";
Poté definujte kolík, kde je připojen reléový modul. Budeme používat funkci millis () k zamknutí dveří po odemknutí ve stanoveném časovém intervalu, zde je to 5 sekund.
#define relé 4 dlouhé prevMillis = 0; int interval = 5000;
Ve funkci setup () inicializujte Serial Monitor s přenosovou rychlostí 115200 pro účely ladění. Poté v následujících řádcích definujte režim kolíku pro reléový modul a také nejprve nastavte relé do nízké polohy.
void setup () {Serial.begin (115200); pinMode (relé, VÝSTUP); digitalWrite (relé, LOW);
Uvnitř funkce loop () zkontrolujte, zda se tvář shoduje se zaregistrovanou tváří. Pokud ano, pak odemkněte dveře na 5 sekund a po 5 sekundách je znovu zamkněte.
void loop () {if (matchFace == true && activeRelay == false) {activeRelay = true; digitalWrite (relé, HIGH); prevMillis = millis (); } if (activeRelay == true && millis () - prevMillis> interval) {activeRelay = false; matchFace = false; digitalWrite (relé, LOW); }
Testování
Nakonec kód nahrajte, připojte desku FDTI k notebooku a jako desku vyberte modul ESP32 Wrover. Změňte také další nastavení, jak je znázorněno na následujícím obrázku:
Nezapomeňte před nahráním kódu připojit pin IO0 na GND a také stiskněte resetovací tlačítko ESP32 a poté klikněte na tlačítko nahrávání.
Poznámka: Pokud se vám při nahrávání kódu vyskytnou chyby, zkontrolujte, zda je IO0 připojen k GND, a vybrali jste správná nastavení v nabídce Nástroje.
Po nahrání kódu odstraňte pin IO0 a GND. Poté otevřete sériový monitor a změňte přenosovou rychlost na 115200. Poté stiskněte resetovací tlačítko ESP32, vytiskne se IP adresa ESP a číslo portu. na sériovém monitoru.
Nyní přejděte do prohlížeče a zadejte adresu IP ESP, která je zkopírována ze sériového monitoru, abyste získali přístup ke streamování kamery. Dostanete se na streamovací stránku. Chcete-li zahájit streamování videa, klikněte na tlačítko „Spustit stream“ ve spodní části stránky.
Abychom rozpoznali tváře pomocí ESP32-CAM, musíme nejprve zaregistrovat tváře. Za tímto účelem zapněte v nastavení funkce rozpoznávání a detekce obličeje a poté klikněte na tlačítko Zaregistrovat obličej. Zachránit obličej trvá několik pokusů. Po uložení obličeje detekuje obličej jako předmět 0, kde nula je číslo obličeje.
Po zaregistrování tváří, pokud je ve video kanálu rozpoznána tvář, ESP32 nastaví reléový modul vysoko, aby odemkl dveře.
Takto lze ESP32-CAM použít k vytvoření bezpečnostního systému založeného na rozpoznávání tváře. Kompletní kód lze stáhnout z tohoto odkazu a je uveden také níže spolu s ukázkovým videem.