- Komponen Diperlukan
- Kunci Solenoid
- Rajah Litar
- Pasang Papan ESP32 di Arduino IDE
- Penjelasan Kod
- Menguji
Keselamatan paling menjadi perhatian orang sekarang ini, sama ada keselamatan data atau keselamatan rumah mereka sendiri. Dengan kemajuan teknologi dan penggunaan IoT yang semakin meningkat, kunci pintu digital menjadi perkara biasa hari ini. Kunci digital tidak memerlukan kunci fizikal tetapi menggunakan RFID, cap jari, ID Wajah, pin, kata laluan, dan lain-lain untuk mengawal kunci pintu. Pada masa lalu, kami telah mengembangkan banyak aplikasi kunci pintu digital menggunakan pelbagai teknologi ini. Dalam tutorial ini kami membina sistem kunci Pintu Digital yang dikendalikan Face ID menggunakan ESP32-CAM.
Modul AI-Thinker ESP32-CAM adalah papan pengembangan kos rendah dengan kamera OV2640 bersaiz sangat kecil dan slot kad SD mikro. Ia mempunyai cip ESP32 S dengan sambungan Wi-Fi dan Bluetooth terbina dalam, dengan 2 CPU LX6 32-bit berprestasi tinggi, seni bina saluran 7 peringkat. Kami sebelum ini telah menerangkan ESP32-CAM secara terperinci dan menggunakannya untuk membina bel pintu Video Wi-Fi. Kali ini kita akan menggunakan ESP32-CAM untuk membina Sistem Kunci Pintu berasaskan Pengecaman Muka menggunakan modul Relay dan Solenoid Lock.
Komponen Diperlukan
- ESP32 CAM
- Lembaga FTDI
- Modul Relay
- Kunci Solenoid
- Wayar Pelompat
Kunci Solenoid
Kunci solenoid berfungsi pada mekanisme penguncian mekanikal elektronik. Kunci jenis ini mempunyai slug dengan potongan miring dan pendakap pemasangan yang baik. Apabila daya digunakan, DC membuat medan magnet yang menggerakkan slug ke dalam dan memastikan pintu berada dalam kedudukan tidak terkunci. Slug akan mengekalkan kedudukannya sehingga kuasa dikeluarkan. Apabila kuasa terputus, slug bergerak ke luar dan mengunci pintu. Ia tidak menggunakan kuasa dalam keadaan terkunci. Untuk menggerakkan kunci solenoid, anda memerlukan sumber kuasa yang dapat memberikan 12V @ 500mA.
Kami sebelum ini menggunakan kunci solenoid untuk membina kunci pintu RFID berasaskan Arduino.
Rajah Litar
Diagram Litar untuk Sistem Kunci Pintu Pengecaman Muka ESP32-CAM diberikan di bawah:
Litar di atas digabungkan dengan papan FTDI, Relay Module, dan Solenoid Lock. Papan FTDI digunakan untuk memasukkan kod ke dalam ESP32-CAM kerana tidak mempunyai penyambung USB sementara modul geganti digunakan untuk menghidupkan atau mematikan kunci Solenoid. Pin VCC dan GND dari papan FTDI dan modul Relay disambungkan ke pin Vcc dan GND ESP32-CAM. TX dan RX papan FTDI disambungkan ke RX dan TX ESP32 dan pin IN modul relay disambungkan ke IO4 ESP32-CAM.
ESP32-CAM |
Lembaga FTDI |
5V |
VCC |
GND |
GND |
UOR |
TX |
UOT |
RX |
ESP32-CAM |
Modul Relay |
5V |
VCC |
GND |
GND |
IO4 |
DALAM |
Catatan: Sebelum memuat naik kod, sambungkan IO0 ke tanah. IO0 menentukan sama ada ESP32 dalam mod berkelip atau tidak. Apabila GPIO 0 disambungkan ke GND, ESP32 berada dalam mod berkelip.
Setelah menyambungkan perkakasan mengikut gambarajah litar, ia akan kelihatan seperti di bawah:
Pasang Papan ESP32 di Arduino IDE
Di sini Arduino IDE digunakan untuk memprogram ESP32-CAM. Untuk itu, pertama, pasang add-on ESP32 pada Arduino IDE.
Untuk memasang papan ESP32 di Arduino IDE anda, pergi ke Fail> Keutamaan.
Sekarang salin pautan di bawah dan tampal ke medan "URL Pengurus Papan Tambahan" seperti yang ditunjukkan pada gambar di bawah. Kemudian, klik butang "OK":
https://dl.espressif.com/dl/package_esp32_index.json
Sekarang pergi ke Tools> Board> Boards Manager
Di Pengurus Papan, cari ESP32 dan pasang "ESP32 by Espressif Systems".
Penjelasan Kod
Kami menjelaskan Pengecaman Wajah dengan ESP32 dalam artikel sebelumnya; di sini kita akan mengubah kod yang sama untuk mengawal kunci pintu solenoid. Kod lengkap terbahagi kepada empat bahagian. Salah satunya adalah kod utama untuk modul kamera dan geganti di mana ESP32 mengunci atau membuka kunci pintu mengikut pengecaman wajah, dan tiga kod lain adalah untuk halaman web, indeks kamera, dan pin kamera. Kod lengkap diberikan di hujung halaman ini. Di sini kami menerangkan beberapa bahagian penting kod.
Mulakan program dengan memasukkan semua fail perpustakaan.
#sertakan "esp_camera.h" #sertakan
Pada baris seterusnya, lepaskan modul kamera yang anda gunakan dengan ESP32. Dalam kod, lima model kamera yang berbeza ditentukan. Dalam kes ini, kami menggunakan Model AI-THINKER.
// # define CAMERA_MODEL_WROVER_KIT // #efinisikan CAMERA_MODEL_ESP_EYE // # define CAMERA_MODEL_M5STACK_PSRAM // #efinisikan CAMERA_MODEL_M5STACK_WIDE #tentukan CAMERA_MODEL_AI_THINKER
Selepas itu, masukkan kelayakan rangkaian anda dalam pemboleh ubah berikut:
const char * ssid = "Nama Wi-Fi"; const char * password = "kata laluan Wi-Fi";
Kemudian tentukan pin di mana modul geganti disambungkan. Kami akan menggunakan fungsi millis () untuk mengunci pintu setelah membukanya dalam selang waktu yang ditentukan, ini 5 saat.
#define relay 4 long prevMillis = 0; selang int = 5000;
Dalam fungsi setup () , mulakan Monitor Serial pada kadar baud 115200 untuk tujuan penyahpepijatan. Kemudian pada baris seterusnya, tentukan mod pin untuk modul relay dan juga tetapkan relay pada kedudukan rendah pada mulanya.
persediaan tidak sah () {Serial.begin (115200); pinMode (relay, OUTPUT); digitalWrite (geganti, RENDAH);
Di dalam fungsi loop () , periksa apakah wajah sesuai dengan wajah yang didaftarkan. Sekiranya ya, buka kunci pintu selama 5 saat dan selepas 5 saat kunci pintu sekali lagi.
gelung void () {if (matchFace == true && activeRelay == false) {activeRelay = true; digitalWrite (relay, TINGGI); prevMillis = millis (); } if (activeRelay == true && millis () - prevMillis> selang) {activeRelay = false; matchFace = palsu; digitalWrite (geganti, RENDAH); }
Menguji
Akhirnya untuk memuat naik kod, sambungkan papan FDTI ke komputer riba anda, dan pilih 'ESP32 Wrover Module' sebagai papan anda. Juga, ubah tetapan lain seperti yang ditunjukkan dalam gambar di bawah:
Jangan lupa sambungkan pin IO0 ke GND sebelum memuat naik kod dan tekan juga butang reset ESP32 dan kemudian klik pada butang muat naik.
Catatan: Sekiranya anda mendapat kesalahan semasa memuat naik kod, periksa apakah IO0 disambungkan ke GND, dan anda memilih tetapan yang tepat di menu Alat.
Setelah memuat naik kod, keluarkan pin IO0 dan GND. Kemudian buka monitor bersiri dan ubah kadar baud ke 115200. Setelah itu, tekan butang reset ESP32, ia akan mencetak alamat IP ESP dan no port. pada monitor bersiri.
Sekarang arahkan ke penyemak imbas dan masukkan alamat IP ESP yang disalin dari monitor Serial untuk mengakses streaming kamera. Ini akan membawa anda ke halaman streaming. Untuk memulakan streaming video, klik pada butang 'Start Stream' di bahagian bawah halaman.
Untuk mengenali wajah dengan ESP32-CAM, pertama, kita harus mendaftarkan wajah. Untuk itu, hidupkan ciri pengecaman dan pengesanan Wajah dari tetapan dan kemudian klik pada butang Daftarkan Wajah. Ia memerlukan beberapa usaha untuk menyelamatkan wajah. Setelah menyelamatkan wajah, ia mengesan wajah sebagai subjek 0 di mana sifar adalah nombor muka.
Setelah mendaftarkan wajah, jika wajah dikenali dalam suapan video, ESP32 akan menjadikan modul geganti tinggi untuk membuka kunci pintu.
Jadi ini adalah bagaimana ESP32-CAM dapat digunakan untuk membina sistem keselamatan berasaskan pengenalan wajah. Kod Lengkap boleh dimuat turun dari pautan ini dan juga diberikan di bawah bersama dengan video demonstrasi.