You are on page 1of 33

ĐẠI HỌC THÁI NGUYÊN

ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG


KHOA CÔNG NGHỆ ĐIỆN TỬ VÀ TRUYỀN THÔNG
---------

BÁO CÁO
THỰC TẬP CHUYÊN NGÀNH
Đề Tài:
Thiết kế khóa tự động nhận diện bằng khuôn mặt

Giảng viên hướng dẫn: Đoàn Ngọc Phương


Sinh viên thực hiện: Nguyễn Thị Nguyệt
Lớp: Điện Tử Ứng Dụng K16

Thái Nguyên, tháng 11 năm 2020

1
ĐẠI HỌC THÁI NGUYÊN
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
KHOA CÔNG NGHỆ ĐIỆN TỬ VÀ TRUYỀN THÔNG
---------

BÁO CÁO
THỰC TẬP CHUYÊN NGÀNH
Đề Tài:
CAMERA GIÁM SÁT

Giảng viên hướng dẫn: Nguyễn Thanh Tùng


Sinh viên thực hiện: Nguyễn Thị Nguyệt
Lớp: Điện Tử Ứng Dụng K16A

Thái Nguyên, tháng 11 năm 2020

2
LỜI CẢM ƠN
Em xin chân thành cảm ơn cô Đoàn Ngọc Phương đã hướng dẫn tận tình, tạo dựng
cho em vốn kiến thức cơ bản không chỉ giúp em hoàn thành tốt bài thực tập chuyên
ngành của mình mà còn giúp em có một hành trang tri thức chuẩn bị bước vào cuộc sống.
Đặc biệt hơn nữa em xin cám ơn các thầy cô trong các bộ môn đã hướng dẫn nhiệt tình
em, trong việc thực hiện bài thực tập chuyên ngành này.
Cùng với sự hướng dẫn chỉ dẫn của thầy cô giáo, và sự lỗ lực nghiên cứu học hỏi
lý thuyết và vận dụng vào thực tế. Em đã hoàn thiện xong bài thực tập chuyên ngành của
mình.Tuy vậy, Em không thể tránh khỏi được những hạn chế của mình. Chính vì thế, em
rất mong được sự nhận xét, góp ý của thầy cô để bài thực tập chuyên ngành của em được
hoàn thiện và nhanh chóng được áp dụng vào thực tế.
Em xin chân thành cảm ơn!
Thái nguyên, ngày....tháng…năm 2020.
Sinh viên thực hiện

3
MỤC LỤC

4
PHẦN MỞ ĐẦU
1. ĐẶT VẤN ĐỀ
Xu hướng phát triển của công nghệ giám sát đang rất phổ biến trên toàn thế giới.
Một loạt các giải pháp được đưa ra trong vấn đề giám sát để đảm bảo an toàn và an nhinh
cho cá nhân gia đình và xã hội. Các hệ thống giám sát an ninh bằng camera được đưa vào
sử dụng trong nhiểu lĩnh vực cuộc sống như: camera giám sát giao thông, camera giám
sát an ninh trong gia đình, cơ quan, trường học,...
Với sự phát triển của khoa học kĩ thuật hiện đại và nhu cầu bảo vệ tài sản và giám
sát an ninh của con người ngày một cao. Camera an ninh là lựa chọn hàng đầu để đáp ứng
nhu cầu trên. Tuy nhiên những hệ thống camera giám sát thường có giá thành khá đắt đỏ,
vì vậy nhóm chúng em muốn sáng tạo và thiết kế một hệ thống camera giám sát có mức
giá phải chăng, phù hợp với túi tiền của người Việt. Chúng em đã đề xuất ý tưởng
“Camera giám sát”. Do kiến thức còn hạn hẹp và lĩnh vực nghiên cứu phức tạp nên trong
quá trình nghiên cứu không tránh khỏi nhiều hạn chế và thiếu sót. Vì vậy, em rất mong
được sự góp ý và nhắc nhở từ thầy cô để có thể hoàn thiện đề tài của mình.
2. GIỚI HẠN VẤN ĐỀ
Do thời gian nghiên cứu và thực hiện đề tài có phần giới hạn về mặt thời gian và kiến
thức nên đề tài được thực hiên trong phạm vi những nội dung sau:
Chương I: Tổng quan về đề tài.
Chương II: Cơ sở lý thuyết của đề tài.
Chương III: Thiết kế và thi công đề tài.
3. MỤC TIÊU, NHIỆM VỤ VÀ PHƯƠNG PHÁP NGHIÊN CỨU
3.1. Mục tiêu
- Hiểu được nguyên lý và cách thức hoạt động của hệ thống camera an ninh.
- Thiết kế mô hình hệ thống camera giám sát an ninh.
3.2. Nhiệm vụ
- Tìm hiểu, nghiên cứu ESP32 cam và các linh kiện sử dụng.
- Thiết kế thử nghiệm mô hình hệ thống camera an ninh.
- Tìm hiểu phần mềm hỗ trợ.

5
3.3. Phương pháp thực hiện
- Khảo sát và thu thập các tài liệu liên quan đến đề tài.
- Tìm hiểu Datasheet các linh kiện sử dụng để thiết kế cánh tay robot hoàn chỉnh.
+ Vi điều khiển Arduino,
+Camara esp 32
- Tìm hiểu về các phần mềm, ngôn ngữ lập trình hỗ trợ.
+ Arduino IDE, ngôn ngữ C, C# .
4. Ý NGHĨA LÝ LUẬN VÀ THỰC TIỄN CỦA ĐỀ TÀI
Về lý luận, đề tài chỉ là sản phẩm nghiên cứu và vận dụng kiến thức đã được học
trên giảng đường và từ các nguồn trên Internet, sản phẩm đòi hỏi vận dụng các kiến thức
về toán học, cơ học, vật lý, điện tử, lý thuyết điều khiển, khoa học tính toán và nhiều tri
thức khác. Sản phẩm này đánh dấu một thời điểm quan trọng trong cuộc đời của sinh
viên, đó là mốc trưởng thành của sinh viên sau khoảng thời gian được học tập và nghiên
cứu cùng với sự giúp đỡ, chỉ bảo của các thầy cô cùng các bạn dưới ngôi trường “Đại học
công nghệ thông tin và truyền thông – Thái Nguyên”.
Về thực tiễn, đề tài mang ý nghĩa to lớn. Đó là sản phẩm khá hoàn chỉnh để đưa
ra áp dụng thử nhiệm thực tế, và ngoài ra cũng có thể để các sinh viên khoá sau nghiên
cứu, học tập, kế thừa và tiếp tục phát triển. sinh viên vận dụng được vốn kiến thức đã học
vào thực tiễn, khẳng đinh lý thuyết là cơ sở của thực tiễn, sinh viên tự tìm tòi các kiến
thức trên internet để phục vụ cho công tác nghiên cứu, điều này thúc đẩy tinh thần tự giác
trau dồi kiến thức. Từ đề tài này, sinh viên có thể phát triển thành các hệ thống lớn có
ứng dụng trong thực tế.

6
CHƯƠNG I: TỔNG QUAN ĐỀ TÀI
1.1. Sự phát triển của đề tài trong và ngoài nước
1.1.1. Ngoài nước
Có thể nói trong thời đại công ngiệp hóa, hiện đại hóa, nhu cầu đảm bảo sự an toàn, an
ninh của mỗi tổ chức cũng như gia đình càng trở nên cấp thiết. Camera giám sát là hệ
thống được sử dụng rộng rãi và phổ biến trên toàn thế giới.
 Lịch sử hình thành:
- Một hệ thống camera giám sát (CCTV) cơ học ban đầu được nhà vật lý người
Nga Léon Theremin phát triển vào tháng 6 năm 1927. Theo yêu cầu ban đầu của Liên Xô
Lao động và Quốc phòng, hệ thống này bao gồm một camera truyền dữ liệu quét, vận
hành bằng tay và bộ thu và phát sóng ngắn không dây, với độ phân giải một trăm dòng.
Dự án được Kliment Voroshilov chỉ đạo, hệ thống CCTV của Theremin đã được trình
diễn cho Joseph Stalin, Semyon Budyonny và Sergo Ordzhonikidze, và sau đó được lắp
đặt trong sân của Điện Kremlin ở Moskva để theo dõi những vị khách đến gần.
- Một hệ thống camera quan sát ban đầu khác được Siemens AG lắp đặt tại Trạm
thử nghiệm VII ở Peenemünde, Đức Quốc xã vào năm 1942, để quan sát vụ phóng tên
lửa V-2 .
- Ở Mỹ, hệ thống camera giám sát đầu tiên có mặt vào năm 1949, được gọi là
Vericon. Có rất ít thông tin về Vericon ngoại trừ nó được quảng cáo là không cần giấy
phép của chính phủ.
1.1.2 Trong nước
Tại Việt Nam, trong những năm gần camera cũng bắt đầu được triển khai nhưng
vẫn còn hạn chế, theo đánh giá thì Việt Nam mới triển khai được 5%, do vậy thị trường
camera giám sát vẫn rất lớn. Từ năm 2010, một số nhà cung cấp đã triển khai các dịch vụ
giám sát hình ảnh bằng camera bằng Internet đến các doanh nghiệp, tổ chức lẫn hộ gia
đình như dịch vụ Megavnn của VNPT, dịch vụ IP Camera của Viettel hay dịch vu
Camera Cloud của FPT. Tuy nhiên, vì còn nhiều hạn chế nên các dịch vụ trên chưa phổ
biến. Việc tìm hiểu các ưu nhược điểm của các dịch vụ hiện tại và nhu cầu của khách

7
hàng có vai trò quan trọng trong việc mở rộng dịch vụ giám sát và cảnh báo sử dụng
camera và cảm biến.
1.2. Giới thiệu phần mềm hỗ trợ
1.2.1. Hệ thống vi điều khiển Ardunio
1.2.1.1. Arduino IDE
Intergrated Development Dnvironment (IDE) là công cụ được sử dụng để lập
trình cho các board Arduno.

Hình 1.1. Giao diện của phần mềm IDE


Giao diện của phần mềm IDE có nhiều phần, tuy nhiên chúng ta chú ý đến những
phần quan trọng như được nêu ra trong hình trên. Chức năng của từng phần như sau:
1. Nút kiểm tra chương trình

8
Dùng để kiểm tra xem chương trình được viết có lỗi không. Nếu chương trình bị
lỗi thì phần mềm sẽ hiển thị thông tin lỗi ở vùng số 5.
2. Nút nạp chương trình xuống bo Arduino
Dùng để nạp chương trình được viết xuống mạch Arduino. Trong quá trình nạp,
chương trình sẽ được kiểm tra lỗi trước sau đó mới thực hiện nạp xuống mạch Arduino.
3. Hiển thị màn hình giao tiếp với máy tính
Khi nhấp vào biểu tượng cái kính lúp thì phần giao tiếp với máy tính sẽ được mở
ra. Phần này sẽ hiển thị các thông số mà người dùng muốn đưa lên màn hình. Muốn đưa
lên màn hình phải có lệnh Serial.print() mới có thể đưa thông số cần hiển thị lên màn
hình
4. Vùng lập trình
Vùng này để người lập trình thực hiện việc lập trình cho chương trình của mình.
5. Vùng thông báo thông tin:
Có chức năng thông báo các thông tin lỗi của chương trình hoặc các vấn đề liên
quan đến chương trình được lập.
6. Sử dụng một số menu thông dụng trên phần mềm IDE
Có vài menu trong phần mềm IDE, tuy nhiên thông dụng nhất vẫn là menu File,
ngoài những tính năng như mở một file mới hay lưu một file, phần menu này có một mục
đáng chú ý là Example. Phần Example (ví dụ) đưa ra các ví dụ sẵn để người lập trình có
thể tham khảo, giảm bớt thời gian lập trình. Hình bên dưới thể hiện việc chọn một ví dụ
cho led chớp tắt (blink) để nạp cho mạch Arduino. Ví dụ về led chớp tắt này thường được
dùng để kiểm tra bo khi mới mua về.
Một menu thường được sử dụng khác là menu Tools. Khi mới kết nối bo Arduino
với máy tính ta click vào Tools->board để chọn loại board sử dụng. Phần mềm chọn sẵn
kiểu bo là bo Arduino Uno, nếu người dùng dùng kiểu bo khác thì chọn kiểu bo đang
dùng.
Bên cạnh việc chọn bo thì một phần quan trọng nữa là chọn cổng COM. Hình bên
dưới minh họa cho việc chọn cổng COM. Khi lần đầu gắn mạch Arduino vào máy tính,
người sử dụng cần nhấn chọn cổng COM bằng cách vào Tools -> Serial Port (một số

9
phiên bản dùng từ Port) sau đó nhấn chọn cổng COM, ví dụ như COM1. Những lần sau
khi đưa chính board Arduino đó vào máy tính thì không cần chọn cổng COM, nếu đưa bo
Arduino khác vào máy thì cần phải chọn lại cổng COM, quy trình thực hiện cũng tương
tự.
1.2.1.2. Tìm hiểu về Arduino Uno
"Uno" có nghĩa là một bằng tiếng Ý và được đặt tên để đánh dấu việc phát hành
sắp tới của Arduino 1.0. Uno và phiên bản 1.0 sẽ là phiên bản tài liệu tham khảo của
Arduino. Uno là mới nhất trong các loại board Arduino, và các mô hình tham chiếu cho
các nền tảng Arduino.
Arduino Uno là một “hội đồng quản trị” dựa trên ATmega328. Nó có 14 số chân
đầu vào / đầu ra, 6 đầu vào analog, 16 MHz cộng hưởng gốm, kết nối USB, một jack cắm
điện, một tiêu đề ICSP, và một nút reset. Nó chứa tất cả mọi thứ cần thiết để hỗ trợ các vi
điều khiển; chỉ cần kết nối nó với máy tính bằng cáp USB hoặc cấp điện cho nó để bắt
đầu.
Uno khác với tất cả các phiên bản trước ở chỗ nó không sử dụng các FTDI chip
điều khiển USB-to-serial. Thay vào đó, nó có tính năng Atmega 16U2 lập trình như là
một công cụ chuyển đổi USB-to-serial.
Phiên bản 2 (R2) của Uno sử dụng Atmega8U2 có một điện trở kéo dòng 8U2
HWB xuống đất, làm cho nó dễ dàng hơn để đưa vào chế độ DFU.
Phiên bản 3 (R3) của Uno có các tính năng mới sau đây:
- Thêm SDA và SCL gần với pin Aref và hai chân mới được đặt gần với pin
RESET, các IOREF cho phép thích ứng với điện áp cung cấp.
- Đặt lại mạch khỏe mạnh hơn.
- Atmega 16U2 thay thế 8U2.
• Cấu trúc, thông số
Bảng 2.1: Một vài thông số của Arduino UNO R3
Vi điều khiển ATmega328 họ 8bit
Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)
Tần số hoạt động 16 MHz
Dòng tiêu thụ khoảng 30mA

10
Điện áp vào khuyên dùng 7-12V DC
Điện áp vào giới hạn 6-20V DC
Số chân Digital I/O 14 (6 chân hardware PWM)
Số chân Analog 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/O 30 mA
Dòng ra tối đa (5V) 500 mA
Dòng ra tối đa (3.3V) 50 mA
32 KB (ATmega328) với 0.5KB dùng
Bộ nhớ flash
bởi bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
a)Vi điều khiển & bộ nhớ
Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8, ATmega168,
ATmega328. Bộ não này có thể xử lí những tác vụ đơn giản như điều khiển đèn LED
nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một trạm đo nhiệt độ - độ ẩm và
hiển thị lên màn hình LCD,…

Hình 1.6. Vi điều khiển Atmega328 tiêu chuẩn


32KB bộ nhớ Flash: những đoạn lệnh lập trình sẽ được lưu trữ trong bộ nhớ Flash
của vi điều khiển. Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng cho
bootloader nhưng đừng lo, hiếm khi nào cần quá 20KB bộ nhớ này.
2KB cho SRAM (Static Random Access Memory): giá trị các biến khai báo khi
lập trình sẽ lưu ở đây. Khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM. Tuy
vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ phải bận tâm. Khi mất
điện, dữ liệu trên SRAM sẽ bị mất.

11
1Kb cho EEPROM (Electrically Eraseble Programmable Read Only Memory):
đây giống như một chiếc ổ cứng mini – nơi có thể đọc và ghi dữ liệu vào mà không phải
lo bị mất khi cúp điện giống như dữ liệu trên SRAM.
Cấu tạo

Hình 1.7. Cấu tạo của Arduino


Một board Arduino đời đầu gồm một cổng giao tiếp RS-232 (góc phía trênbên
trái) và một chip Atmel ATmega8 (màu đen, nằm góc phải-phía dưới); 14 chân I/O số
nằm ở phía trên và 6 chân analog đầu vào ở phía đáy.
Board Arduino sẽ đưa ra hầu hết các chân I/O của vi điều khiển để sử dụng cho
những mạch ngoài. Diecimila, Duemilanove, và bây giờ là Uno đưa ra 14 chân I/O kỹ
thuật số, 6 trong số đó có thể tạo xung PWM (điều chế độ rộng xung) và 6 chân input
analog, có thể được sử dụng như là 6 chân I/O số. Những chân này được thiết kế nằm
phía trên mặt board, thông qua các header cái 0.10-inch (2.5 mm). Các board Arduino
Nano, và Arduino-compatible Bare Bones Board và Boarduino có thể cung cấp các chân
header đực ở mặt trên của board dùng để cắm vào các breadboard.
Chiều dài tối đa và chiều rộng của Uno PCB là 2,7 và 2,1 inch tương ứng, với kết
nối USB và jack điện mở rộng vượt ra ngoài không gian cũ. Bốn lỗ vít cho phép được
gắn vào một bề mặt khác:
12
b)Vị trí & chức năng các chân
Nếu không có sẵn nguồn từ cổng USB, có thể cấp nguồn cho Arduino UNO từ
một bộ chuyển đổi AC→DC hoặc pin. Các bộ chuyển đổi có thể được kết nối bằng một
plug-2.1mm trung tâm tích cực vào jack cắm điện.
Trường hợp cấp nguồn quá ngưỡng trên sẽ làm hỏng Arduino UNO.
Các chân năng lượng:
• GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi dùng các
thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với nhau.
• 5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA.
• 3.3V: cấp điện áp 3.3V đầu ra. Dòng tối đa ở chân này là 50mA.
• Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, ta nối cực
dương của nguồn với chân này và cực âm với chân GND.
• IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo
ở chân này. Và dĩ nhiên nó luôn là 5V. Mặc dù vậy không được lấy nguồn
5V từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn.
• RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với
việc chân RESET được nối với GND qua 1 điện trở 10KΩ.
Các chân Input/Output:

Hình 1.8. Các ngõ vào/ngõ ra của Arduino

13
Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có 2
mức điện áp là 0V và 5V với dòng tối đa trên mỗi chân là 40mA.
Một số chân digital có các chức năng đặc biệt như sau:
• 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive –
RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân
này. Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serial không dây. Nếu
không cần giao tiếp Serial, không nên sử dụng 2 chân này nếu không cần thiết
• Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ
phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm analogWrite().
Nói một cách đơn giản, có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5V
thay vì chỉ cố định ở mức 0V và 5V như những chân khác.
• Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngoài các
chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao
thức SPI với các thiết bị khác.
• LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm nút
Reset, ta sẽ thấy đèn này nhấp nháy để báo hiệu. Nó được nối với chân số 13. Khi chân
này được người dùng sử dụng, LED sẽ sáng.
Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit
(0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V. Với chân AREF trên board, ta
có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog. Tức là nếu cấp điện
áp 2.5V vào chân này thì ta có thể dùng các chân analog để đo điện áp trong khoảng từ
0V → 2.5V với độ phân giải vẫn là 10bit.
Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp
I2C/TWI với các thiết bị khác.

14
CHƯƠNG 2: Phân tích công nghệ thiết kế
2.1. Sơ đồ khối thiết bị

Hình 2.1. Sơ đồ khối thiết bị


Camera: là khối thu nhật hình ảnh để truyền đến MCU.
MCU: khi nhận được dữ liệu từ camera MCU sẽ đẩy dữ liệu lên một trang web
cục bộ để theo dõi và điều khiển.
2.2. Mô hình hệ thống

Hình 2.2. Mô hình hệ thống camera giám sát

15
2.3. Cơ sở lý thuyết
2.3.1.Giao tiếp truyền thôngbằng WiFi
2.3.1.1.WiFi là gì?
WiFi mà mạng kết nối Internet không dây, là từ viết tắt của Wireless Fidelity, sử
dụng sóng vô tuyến để truyền tín hiệu.Loại sóng vô tuyến này tương tự như sóng điện
thoại, truyền hình và radio.Và trên hầu hết các thiết bị điện tử ngày nay như máy tính,
laptop, điện thoại, máy tính bảng và các thiết bị thông minh khá, đều có thể kết nối WiFi.
Kết nối WiFi dựa trên các loại chuẩn kết nối IEEE 802.11, và chủ yếu hiện nay
WiFi hoạt động trên băng tần 54 Mbps và có tín hiệu mạnh nhất trong khoảng cách
50mét.Còn trong thực tế thì trong mỗi ngôi nhà thường có rất nhiều vật cản sóng, nên
chất tín hiệu cũng tốc độ bị giảm rõ rệt.
2.3.1.2.Nguyên tắc hoạt động của WiFi?
Để có được sóng WiFi thì chúng ta cần phải có bộ phát WiFi - chính là các thiết bị
như modem, router. Đầu vào là tín hiệu Internet nguồn (được cung cấp bởi các đơn vị ISP
như FPT, Viettel, VNPT... hiện nay). Thiết bị modem, router sẽ lấy tín hiệu Internet qua
kết nối hữu tuyến rồi chuyển thành tín hiệu vô tuyến, rồi gửi đến các thiết bị sử dụng như
điện thoại smartphone, máy tính bảng, laptop, các thiết bị thông minh... Đây là quá trình
truyền nhận tín hiệu không dây, chính là card wifi trên laptop, điện thoại... và chuyển hóa
thành tín hiệu Internet. Và quá trình này hoàn toàn có thể thực hiện ngược lại, nghĩa là
router, modem nhận tín hiệu vô tuyến và giải mã tín hiệu, rồi gửi qua Internet.

Hình 2.3. Nguyên tắc hoạt động của wifi

16
2.3.1.3. Một số chuẩn kết nối WiFi phổ biến:
Về bản chất kỹ thuật, tín hiệu WiFi hoạt động gửi và nhận dữ liệu ở tần số 2.5GHz
đến 5GHz, cao hơn khá nhiều so với tần số của điện thoại di động, radio... do vậy tín hiệu
WiFi có thể chứa nhiều dữ liệu nhưng lại bị hạn chế ở khoảng cách truyền.
Sóng WiFi sử dụng chuẩn kết nối 802.11 trong thư viện IEEE (Institute of
Electrical and Electronics Engineers), chuẩn này bao gồm 4 chuẩn nhỏ hơn là a/b/g/n.
 Chuẩn 802.11b là phiên bản yếu nhất, hoạt động ở mức 2.4GHz và có thể xử lý
đến 11 megabit/giây.
 Chuẩn 802.11g nhỉnh hơn đôi chút so với chuẩn b, tuy nó cũng hoạt động ở tần số
2.4GHz nhưng nó có thể xử lý 54 megabit/giây.
 Chuẩn 802.11a phát ở tần số cao hơn là 5GHz và tốc độ xử lý đạt 54 megabit/giây.
 Chuẩn 802.11n, nó hoạt động ở tần số 2.4GHz nhưng tốc độ xử lý lên đến 300
megabit/giây.
2.3.1.4.Cách thức hoạt động của WiFi
Lúc đầu WiFi được phát triển như là một cách để thay thế cáp Ethernet. Cho đến
thời điểm hiện tại, WiFi đã trở thành một công nghệ phổ biến cung cấp kết nối giữa các
thiết bị.Mọi người có thể quen với việc sử dụng WiFi như là một cách để kết nối với
Internet, vì với hầu hết mọi người đó là mạng mà họ sử dụng tại nhà hoặc tại nơi làm
việc.Tuy nhiên bây giờ WiFi có thể thay thế cho nhiều loại cáp khác nhau như cáp video,
cáp âm thanh, cáp USB. Nhưng điều quan trọng nhất là WiFi hiện đang vận chuyển hơn
60% lưu lượng Internet của toàn thế giới.
Không giống như máy thu FM trên xe ô tô, WiFi giao tiếp qua lại chủ yếu qua 2
radio sử dụng điện năng thấp hơn và phát sóng trên một khoảng cách ngắn hơn nhiều.
Hai radio cho phép người dùng tải dữ liệu từ Internet cũng như upload các thông
tin,thậm chí là địa chỉ submit thông qua bộ đếm trình duyệt giao tiếp 2 chiều.
WiFi phức tạp hơn so với vô tuyến mặt đất đó là WiFi sử dụng giao thức kết nối
Internet (Internet Protocol) để giao tiếp. Ngôn ngữ này của Internet tạo ra cấu trúc
WiFi.Mỗi một quá trình truyền dẫn mà chúng gửi và nhận đều yêu cầu xác nhận,Đó
chính là nhiệm vụ mà giao thức kết nối Internet (Internet Protocol) phải làm, chỉ áp dụng
17
cho mỗi byte được truyền đi.Và một khi dữ liệu được “bay qua” không khí trong sóng
radio, nó sẽ bị nhiễu sóng, và trở thành “ nạn nhân” từ các tín hiệu WiFi khác đến sóng
vô tuyến phát ra từ lò vi sóng…. Đó là nơi mà 2 tần số WiFi 2,4 GHz và 5 GHz đi vào.
Wifi có thể phát sóng trên cả hai tần số, để cắt giảm tín hiệu của mình tránh bị nhiễu và
cung cấp tín hiệu nhanh từ Router không dây đến thiết bị khác.Theo vật lý học, tần số
thấp hơn có thể truyền đi xa hơn.Wifi, 2.4 GHz có tần số thấp hơn, vì vậy nó có thể “tiếp
cận” với các thiết bị khác ở khoảng cách xa hơn so với Wifi tần số 5 GHz. Tuy nhiên
WiFi 5 GHz có thể truyền được nhiều hơn.
Tuy nhiên kể từ khi điện thoại không dây ra đời, nhiều người dùng đã gặp phải sự
cố với tín hiệu radio. Cách duy nhất để khắc phục sự cố này đó là thiết lập tần số để phát
song trên một kênh nào đó.Hầu hết các router đều “rất giỏi” tự động dò tìm các kênh tốt
nhất để sử dụng. Và WiFi 5 GHz có nhiều kênh hơn so vói WiFi 2.4 GHz.
Với người dùng mạng WiFi không ổn định, việc tinh chỉnh lại hệ thống mạng sẽ
hữu ích và hiệu quả hơn rất nhiều so với việc cài đặt bộ mở rộng hệ thống mạng.Tuy
nhiên vấn đề ở đây là bộ mở rộng lại “đẩy” một tín hiệu WiFi yếu.Wifi cũng có một số
tính năng bảo mật. Để truy cập mạng, người dùng phải có mật khẩu WPA2, hay còn gọi
là WPA
(số 2 đại diện cho thế hệ thứ hai của WPA). Đây chính là nơi mà bạn nhập mật
khẩu để kết nối mạng Wifi.
Ngoài ra còn có một tính năng bảo mật khác gọi là Advanced Encryption Standard
(còn gọi là AES) được phát triển bởi chính phủ Hoa Kỳ để đảm bảo cho dữ liệu được an
toàn vì nó truyền từ một thiết bị khác.
2.3.2. Linh kiện sử dụng
2.3.2.1.1. Arduino uno R3

18
Hình 2.4. Arduino uno R3
Vi điều khiển
ATmega328 họ 8bit

Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)


Tần số hoạt động 16 MHz
Dòng tiêu thụ khoảng 30mA
Điện áp vào khuyên dùng 7-12V DC
Điện áp vào giới hạn 6-20V DC
Số chân Digital I/O 14 (6 chân hardware PWM)
Số chân Analog 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/O 30 mA
Dòng ra tối đa (5V) 500 mA
Dòng ra tối đa (3.3V) 50 mA
32 KB (ATmega328) với 0.5KB dùng
Bộ nhớ flash
bởi bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)

Năng lượng: Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc
cấp nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V. Thường thì
cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu bạn không có sẵn nguồn từ cổng USB.
Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, bạn sẽ làm hỏng Arduino UNO.
2.3.2.2. Kit ESP32 cam

19
Hình 2.5. hình ảnh thực tế ESP32
ESP32 là một loạt hệ thống tiết kiệm điện năng giá rẻ trên vi điều khiển chip tích
hợp Wi-Fi và Bluetooth chế độ kép . Dòng ESP32 sử dụng bộ vi xử lý Tensilica Xtensa
LX6 ở cả hai biến thể lõi kép và lõi kép , đồng thời bao gồm công tắc ăng ten tích hợp,
RF balun , bộ khuếch đại công suất, bộ khuếch đại thu nhiễu thấp, bộ lọc và mô-đun quản
lý năng lượng. ESP32 được tạo ra và phát triển bởi Espressif Systems , một công ty
Trung Quốc có trụ sở tại Thượng Hải, và được sản xuất bởi TSMC bằng quy trình 40 nm
của họ. Nó là sự kế thừa của vi điều khiển ESP8266 .
Các tính năng của ESP32 bao gồm những điều sau:
 Bộ xử lý:
o CPU: Bộ vi xử lý Xtensa lõi kép (hoặc lõi đơn) 32-bit LX6, hoạt
động ở tần số 160 hoặc 240 MHz và hoạt động ở tốc độ lên đến 600 DMIPS
o Bộ đồng xử lý công suất cực thấp (ULP)
 Bộ nhớ: 520 KiB SRAM
 Kết nối không dây:
o Wi-Fi: 802.11 b / g / n
o Bluetooth: v4.2 BR / EDR và BLE (chia sẻ radio với Wi-Fi)

20
 Giao diện ngoại vi:
o ADC SAR 12 bit lên đến 18 kênh
o DAC 2 × 8-bit
o Cảm biến cảm ứng 10 × ( GPIO cảm ứng điện dung )
o 4 × SPI
o 2 × giao diện I²S
o 2 × giao diện I²C
o 3 × UART
o Bộ điều khiển máy chủ SD / SDIO / CE-ATA / MMC / eMMC
o Bộ điều khiển nô lệ SDIO / SPI
o Giao diện Ethernet MAC với hỗ trợ giao thức thời gian chính
xác DMA và IEEE 1588 chuyên dụng
o CAN xe buýt 2.0
o Bộ điều khiển từ xa hồng ngoại (TX / RX, lên đến 8 kênh)
o Động cơ PWM
o LED PWM (lên đến 16 kênh)
o Cảm biến hiệu ứng hall
o Bộ tiền khuếch đại analog công suất cực thấp
 Bảo vệ:
o Tất cả các tính năng bảo mật chuẩn IEEE 802.11 đều được hỗ trợ,
bao gồm WFA, WPA / WPA2 và WAPI
o Khởi động an toàn
o Mã hóa flash
o 1024-bit OTP, lên đến 768-bit cho khách hàng
o Tăng tốc phần cứng mật mã: AES , SHA-2 , RSA , mật mã đường
cong elip (ECC), trình tạo số ngẫu nhiên (RNG)
 Quản lý năng lượng:

21
o Cơ quan quản lý tỷ lệ bỏ học thấp nội bộ
o Miền nguồn riêng cho RTC
o Dòng điện ngủ sâu 5μA
o Đánh thức từ ngắt GPIO, hẹn giờ, đo ADC, ngắt cảm ứng điện dung
ESP32 được đặt trong các gói không có dây dẫn (QFN) bốn phẳng có kích thước
khác nhau với 49 miếng đệm. Cụ thể, 48 miếng đệm kết nối dọc theo hai bên và một
miếng đệm nhiệt lớn (kết nối với mặt đất) ở phía dưới.
Hệ thống ESP32 trên mạch tích hợp chip được đóng gói trong cả gói QFN kích
thước 6 mm × 6 mm và 5 mm × 5 mm.
Bộ
xử
Định danh Bộ nhớ flash Kích Sự miêu tả

nhúng ( MiB ) thước gói
lõi
SoC phát hành trước dùng để
ESP31B 2 0 thử nghiệm beta; không còn
6 mm × 6
hiệu lực.
mm
ESP32- Chip phát hành sản xuất ban
2 0
D0WDQ6 đầu của dòng ESP32.
Biến thể gói vật lý nhỏ hơn
ESP32-D0WD 2 0 tương tự như ESP32-
D0WDQ6.
Biến thể bộ nhớ flash nhúng 2
ESP32 - D2WD 2 2 5 mm × 5
MiB (16 Mibit).
mm
Bộ xử lý lõi đơn và biến thể bộ
ESP32-U4WDH 1 4 nhớ flash nhúng 4 MiB (32
Mibit).
ESP32 - S0WD 1 0 Biến thể bộ xử lý lõi đơn.
Mục đích sử dụng:
 Sử dụng trong các thiết bị thương mại

22
- Dây đeo tay IoT LED của Tập đoàn Alibaba , được sử dụng bởi những người tham
gia tại cuộc họp thường niên năm 2017 của tập đoàn. Mỗi thiết bị đeo tay hoạt động như
một "pixel", nhận lệnh để điều khiển ánh sáng LED phối hợp, cho phép hình thành "màn
hình trực tiếp và không dây".
- DingTalk's M1, một hệ thống theo dõi sinh trắc học. 
- LIFX Mini, một loạt các bóng đèn LED có thể điều khiển từ xa.
- Pium, một thiết bị làm thơm và làm thơm gia đình.
- HardKernel's Odroid Go, một bộ thiết bị chơi game cầm tay dựa trên ESP32 được
sản xuất để kỷ niệm 10 năm thành lập Odroid.
- Playdate , một máy chơi trò chơi điện tử cầm tay do Panic Inc và Teenage
Engineering đồng phát triển .
 Sử dụng trong các thiết bị công nghiệp
- Mô-đun Moduino X series X1 và X2 của TECHBASE là máy tính dựa trên
ESP32-WROVER / ESP32-WROVER-B để tự động hóa và giám sát công nghiệp, hỗ trợ
đầu vào / đầu ra kỹ thuật số, đầu vào tương tự và nhiều giao diện mạng máy tính khác
nhau.
- Thiết bị công nghiệp NORVI IIOT với ESP32-WROVER / ESP32-WROVER-B
SOC để tự động hóa và giám sát công nghiệp với đầu vào kỹ thuật số, đầu vào tương tự,
đầu ra rơle và nhiều giao diện truyền thông. Hỗ trợ LoRa và Nb-IoT dưới dạng mô-đun
mở rộng.
 Moodule camera OV2640
Module camera OV2640
Mô-đun máy ảnh OV2640, sử dụng cảm biến CMOS 1/4 inch OV2640. Với độ nhạy,
tính linh hoạt cap, hỗ trợ cho đầu ra JPEG. Và có thể hỗ cân bằng trắng, màu sắc, độ bão
hòa, độ tương phản và nhiều tham số khác được thiết lập để hỗ trợ định dạng JPEG /
RGB565, đáp ứng nhu cầu khác nhau.
Bộ cảm biến hình ảnh OV2640 có 2 megapixel (1632 × 1232 pixel), kích thước nhỏ,
điện áp hoạt động thấp và cung cấp tất cả các tính năng của một bộ xử lý hình ảnh nhờ
chip UXGA. UXGA cho hình ảnh lên đến 15 khung hình / giây. Người dùng có thể kiểm

23
soát hoàn toàn chất lượng hình ảnh, định dạng dữ liệu và chế độ truyền. Tất cả các chức
năng xử lý ảnh bao gồm đường cong gamma, cân bằng trắng, độ bão hòa, màu sắc, vv có
thể được lập trình thông qua giao diện SCCB. Bộ cảm biến hình ảnh OmmiVision ứng
dụng công nghệ cảm biến độc đáo, bằng cách giảm hoặc loại bỏ lỗi quang học hoặc điện
tử như tiếng ồn mô hình cố định, đuôi, nổi, vv, để cải thiện chất lượng hình ảnh, có được
một hình ảnh màu sắc rõ ràng và ổn định.
Thông số kỹ thuật
 Pixel: 1600 * 1200 (200W).
 Định dạng đầu ra: RGB565 / JPEG / YUV / YCbCr
 Điện áp hoạt động: 3.3V
 Kích thước mô-đun: 27mmX27mm=
 Tiêu cự tiêu cự tiêu cự tiêu chuẩn 3,6mm
 Độ nhạy, điện áp thấp thích hợp cho các ứng dụng nhúng
 Giao diện SCCB chuẩn, tương thích với giao diện I2C
 Định dạng xuất RawRGB, RGB (GRB4: 2: 2, RGB565 / 555/444), YUV (4: 2: 2)
và YCbCr (4: 2: 2)
 Hỗ trợ UXGA, SXGA, VGA, QVGA, QQVGA, CIF, QCIF và lên đến 40 × 30
kích cỡ
 Hỗ trợ tự động kiểm soát phơi sáng, điều khiển đạt được tự động, cân bằng trắng
tự động, tự động loại bỏ sọc nhẹ, hiệu chuẩn màu đen tự động. Kiểm soát chất lượng hình
ảnh bao gồm bão hòa màu sắc, màu sắc, gamma, độ nét ANTI_BLOOM và các cài đặt
khác.
 Hỗ trợ mở rộng quy mô, pan và cửa sổ
 Hỗ trợ nén hình ảnh, bạn có thể xuất dữ liệu hình ảnh JPEG
 Tích hợp thạc anh 12M,
 LDO tích hợp, chỉ cung cấp điện 3.3V có thể hoạt động bình thường

24
Hình 2.6. Module camera OV2640

25
CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG ĐỀ TÀI.
3.1.Thiết kế và thi công phần cứng
3.1.1. Lưu đồ thuật toán phần mềm

Hình 3.1 Lưu đồ hệ thống


*Nguyên Lý hoạt động của lưu đồ hệ thống: Khi bắt đầu khởi tạo chương trình ,
ESP kết nối với wifi. Nếu kết với với wifi thành công thì esp sẽ gửi dữ liệu video lên
trang web, ta có thể truy cập trang này để xem hoặc điều chỉnh các thông số của camera.
Nếu kết nối wifi thất bại thì esp sẽ tìm kiếm và kết nối lại với wifi.

26
#include "esp_camera.h"
#include <WiFi.h>
//
// WARNING!!! Make sure that you have either selected ESP32 Wrover Module,
// or another board which has PSRAM enabled
//

// Select camera model


//#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

#include "camera_pins.h"

const char* ssid = "ten_wifi";


const char* password = "matkhau_wifi";

void startCameraServer();

void setup() {
Serial.begin(115200);
Serial.setDebugOutput(true);
Serial.println();

camera_config_t config;
config.ledc_channel = LEDC_CHANNEL_0;
config.ledc_timer = LEDC_TIMER_0;

27
config.pin_d0 = Y2_GPIO_NUM;
config.pin_d1 = Y3_GPIO_NUM;
config.pin_d2 = Y4_GPIO_NUM;
config.pin_d3 = Y5_GPIO_NUM;
config.pin_d4 = Y6_GPIO_NUM;
config.pin_d5 = Y7_GPIO_NUM;
config.pin_d6 = Y8_GPIO_NUM;
config.pin_d7 = Y9_GPIO_NUM;
config.pin_xclk = XCLK_GPIO_NUM;
config.pin_pclk = PCLK_GPIO_NUM;
config.pin_vsync = VSYNC_GPIO_NUM;
config.pin_href = HREF_GPIO_NUM;
config.pin_sscb_sda = SIOD_GPIO_NUM;
config.pin_sscb_scl = SIOC_GPIO_NUM;
config.pin_pwdn = PWDN_GPIO_NUM;
config.pin_reset = RESET_GPIO_NUM;
config.xclk_freq_hz = 20000000;
config.pixel_format = PIXFORMAT_JPEG;
//init with high specs to pre-allocate larger buffers
if(psramFound()){
config.frame_size = FRAMESIZE_UXGA;
config.jpeg_quality = 10;
config.fb_count = 2;
} else {
config.frame_size = FRAMESIZE_SVGA;
config.jpeg_quality = 12;
config.fb_count = 1;
}

28
#if defined(CAMERA_MODEL_ESP_EYE)
pinMode(13, INPUT_PULLUP);
pinMode(14, INPUT_PULLUP);
#endif

// camera init
esp_err_t err = esp_camera_init(&config);
if (err != ESP_OK) {
Serial.printf("Camera init failed with error 0x%x", err);
return;
}

sensor_t * s = esp_camera_sensor_get();
//initial sensors are flipped vertically and colors are a bit saturated
if (s->id.PID == OV3660_PID) {
s->set_vflip(s, 1);//flip it back
s->set_brightness(s, 1);//up the blightness just a bit
s->set_saturation(s, -2);//lower the saturation
}
//drop down frame size for higher initial frame rate
s->set_framesize(s, FRAMESIZE_QVGA);

#if defined(CAMERA_MODEL_M5STACK_WIDE)
s->set_vflip(s, 1);
s->set_hmirror(s, 1);
#endif

WiFi.begin(ssid, password);

29
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
startCameraServer();

Serial.print("Camera Ready! Use 'http://");


Serial.print(WiFi.localIP());
Serial.println("' to connect");
}

void loop() {
// put your main code here, to run repeatedly:
delay(10000);
}
3.1.2. Sơ đồ mạch điều khiển

Hình 3.2: sơ đồ mạch điều khiển

30
3.1.3. Hình ảnh thực tế
Hình 3.3. Mô hình sản phẩm thực tế

Hình 3.4. Kết quả thu được

Sản phẩm thật đáp ứng một số yêu cầu:


- Chi phí thiết kế thấp
- Hoạt động ổn định
- Thiết kế gọn, nhẹ và mang tính thẩm mĩ.
- Dễ dàng cho người sử dụng.
Yêu cầu của giao diện điều khiển:
- Thiết kế đơn giản, dễ sử dụng.
- Giao điện trực quan.
- Hoạt động ổn định.

31
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Trên đây là toàn bộ nội dung đề tài “Thiết kế khóa tự động nhận diện bằng khuôn
mặt ” mà em đã thực hiện. Đề tài là sự kết tinh giữa lý thuyết và thực hành, đó là kết quả
của quá trình không ngừng học tập, nghiên cứu của nhóm em và sự hướng dẫn nhiệt tình
của thầy cô trong khoa công nghệ điện tử và truyền thông. Do đó, em đã hoàn hiện đề tài
với sản phẩm là mô hình hệ thống khóa tự động nhận diện bằng khuôn mặt, sản phẩm còn
có thể phát triển cao hơn nữa nhưng cần có thêm thời gian để nghiên cứu để học hỏi, sản
phẩm có thể áp dụng vào đời sống cũng như làm bộ thí nghiệm môn học cho sinh viên
khóa sau. Vì thời gian thực hiện có hạn nên đề tài của em còn có những hạn chế chưa thể
khắc phục, chúng em mong rằng trong thời gian không xa đề tài của chúng em khắc phục
được những hạn chế đó và phát triển hơn nữa. Em xin trân thành cảm ơn!

32
TÀI LIỆU THAM KHẢO
1.https://www.youtube.com/watch/Hoccokhi.vn
2. https://arduino.vn
4. https://linhkiendientu.vn
5. https://vi.wikipedia.org/wiki/
6. https://randomnerdtutorials.com/projects-esp32-cam

33

You might also like