- Thành phần bắt buộc
- Khóa điện từ
- Sơ đồ mạch
- Cài đặt Bảng ESP32 trên Arduino IDE
- Giải thích mã
- Kiểm tra
Bảo mật là mối quan tâm nhất đối với bất kỳ ai hiện nay, cho dù đó là bảo mật dữ liệu hay bảo mật cho chính ngôi nhà của họ. Với sự tiến bộ của công nghệ và việc sử dụng IoT ngày càng tăng, khóa cửa kỹ thuật số đã trở nên rất phổ biến ngày nay. Khóa kỹ thuật số không yêu cầu bất kỳ chìa khóa vật lý nào nhưng nó sử dụng RFID, vân tay, Face ID, mã pin, mật khẩu, v.v. để điều khiển khóa cửa. Trong quá khứ, chúng tôi đã phát triển nhiều ứng dụng khóa cửa kỹ thuật số sử dụng các công nghệ khác nhau. Trong hướng dẫn này, chúng tôi xây dựng hệ thống khóa Cửa kỹ thuật số được điều khiển bằng Face ID bằng cách sử dụng ESP32-CAM.
Mô-đun AI-Thinker ESP32-CAM là một bo mạch phát triển chi phí thấp với một máy ảnh OV2640 kích thước rất nhỏ và một khe cắm thẻ nhớ micro SD. Máy sở hữu chip ESP32 S tích hợp kết nối Wi-Fi và Bluetooth, với 2 CPU LX6 32-bit hiệu năng cao, kiến trúc đường ống 7 tầng. Trước đây chúng tôi đã giải thích chi tiết về ESP32-CAM và sử dụng nó để tạo chuông cửa Video Wi-Fi. Lần này, chúng tôi sẽ sử dụng ESP32-CAM để xây dựng Hệ thống khóa cửa dựa trên Nhận dạng khuôn mặt bằng cách sử dụng mô-đun Chuyển tiếp và Khóa điện từ.
Thành phần bắt buộc
- ESP32 CAM
- Ban FTDI
- Mô-đun chuyển tiếp
- Khóa điện từ
- Dây nhảy
Khóa điện từ
Khóa điện từ hoạt động trên cơ chế khóa cơ điện tử. Loại khóa này có sên được cắt xéo và giá đỡ tốt. Khi nguồn điện được cấp vào, DC sẽ tạo ra một từ trường di chuyển dây sên vào bên trong và giữ cửa ở vị trí không khóa. Con sên sẽ giữ nguyên vị trí của nó cho đến khi rút điện. Khi mất điện, con sên di chuyển ra ngoài và khóa cửa. Nó không sử dụng bất kỳ nguồn điện nào ở trạng thái bị khóa. Để điều khiển khóa điện từ, bạn sẽ cần nguồn điện có thể cung cấp 12V @ 500mA.
Trước đây chúng tôi đã sử dụng khóa điện từ để xây dựng khóa cửa RFID dựa trên Arduino.
Sơ đồ mạch
Sơ đồ mạch cho Hệ thống khóa cửa nhận dạng khuôn mặt ESP32-CAM được đưa ra dưới đây:
Mạch ở trên kết hợp với bảng FTDI, Mô-đun chuyển tiếp và Khóa điện từ. Bo mạch FTDI được sử dụng để flash mã vào ESP32-CAM vì nó không có đầu nối USB trong khi mô-đun chuyển tiếp được sử dụng để bật hoặc tắt khóa Solenoid. Các chân VCC và GND của bảng FTDI và mô-đun Relay được kết nối với chân Vcc và GND của ESP32-CAM. TX và RX của bảng FTDI được kết nối với RX và TX của ESP32 và chân IN của mô-đun chuyển tiếp được kết nối với IO4 của ESP32-CAM.
ESP32-CAM |
Ban FTDI |
5V |
VCC |
GND |
GND |
UOR |
TX |
KHÔNG ĐƯỢC |
RX |
ESP32-CAM |
Mô-đun chuyển tiếp |
5V |
VCC |
GND |
GND |
IO4 |
TRONG |
Lưu ý: Trước khi tải mã lên, hãy kết nối IO0 với mặt đất. IO0 xác định xem ESP32 có ở chế độ nhấp nháy hay không. Khi GPIO 0 được kết nối với GND, ESP32 ở chế độ nhấp nháy.
Sau khi kết nối phần cứng theo sơ đồ mạch, nó sẽ trông giống như dưới đây:
Cài đặt Bảng ESP32 trên Arduino IDE
Ở đây Arduino IDE được sử dụng để lập trình ESP32-CAM. Để làm được điều đó, trước tiên, hãy cài đặt tiện ích bổ sung ESP32 trên Arduino IDE.
Để cài đặt bảng ESP32 trong Arduino IDE của bạn, hãy đi tới Tệp> Tùy chọn.
Bây giờ sao chép liên kết dưới đây và dán nó vào trường “URL Trình quản lý Hội đồng Quản trị bổ sung” như thể hiện trong hình bên dưới. Sau đó, nhấp vào nút “OK”:
https://dl.espressif.com/dl/package_esp32_index.json
Bây giờ đi tới Công cụ> Bảng> Trình quản lý bảng
Trong Board Manager, tìm kiếm ESP32 và cài đặt “ESP32 by Espressif Systems”.
Giải thích mã
Chúng tôi đã giải thích Nhận dạng khuôn mặt với ESP32 trong bài viết trước; ở đây chúng tôi sẽ sửa đổi mã tương tự để điều khiển khóa cửa điện từ. Mã hoàn chỉnh được chia thành bốn phần. Một là mã chính cho máy ảnh và mô-đun chuyển tiếp nơi ESP32 khóa hoặc mở khóa cửa theo nhận dạng khuôn mặt, và ba mã còn lại dành cho trang web, chỉ mục máy ảnh và chân máy ảnh. Mã hoàn chỉnh được đưa ra ở cuối trang này. Ở đây chúng tôi đang giải thích một số phần quan trọng của mã.
Bắt đầu chương trình bằng cách bao gồm tất cả các tệp thư viện.
#include "esp_camera.h" #include
Trong dòng tiếp theo, bỏ ghi chú mô-đun máy ảnh mà bạn đang sử dụng với ESP32. Trong mã, năm kiểu máy ảnh khác nhau được xác định. Trong trường hợp này, chúng tôi đang sử dụng Mô hình AI-THINKER.
// # xác định CAMERA_MODEL_WROVER_KIT // # xác định CAMERA_MODEL_ESP_EYE // # xác định CAMERA_MODEL_M5STACK_PSRAM // # xác định CAMERA_MODEL_M5STACK_WIDE # xác định CAMERA_MODEL_AI_THINKER
Sau đó, chèn thông tin đăng nhập mạng của bạn vào các biến sau:
const char * ssid = "Tên Wi-Fi"; const char * password = "Mật khẩu Wi-Fi";
Sau đó xác định chân nơi mô-đun rơle được kết nối. Chúng tôi sẽ sử dụng hàm millis () để khóa cửa sau khi mở khóa trong một khoảng thời gian xác định, ở đây là 5 giây.
#define relay 4 dài trướcMillis = 0; khoảng thời gian int = 5000;
Trong hàm setup () , khởi chạy Serial Monitor ở tốc độ truyền 115200 cho mục đích gỡ lỗi. Sau đó, trong các dòng tiếp theo, xác định chế độ chân cho mô-đun rơle và cũng đặt rơle ở vị trí thấp ban đầu.
void setup () {Serial.begin (115200); pinMode (rơ le, OUTPUT); digitalWrite (relay, LOW);
Bên trong hàm loop () , hãy kiểm tra xem khuôn mặt có khớp với khuôn mặt đã đăng ký hay không. Nếu có, sau đó mở khóa cửa trong 5 giây và sau 5 giây khóa cửa lại.
void loop () {if (matchFace == true && activeRelay == false) {activeRelay = true; digitalWrite (chuyển tiếp, CAO); presMillis = millis (); } if (activeRelay == true && millis () - presMillis> khoảng) {activeRelay = false; matchFace = false; digitalWrite (relay, LOW); }
Kiểm tra
Cuối cùng, để tải mã lên, hãy kết nối bảng FDTI với máy tính xách tay của bạn và chọn 'Mô-đun Wrover ESP32' làm bảng của bạn. Ngoài ra, hãy thay đổi các cài đặt khác như trong hình bên dưới:
Đừng quên kết nối chân IO0 với GND trước khi tải mã lên và cũng nhấn nút đặt lại ESP32 và sau đó nhấp vào nút tải lên.
Lưu ý: Nếu bạn gặp lỗi khi tải mã lên, hãy kiểm tra xem IO0 có được kết nối với GND không và bạn đã chọn đúng cài đặt trong menu Công cụ.
Sau khi tải mã lên, hãy tháo chân IO0 và GND. Sau đó, mở màn hình nối tiếp và thay đổi tốc độ truyền thành 115200. Sau đó, nhấn nút đặt lại ESP32, nó sẽ in địa chỉ IP ESP và số cổng. trên màn hình nối tiếp.
Bây giờ điều hướng đến trình duyệt và nhập địa chỉ IP ESP được sao chép từ màn hình Nối tiếp để truy cập phát trực tuyến camera. Nó sẽ đưa bạn đến trang phát trực tuyến. Để bắt đầu phát trực tuyến video, hãy nhấp vào nút 'Bắt đầu phát trực tiếp' ở cuối trang.
Để nhận dạng khuôn mặt với ESP32-CAM, trước tiên, chúng ta phải đăng ký các khuôn mặt. Để làm điều đó, hãy bật các tính năng nhận dạng và phát hiện khuôn mặt từ cài đặt và sau đó nhấp vào nút Đăng ký khuôn mặt. Phải mất vài lần để cứu khuôn mặt. Sau khi lưu khuôn mặt, nó phát hiện khuôn mặt là chủ thể 0 trong đó số không là số khuôn mặt.
Sau khi ghi danh các khuôn mặt, nếu một khuôn mặt được nhận dạng trong nguồn cấp dữ liệu video, ESP32 sẽ đặt mô-đun chuyển tiếp lên cao để mở khóa cửa.
Vì vậy, đây là cách ESP32-CAM có thể được sử dụng để xây dựng hệ thống bảo mật dựa trên nhận dạng khuôn mặt. Toàn bộ mã có thể được tải xuống từ liên kết này và cũng được cung cấp bên dưới cùng với một video trình diễn.