- Gerekli Bileşenler
- Solenoid Kilit
- Devre şeması
- ESP32 Kartını Arduino IDE'ye kurun
- Kod Açıklama
- Test etme
Güvenlik, günümüzde ister veri güvenliği ister kendi evinin güvenliği olsun, herkes için en çok endişe kaynağıdır. Teknolojinin gelişmesi ve IoT kullanımının artmasıyla birlikte dijital kapı kilitleri bu günlerde çok yaygın hale geldi. Dijital kilit herhangi bir fiziksel anahtar gerektirmez ancak kapı kilidini kontrol etmek için RFID, parmak izi, Yüz Kimliği, pin, şifreler vb. Kullanır. Geçmişte, bu çeşitli teknolojileri kullanarak birçok dijital kapı kilidi uygulaması geliştirdik. Bu eğitimde ESP32-CAM kullanarak Yüz Kimliği kontrollü Dijital Kapı kilit sistemi oluşturuyoruz.
AI-Thinker ESP32-CAM modülü, çok küçük boyutlu bir OV2640 kamera ve bir mikro SD kart yuvasına sahip düşük maliyetli bir geliştirme kartıdır. Dahili Wi-Fi ve Bluetooth bağlantısına sahip bir ESP32 S yongasına, 2 yüksek performanslı 32-bit LX6 CPU'ya, 7 aşamalı boru hattı mimarisine sahiptir. Daha önce ESP32-CAM'i ayrıntılı olarak açıkladık ve bir Wi-Fi kapı Görüntülü kapı zili oluşturmak için kullandık. Bu sefer bir Röle modülü ve Solenoid Kilidi kullanarak Yüz Tanıma tabanlı Kapı Kilitleme Sistemi oluşturmak için ESP32-CAM'i kullanacağız.
Gerekli Bileşenler
- ESP32 CAM
- FTDI Kurulu
- Röle Modülü
- Solenoid Kilit
- Atlama Telleri
Solenoid Kilit
Bir solenoid kilit, elektronik-mekanik kilitleme mekanizması üzerinde çalışır. Bu tip bir kilit, eğimli bir kesime ve iyi bir montaj braketine sahip bir salgıya sahiptir. Güç uygulandığında, DC sümüklü böcek içeride hareket ettiren ve kapıyı kilitsiz konumda tutan bir manyetik alan oluşturur. Sümüklü böcek, güç kesilene kadar konumunu koruyacaktır. Güç kesildiğinde, sümüklü böcek dışarı çıkar ve kapıyı kilitler. Kilitli durumda herhangi bir güç kullanmaz. Solenoid kilidi sürmek için 12V @ 500mA verebilen bir güç kaynağına ihtiyacınız olacaktır.
Daha önce Arduino tabanlı bir RFID kapı kilidi oluşturmak için bir solenoid kilit kullandık.
Devre şeması
ESP32-CAM Yüz Tanıma Kapı Kilit Sistemi Devre Şeması aşağıda verilmiştir:
Yukarıdaki devre bir FTDI kartı, Röle Modülü ve Solenoid Kilidi ile birleştirilmiştir. FTDI kartı, Solenoid kilidini açmak veya kapatmak için röle modülü kullanılırken bir USB konektörüne sahip olmadığı için kodu ESP32-CAM'e göndermek için kullanılır. FTDI kartının ve Röle modülünün VCC ve GND pinleri ESP32-CAM'in Vcc ve GND pinlerine bağlanır. FTDI kartının TX ve RX'i ESP32'nin RX ve TX'ine bağlanır ve röle modülünün IN pini ESP32-CAM'in IO4'üne bağlanır.
ESP32-CAM |
FTDI Kurulu |
5V |
VCC |
GND |
GND |
UOR |
TX |
UOT |
RX |
ESP32-CAM |
Röle Modülü |
5V |
VCC |
GND |
GND |
IO4 |
İÇİNDE |
Not: Kodu yüklemeden önce, IO0'ı zemine bağlayın. IO0, ESP32'nin yanıp sönme modunda olup olmadığını belirler. GPIO 0, GND'ye bağlandığında, ESP32 yanıp sönme modundadır.
Donanımı devre şemasına göre bağladıktan sonra aşağıdaki gibi görünmelidir:
ESP32 Kartını Arduino IDE'ye kurun
Burada Arduino IDE, ESP32-CAM'i programlamak için kullanılır. Bunun için önce ESP32 eklentisini Arduino IDE'ye kurun.
ESP32 kartını Arduino IDE'nize kurmak için Dosya> Tercihler'e gidin .
Şimdi aşağıdaki bağlantıyı kopyalayın ve aşağıdaki şekilde gösterildiği gibi "Ek Pano Yöneticisi URL'leri" alanına yapıştırın. Ardından, "Tamam" düğmesini tıklayın:
https://dl.espressif.com/dl/package_esp32_index.json
Şimdi Araçlar> Pano> Pano Yöneticisi'ne gidin
Board Manager'da, ESP32'yi arayın ve "ESP32 by Espressif Systems" ı kurun.
Kod Açıklama
ESP32 ile Yüz Tanıma'yı bir önceki yazımızda anlatmıştık; Burada bir solenoid kapı kilidini kontrol etmek için aynı kodu değiştireceğiz. Kodun tamamı dört bölüme ayrılmıştır. Biri, ESP32'nin kapıyı yüz tanımaya göre kilitlediği veya açtığı kamera ve röle modülü için ana koddur ve diğer üç kod ise web sayfası, kamera indeksi ve kamera pimleri içindir. Tam kod bu sayfanın sonunda verilmiştir. Burada kodun bazı önemli kısımlarını açıklıyoruz.
Tüm kütüphane dosyalarını ekleyerek programı başlatın.
#include "esp_camera.h" #include
Sonraki satırda, ESP32 ile kullandığınız kamera modülünün açıklamasını kaldırın. Kodda beş farklı kamera modeli tanımlanmıştır. Bu durumda, AI-THINKER Modelini kullanıyoruz.
// # 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
Bundan sonra, ağ kimlik bilgilerinizi aşağıdaki değişkenlere ekleyin:
const char * ssid = "Wi-Fi Adı"; const char * password = "Wi-Fi şifresi";
Ardından röle modülünün bağlandığı pimi tanımlayın. Biz kullanıyor olacaktır () Geçen Mili belirli bir zaman aralığına içinde kilitlenmesi sonra kapıyı kilitlemek için fonksiyon, işte 5 saniyedir.
#define röle 4 uzun prevMillis = 0; int aralığı = 5000;
İçinde setup () işlevi hata ayıklama amacıyla 115200 bir baud hızı ile seri Monitör başlat. Ardından sonraki satırlarda, röle modülü için pin modunu tanımlayın ve ayrıca röleyi başlangıçta düşük bir konuma ayarlayın.
geçersiz kurulum () {Serial.begin (115200); pinMode (röle, ÇIKIŞ); digitalWrite (röle, DÜŞÜK);
İçerisinde döngü () ile yüz maçları yüzünü kayıtlı olmadığını fonksiyonu, kontrol edildi. Varsa, kapıyı 5 saniye süreyle açın ve 5 saniye sonra kapıyı tekrar kilitleyin.
void döngü () {if (matchFace == true && activeRelay == false) {activeRelay = true; digitalWrite (röle, YÜKSEK); prevMillis = milis (); } if (activeRelay == true && millis () - prevMillis> interval) {activeRelay = false; matchFace = yanlış; digitalWrite (röle, DÜŞÜK); }
Test etme
Son olarak kodu yüklemek için FDTI kartını dizüstü bilgisayarınıza bağlayın ve kartınız olarak 'ESP32 Wrover Modülü'nü seçin. Ayrıca, aşağıdaki resimde gösterildiği gibi diğer ayarları da değiştirin:
Kodu yüklemeden önce IO0 pinini GND'ye bağlamayı unutmayın ve ayrıca ESP32 sıfırlama düğmesine basın ve ardından yükleme düğmesine tıklayın.
Not: Kodu yüklerken hata alırsanız, IO0'ın GND'ye bağlı olduğunu ve Araçlar menüsünde doğru ayarları seçtiğinizi kontrol edin.
Kodu yükledikten sonra, IO0 ve GND pinini çıkarın. Ardından seri monitörü açın ve baud hızını 115200 olarak değiştirin. Bundan sonra, ESP32 sıfırlama düğmesine basın, ESP IP adresini ve bağlantı noktası numarasını yazdıracaktır. seri monitörde.
Şimdi tarayıcıya gidin ve kamera akışına erişmek için Seri monitörden kopyalanan ESP IP adresini girin. Sizi akış sayfasına götürecektir. Video akışını başlatmak için sayfanın altındaki 'Akışı Başlat' düğmesine tıklayın.
Yüzleri ESP32-CAM ile tanımak için önce yüzleri kaydetmeliyiz. Bunun için ayarlardan Yüz tanıma ve algılama özelliklerini açın ve ardından Yüzü Kaydet düğmesine tıklayın. Yüzü kurtarmak birkaç deneme gerektirir. Yüzü kaydettikten sonra, yüzü konu 0 olarak algılar, burada sıfır yüz numarasıdır.
Yüzleri kaydettikten sonra, video beslemesinde bir yüz tanınırsa, ESP32, kapının kilidini açmak için röle modülünü yükseğe çıkaracaktır.
ESP32-CAM, yüz tanıma tabanlı bir güvenlik sistemi oluşturmak için bu şekilde kullanılabilir. Tam Kod bu bağlantıdan indirilebilir ve ayrıca bir tanıtım videosu ile birlikte aşağıda verilmektedir.