Professional Documents
Culture Documents
2
Lời mở đầu
Bất cứ ai ngày nay đều quan tâm đến bảo mật và an ninh cho ngôi nhà của
chính mình. Trước đây người ta chủ yếu sử dụng các khóa cơ khí, loại khóa này
gặp vấn đề lớn đó là tính bảo mật không cao thường dễ dàng bị phá bởi các loại
chìa khóa đa năng. Tuy nhiên trong những năm gần đây khi công nghệ phát triển
và việc sử dụng IoT ngày càng tăng thì khóa kỹ thuật số ra đời và phát triển phổ
biến để từng bước thay thế cho khóa cơ khí.
Khóa kỹ thuật số không yêu cầu tác động vật lý mà dùng các công nghệ
như nhận dạng tần số vô tuyến (RFID)hay xác thực vân tay, khuôn mặt, giọng
nói, sử dụng mật khẩu…Những thông tin sinh trắc học của mỗi người thường là
duy nhất chính vì vậy tạo ra sự bảo vệ cực kỳ an toàn cho ngôi nhà của người sử
dụng. Là sinh viên của trường kỹ thuật chúng em nhận thấy đây là xu hướng hiện
nay. Vì thế chúng em muong muốn tìm hiểu và phát triển một sản phẩm theo xu
hướng này để ứng dụng trong cuộc sống.
Dựa vào những gì đã tìm hiểu và được học nhóm chúng em quyết định
chọn đề tài “Sử dụng ESP32 CAM thiết kế khóa cửa nhận diện khuôn mặt”.
Hệ thống này đơn giản, dễ dàng lắp đặt và sử dụng, sẽ giúp người dùng bảo vệ
ngôi nhà của mình tốt hơn.
Trong quá trình thực hiện đề tài này, do vốn kiến thức còn hạn chế nên
không tránh khỏi những thiếu sót. Vì thế nhóm rất mong có được sự đóng góp ý
kiến, phê bình và hướng dẫn thêm từ thầy để nhóm có thể hoàn thiện đề tài của
mình hơn.
Cuối cùng em xin chân thành cảm ơn thầy Ths. Lê Công Cường đã giúp
đỡ nhóm rất nhiều trong quá trình tìm hiểu, thiết kế và hoàn thành đồ án thiết kế
này.
Hà Nội, ngày tháng năm 2022
Sinh viên thực hiện
3
Mục lục
4
4.3 Hướng phát triển ...................................................................................... 30
Tài liệu tham khảo ............................................................................................. 31
5
Danh mục hình ảnh
6
CHƯƠNG 1. Tổng quan về hệ thống nhận diện khuôn mặt
7
Hình 1-1 Quá trình xử lý ảnh
Ảnh có thể xem là tập hợp các điểm ảnh và mỗi điểm ảnh được xem như
là đặc trưng cường độ sáng hay một dấu hiệu nào đó tại một vị trí nào đó của đối
tượng trong không gian và nó có thể xem như một hàm n biến P(c1, c2, …, cn).
Do đó, ảnh trong xử lý ảnh có thể xem như ảnh n chiều.
Các vấn đề của xử lý ảnh:
- Thu nhận ảnh, chụp ảnh và số hóa ảnh.
+ Hệ thống chụp ảnh và tín hiệu ảnh.
+ Hệ thống số hóa ảnh: lấy mẫu, lượng tử hóa.
- Phân tích ảnh và thị giác máy tính.
+ Cải thiện nâng cấp ảnh, sửa lỗi, khôi phục ảnh.
+ Phân tách đặc trưng: tách biên, phân vùng ảnh.
+ Biểu diễn và xử lý đặc trưng hình dạng đối tượng ảnh.
+ Nhận dạng đối tượng ảnh, phân tích cảnh và hiểu cảnh.
- Mã hóa, nén ảnh.
+ Các phương pháp nén và các chuẩn nén.
1.2.1 Một số khái niệm cơ bản trong xử lý ảnh
1.2.1.1. Điểm ảnh
Gốc của ảnh (ảnh tự nhiên) là ảnh liên tục về không gian và độ sáng. Để
xử lý được bằng máy tính, ảnh cần phải được số hóa. Số hóa ảnh là sự biến đổi
gần đúng một ảnh liên tục thành một tập điểm phù hợp với ảnh thật về vị trí
(không gian) và độ sáng (mức xám). Khoảng cách giữa các điểm ảnh đó được
thiết lập sao cho mắt người không phân biệt được ranh giới giữa chúng. Mỗi
một điểm như vậy gọi là điểm ảnh (PEL: Picture Element) hay gọi tắt là Pixel.
Trong khuôn khổ ảnh hai chiều, mỗi pixel ứng với cặp tọa độ (x, y).
Điểm ảnh (Pixcel) là một phần tử của ảnh số tại tọa độ (x, y) với độ xám
hoặc màu nhất định. Kích thước và khoảng cách giữa các điểm ảnh đó được chọn
thích hợp sao cho mắt người cảm nhận sự liên tục về không gian và mức xám
(hoặc màu) của ảnh số gần như ảnh thật. Mỗi một phần tử trong ma trận được gọi
là một phần tử ảnh.
8
Hình 1-2 Điểm ảnh trong ảnh trắng đen
9
Như ảnh trên chúng ta thấy rằng tuy cùng kích thước nhưng độ phân giải
khác nhau, và độ phân giải càng thấp thì càng mờ. Như ảnh 1 sẽ được hiểu là
chiểu rộng có 175 điểm ảnh và chiều cao có 256 điểm ảnh.
1.2.1.3. Mức xám
Mức xám của điểm ảnh là cường độ sáng của nó được gán bằng giá trị số
tại điểm đó.
- Các thang mức xám thông thường: 16, 32, 64, 128, 256 (Mức 256 là mức phổ
dụng. Nguyên nhân là từ kỹ thuật máy tính dùng 1 byte (8bit) để biểu diễn mức
xám. Mức xám dùng 1 byte biểu diễn, 28 = 256, tức là từ 0 đến 255).
- Ảnh đen trắng: Là ảnh có hai màu đen, trắng (không chứa màu khác) với mức
xám ở các điểm ảnh có thể khác nhau.
- Ảnh nhị phân: Ảnh chỉ có hai mức đen trắng phân biệt, tức là mỗi điểm ảnh của
ảnh nhị phân chỉ có thể là 0 hoặc 1.
- Ảnh màu: Trong khuôn khổ lý thuyết 3 màu (Red, Blue, Green) để tạo nên thế
giới màu, người ta thường dùng 3 byte để mô tả mức màu, khi đó các giá trị màu:
28*3 = 224 ≈ 16,7 triệu màu.
10
sáng, thời tiết).
- Tiền xử lý (Image Processing): Sau bộ thu nhận, ảnh có thể bị nhiễu, độ tương
phản thấp nên cần đưa vào bộ tiền xử lý để nâng cao chất lượng. Chức năng
chính của bộ tiền xử lý là lọc nhiễu, nâng độ tương phản để làm ảnh rõ, nét hơn.
- Phân đoạn (Segmentation) hay phân vùng ảnh: là tách một ảnh đầu vào thành
các vùng thành phần để biểu diễn phân tích, nhận dạng ảnh. Ví dụ: để nhận dạng
chữ (hoặc mã vạch) trên phong bì thư cho mục đích phân loại bưu phẩm, cần chia
các câu, chữ, về địa chỉ hoặc tên người thành các từ, các chữ, các số (hoặc các
vạch) riêng biệt để nhận dạng. Đây là phần phức tạp khó khăn nhất trong xử lý
ảnh và cũng dễ gây lỗi, làm mất độ chính xác của ảnh. Kết quả nhận dạng ảnh
phụ thuộc rất nhiều vào công đoạn này.
- Biểu diễn ảnh (Image Representation): Đầu ra ảnh sau phân đoạn chứa các điểm
ảnh của vùng ảnh (ảnh đã phân đoạn) cộng với mã liên kết với các vùng lân cận.
Việc chọn các tính chất để thể hiện ảnh gọi là trích chọn đặc trưng (Feature
Selection) gắn với việc tách các đặc tính của ảnh dưới dạng các thông tin định
lượng hoặc làm cơ sở để phân biệt lớp đối tượng này với đối tượng khác trong
phạm vi ảnh nhận được. Ví dụ: trong nhận dạng ký tự trên phong bì thư, chúng ta
miêu tả các đặc trưng của từng ký tự giúp phân biệt ký tự này với ký tự khác.
- Nhận dạng ảnh và nội suy ảnh (Image Recognition and Interpretation): Nhận
dạng ảnh là quá trình xác định ảnh. Quá trình này thường thu được bằng cách so
sánh với mẫu chuẩn đã được học (hoặc lưu từ trước). Nội suy là phán đoán theo ý
nghĩa trên cơ sở nhận dạng. Ví dụ: một loạt chữ số và nét gạch ngang trên phong
bì thư có thể được nội suy thành mã điện thoại. Có nhiều cách phân loại ảnh khác
nhau về ảnh. Theo lý thuyết về nhận dạng, các mô hình toán học về ảnh được
phân theo hai loại nhận dạng ảnh cơ bản:
+ Nhận dạng theo tham số.
+ Nhận dạng theo cấu trúc.
Một số đối tượng nhận dạng khá phổ biến hiện nay đang được áp dụng
trong khoa học và công nghệ là nhận dạng ký tự (chữ in, chữ viết tay, chữ ký
điện tử), nhận dạng văn bản (text), nhận dạng vân tay, nhận dạng mã vạch, nhận
dạng mặt người…
- Cơ sở tri thức (Knowledge Base): Như đã nói ở trên, ảnh là một đối tượng khá
phức tạp về đường nét, độ sáng tối, dung lượng điểm ảnh, môi trường để thu ảnh
phong phú kéo theo nhiễu. Trong nhiều khâu xử lý và phân tích ảnh ngoài việc
đơn giản hóa các phương pháp toán học đảm bảo tiện lợi cho xử lý, người ta
mong muốn bắt chước quy trình tiếp nhận và xử lý ảnh theo cách của con người.
Trong các bước xử lý đó, nhiều khâu hiện nay đã xử lý theo các phương pháp trí
tuệ con người. Vì vậy, ở đây các cơ sở tri thức được phát huy.
1.3 Hệ thống nhận diện khuôn mặt
Hệ thống nhận diện khuôn mặt hay nhận dạng khuôn mặt là một loại ứng
dụng có khả năng xác định được hình ảnh khuôn mặt của một người nào đó dựa
trên các đặc điểm mà cơ sở dữ liệu đã lưu trữ trước đó.
11
Mỗi khuôn mặt đều có nhiều điểm mốc, những phần lồi lõm tạo nên các
đặc điểm của khuôn mặt. Các hệ thống nhận diện gương mặt định nghĩa những
điểm này là những điểm nút. Mỗi mặt người có khoảng 80 điểm nút. Có thể nhận
diện một số điểm nút như sau:
- Khoảng cách giữa hai mắt.
- Chiều rộng của mũi.
- Độ sâu của hốc mắt.
- Hình dạng của xương gò má.
- Độ dài của xương hàm…
12
của đối tượng. Từ đó các thuật toán sẽ trích xuất được các thông tin, và những
tính năng này sau đó được sử dụng để tìm kiếm các hình ảnh khác với các tính
năng phù hợp. Trong trường hợp sử dụng để nhận diện, cần phải lưu lại thông tin
khuôn mặt để ghi nhớ trước. Các thuật toán sẽ đơn giản hóa một tập các hình ảnh
khuôn mặt và sau đó nén dữ liệu khuôn mặt, chỉ lưu dữ liệu hình ảnh nào là hữu
ích cho việc nhận dạng khuôn mặt. Khi đó, muốn nhận diện sẽ so sánh hình ảnh
mấu với các dữ liệu khuôn mặt đã lưu.
Các thuật toán nhận dạng có thể được chia thành hai hướng chính, là hình
học, đó là nhìn vào tính năng phân biệt, hoặc trắc quang (đo sáng), là sử dụng
phương pháp thống kê để 'chưng cất' một hình ảnh thành những giá trị và so sánh
các giá trị với các mẫu để loại bỏ chênh lệch.
Các thuật toán nhận dạng phổ biến bao gồm Principal Component
Analysis (Phép phân tích thành phần chính) sử dụng các khuôn mặt riêng, Linear
Discriminate Analysis (Phân tích biệt tuyến tính), Elastic Bunch Graph
Matching sử dụng thuật toán Fisherface, các mô hình Markov ẩn, Multilinear
Subspace Learning (Luyện nhớ không gian con đa tuyến) sử dụng đại diện cơ
căng, và theo dõi liên kết động thần kinh.
1.3.2.1. Nhận dạng 3D
Một xu hướng mới nổi lên, tuyên bố cải thiện được độ chính xác, là nhận
dạng khuôn mặt ba chiều. Kỹ thuật này sử dụng các cảm biến 3D để nắm bắt
thông tin về hình dạng của khuôn mặt. Thông tin này sau đó được sử dụng để xác
định các tính năng đặc biệt trên bề mặt của một khuôn mặt, chẳng hạn như các
đường viền của hốc mắt, mũi và cằm.
Một lợi thế của nhận dạng khuôn mặt 3D là nó không bị ảnh hưởng bởi
những thay đổi trong ánh sáng như các kỹ thuật khác. Nó cũng có thể xác định
một khuôn mặt từ một loạt các góc nhìn, trong đó có góc nhìn nghiêng. Các điểm
dữ liệu ba chiều từ một khuôn mặt cải thiện lớn độ chính xác cho nhận dạng
khuôn mặt. Nghiên cứu 3D được tăng cường bởi sự phát triển của các bộ cảm
biến tinh vi giúp nắm bắt hình ảnh chụp khuôn mặt 3D được tốt hơn. Các cảm
biến hoạt động bằng cách chiếu ánh sáng có cấu trúc lên gương mặt. Hàng chục
hoặc nhiều hơn nữa các bộ cảm biến hình ảnh này có thể được đặt lên trên cùng
một con chip CMOS-mỗi cảm biến sẽ thu một phần khác nhau của hình ảnh.
Ngay cả một kỹ thuật 3D hoàn hảo cũng có thể gặp khó khăn bởi các sắc
thái biểu cảm trên gương mặt. Để đạt được mục tiêu đó một nhóm tại Technion
(viện công nghệ Israel tại Haifa) đã áp dụng các công cụ từ hình học metric để
giải quyết các biểu lộ cảm xúc như phép đẳng cự Một công ty có tên Vision
Access tạo ra một giải pháp vững chắc cho nhận dạng khuôn mặt 3D. Công ty
này sau đó đã được mua lại bởi công ty truy cập sinh trắc học Bioscrypt Inc.
Công ty đã phát triển một phiên bản được gọi là 3D FastPass.
13
Hình 1-8 Nhận dạng 3D
14
CHƯƠNG 2. Thiết kế hệ thống
Thông số kỹ thuật:
- Module: ESP32-CAM
- Kiểu: Dip-16
- Kích thước: 27 x 40,5 x 4,5 mm
- SPI Flash: Mặc định 32Mbit
- RAM: Internal520KB + PSRAM 4M bên ngoài
- Bluetooth: tiêu chuẩn Bluetooth4.2BR / EDR và BLE
- Wifi: 802.11 b/g/n/e/i
- Giao diện hỗ trợ: UART, SPI, I2C, PWM
- Hỗ trợ thẻ TF: Hỗ trợ tối đa 4G
- Cổng IO: 9
- Tốc độ cổng giao tiếp: 115200 bps mặc định
- Định dạng đầu ra hình ảnh: JPEG (chỉ được hỗ trợ bởi OV2640), BMP
- Phạm vi phổ: 2412 ~ 2484 MHz
- Dạng ăng ten: ăng-ten PCB trên bo mạch, đạt được 2dBi
- Truyền tín hiệu:
+ 802.11b: 17 ± 2 dBm (@ 11Mbps)
+ 802.11g: 14 ± 2 dBm (@ 54Mbps)
15
+ 802.11n: 13 ± 2 dBm (@ MCS7)
- Độ nhạy
+ CCK, 1 Mb/giây: -90dBm
+ CCK, 11 Mb/giây: -85dBm
+ 6 Mb/giây (1/2 BPSK): -88dBm
+ 54 Mbps (3/4 64-QAM): -70dBm
+ MCS7 (65 Mb/giây, 72,2 Mb/giây): -67dBm
- Tiêu thụ năng lượng
+ Tắt đèn flash: 180mA @ 5V
+ Bật đèn flash và điều chỉnh độ sáng tối đa: 310mA @ 5V
+ Sleep Deep: Mức tiêu thụ điện năng thấp nhất có thể đạt 6mA @ 5V
+ Modem-bed: lên tới 20mA @ 5V
+ Sleep Light: lên tới 6,7mA@5V
- Bảo vệ: WPA / WPA2 / WPA2-Enterprise / WPS
- Phạm vi cung cấp điện: 5V
- Nhiệt độ hoạt động: -20°C ~ 85°C
- Môi trường lưu trữ: -40°C ~ 90°C, <90% rh
16
+ IN: chân tín hiệu, nhận tín hiệu để kích relay.
+ Nếu dùng module đang kích mức ở mức cao và chân IN được cấp điện
thì module sẽ được kích, ngược lại thì không. Tương tự với module đang kích ở
mức thấp.
- 3 chân nối với thiết bị điện công suất cao.
+ COM: nối với nguồn , nối với cực dương nếu là hiệu điện thế một chiều,
nối với dây nóng nếu là hiệu điện thế xoay chiều.
+ NO: nối với chân của thiết bị điện, nối với cực dương nếu là hiệu điện
thế một chiều, nối với dây nóng nếu là hiệu điện thế xoay chiều.
+ NC: không kết nối gì.
Hình 2-3 Module 1 Relay với Opto cách ly kích H/L 5VDC
Thông số kỹ thuật:
- Sử dụng điện áp nuôi 5VDC.
- Dòng tiêu thụ khoảng 80mA/1 relay.
- Điện thế đóng ngắt tối đa: AC250V ~ 10A hoặc DC30V ~ 10A.
- Có đèn báo đóng ngắt trên mỗi Relay.
- Có thể chọn mức tín hiệu kích 0 hoặc 1 qua jumper.
- Kích thước: 5 x 2,6 x 1,9 cm
2.1.3 Khóa điện tử LY-03
Khóa chốt điện từ LY-03 có chức năng hoạt động như một ổ khóa cửa sử
dụng Solenoid để kích đóng mở bằng điện, được sử dụng nhiều trong nhà thông
minh hoặc các loại tủ, cửa phòng, cửa kho…khóa sử dụng điện áp 12VDC, là
loại thường đóng (cửa đóng) với chất lượng tốt, độ bền cao. Khóa chốt điện
từ này có thể sử dụng chung với các mạch chức năng tạo thành một hệ thống
thông minh.
17
Hình 2-4 Khóa điện tử LY-03
Thông số kỹ thuật:
- Vật liệu: Thép không gỉ
- Nguồn điện: 12V DC
- Dòng điện làm việc: 0.8A
- Công suất: 9.6W
- Yêu cầu nguồn cấp: 12VDC/1A
- Kích thước: 54 x 38 x 28 mm
- Thời gian cấp nguồn: Nhỏ hơn 10s
- Trọng lượng: 150g
2.1.4 Cảm biến chuyển động PIR HC-SR501
Cảm biến thân nhiệt chuyển động PIR (Passive infrared sensor) HC-
SR501 được sử dụng để phát hiện chuyển động của các vật thể phát ra bức xạ
hồng ngoại (con người, con vật, các vật phát nhiệt,...), cảm biến có thể chỉnh
được độ nhạy để giới hạn khoảng cách bắt xa gần cũng như cường độ bức xạ của
vật thể mong muốn.
18
Hình 2-6 Sơ đồ khối của hệ thống
19
Hình 2-8 Kết nối các linh kiện trong thực tế
Mạch sử dụng CH340C một model của IC Ch340, đây là lại IC được sử
dụng để chuyển đổi tín hiệu USB thành UART.
Thông số kỹ thuật CH340C:
- Giao diện thiết bị USB tốc độ đầy đủ, tương thích USB 2.0.
20
- Tốc độ truyền từ 50bps đến 2Mbps
- Nguồn 5V và 3.3V
- Gói SOP-16
2.3.2 Mạch relay
21
Hình 2-11 Mạch nguồn
23
CHƯƠNG 3. Triển khai hệ thống
24
- WiFi.smartConfigDone(): kiểm tra smartconfig xong hay chưa.
25
- Đóng mở cửa: Phu ̣ thuô ̣c vào viê ̣c kiể m tra dữ liê ̣u để đố i sánh kế t quả. Nế u kế t
quả trả về chính xác như trong dữ liê ̣u thì có thể mở cửa và ngược lạc. Đồng thời
trên web cũng hiển thị kết quả xác nhận thành công hoặc thất bại.
Code của hệ thống được chia thành 4 phần 1 code chính cho thiết lập wifi,
xử lý dữ liệu camera và tín hiệu ra module relay, 3 code còn lại dành cho web
page, camera index và camera pins
- 3 thư viện chính được sử dụng để hỗ trợ code là #include "esp_camera.h" ,
#include <WiFi.h>, #include "camera_pins.h"
- ESP32 CAM mà nhóm sử dụng là của AI-THINKER nên sử dụng #define
CAMERA_MODEL_AI_THINKER
- Một số setting trước khi nạp code:
+ Upload Speed: “921600”
+ Flash Frequency: “80MHz”
+ Flash Mode: “QIO”
+ Partition Scheme: “Hue APP (3MB No OTA/1MB SPIFFS)”
+ Core Debug Level: “None”
Lấy địa chỉ IP này vào web để truy cập vào trình duyệt phát camera trực
tiếp. Tại đây ta có tùy chỉnh độ phân giải, màu, độ sáng cho camera…
26
Hình 3-6 Các tùy chỉnh của web
Để bắt đầu hiển thị hình ảnh ta bấm start stream, để đăng ký khuôn mặt thì
ta bấm enroll face giữ yên trong một vài giây đến khi trên hình hiển thị khung
màu xanh là được. Người đầu tiên đăng ký tương ứng với subject 0.
Sau khi đã đăng ký xong xong, người dùng muốn xác thực khuôn mặt, nếu
màn hình hiển thị khung xanh thì xác thực chính xác còn hiển thị khung đỏ là xác
thực không đúng.
Hình 3-7 Hình ảnh thực tế một thành viên trong nhóm
27
3.3 Gửi thông báo lên telegram
Telegram Messenger là dịch vụ nhắn tin tức thời và thoại qua IP dựa trên
đám mây. Chúng ta có thể dễ dàng cài đặt nó trong điện thoại thông minh
(Android và iPhone) hoặc máy tính (PC, Mac và Linux). Telegram cho phép bạn
tạo các bot mà bạn có thể tương tác. Bot là các ứng dụng của bên thứ ba chạy bên
trong Telegram. Người dùng có thể tương tác với bot bằng cách gửi cho chúng
tin nhắn, lệnh và yêu cầu nội tuyến.
ESP32 CAM sẽ tương tác với bot Telegram để gửi tin nhắn đến tài khoản
telegram của bạn. Bất cứ khi nào chuyển động được phát hiện, bạn sẽ nhận được
thông báo trong điện thoại thông minh của mình (miễn là bạn có quyền truy cập
Internet).
Để tạo được 1 bot telegram bạn cần tải xuống, cài đặt telegram sau đó mở
app và tìm kiếm botfather và thực hiện các thao tác sau để tạo 1 bot.
Một bot được tạo ra đều có tên (do người dùng tự đặt) và ID, bot token
riêng. Ta sử dụng ID và bot token để tìm và tạo kết nối với bot.
3 thư viện được sử dụng để hỗ trợ code là #include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>, #include <ArduinoJson.h>
Khi có kết nối wifi thì ESP32 CAM sẽ thực hiện tìm bot và gửi thông báo
đến người dùng “bot started up”. Khi cảm biến chuyển động phát hiện chuyển
động mở cửa sẽ gửi tín hiệu đến cho ESP32 CAM, module sẽ xử lý tín hiệu này
và yêu cầu bot gửi tin nhắn “Motion Detected”.
28
Hình 3-9 Tin nhắn được bot gửi đến người dùng
29
CHƯƠNG 4. Kết luận và hướng phát triển
30
Tài liệu tham khảo
[1] https://khuenguyencreator.com/hoc-lap-trinh-mcu/lap-trinh-esp32/
[2] https://viblo.asia/p/tuan-1-gioi-thieu-xu-ly-anh-yMnKMdEQ57P
[3] https://microcontrollerslab.com/esp32-wi-fi-manager-asyncwebserver/
[4]https://www.electroniclinic.com/esp32-cam-face-recognition-door-lock-
system-circuit-and-programming/
[5] https://easyelectronicsproject.com/esp32-projects/esp32cam-face-recognition-
lock/
[6] https://www.techtonions.com/esp32-using-smartconfig/
[7] https://iotcircuithub.com/esp32-cam-telegram-wifi-door-lock/
[8] https://randomnerdtutorials.com/esp32-door-status-telegram/
[9] https://randomnerdtutorials.com/telegram-esp32-motion-detection-arduino/
31