1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(TIỂU LUẬN) bài tập lớn MẠNG kết nối vạn vật xây DỰNG hệ THỐNG NHẬN DIỆN KHUÔN mặt SINH VIÊN TRƯỜNG đại học KINH tế QUỐC dân tại GIẢNG ĐƯỜNG a2 BẰNG ARDUINO

47 16 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 47
Dung lượng 1,39 MB

Nội dung

TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN VIỆN CÔNG NGHỆ THÔNG TIN VÀ KINH TẾ SỐ BÀI TẬP LỚN MẠNG KẾT NỐI VẠN VẬT ĐỀ TÀI : XÂY DỰNG HỆ THỐNG NHẬN DIỆN KHUÔN MẶT SINH VIÊN TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN TẠI GIẢNG ĐƯỜNG A2 BẰNG ARDUINO Giảng viên hướng dẫn : TH.S Nguyễn Thanh Hương Sinh viên thực : Nguyễn Xuân Dương Mã sinh viên : 11181128 Hà Nội, Năm 2021 MỤC LỤC LỜI MỞ ĐẦU CHƯƠNG 1: LỊCH SỬ HÌNH THÀNH VÀ PHÁT TRIỂN CỦA CÁC ỨNG DỤNG IOT…………………………………………………………………………… Khái Niệm Lịch Sử Hình Thành Và Phát Triển Các Ứng Dụng Phổ Biến Của Mạng Kết Nối Vạn Vật(IOT) 3.1) Hệ Thống Nhà Thông Minh………………………………………… 3.2) Hệ Thống Ứng Dụng Tổ Chức……………………………………… a) Y Tế Và Chăm Sóc Sức Khỏe………………… …………… b) Vận Chuyển…………………………………… …………… Giao Tiếp………………… ………………………………… c) 3.3) Hệ Thống Ứng Dụng Công Nghiệp………………………………… Xu Hướng Và Đặc Điểm…………… ……………………………………… 4.1) Xu Hướng……………………………………………………………… 4.2) Đặc Điểm……………………………………………………………… CHƯƠNG 2: TỔNG QUAN VỀ GIẢNG ĐƯỜNG A2 TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN Giới Thiệu Xây Dựng Bài Toán CHƯƠNG 3: TỔNG QUAN VỀ HỆ THỐNG NHẬN DIỆN KHUÔN MẶT SINH VIÊN TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN TẠI GIẢNG ĐƯỜNG A2 1) Mục Đích Xây Dựng Hệ Thống 2) Lợi Ích Của Hệ Thống…………………………………………………………9 3) Yêu Cầu Của Hệ Thống Nhận Diện Khuôn Mặt a Yêu Cầu Bảo Mật Thông Tin Các Bạn Sinh Viên b Yêu Cầu Hệ Thống Và Các Bạn Sinh Viên CHƯƠNG 4: QUÁ TRÌNH XÂY DỰNG HỆ THỐNG NHẬN DIỆN KHUÔN MẶT SINH VIÊN TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN TẠI GIẢNG ĐƯỜNG A2 1) Cài Đặt Công Cụ Và Môi Trường Xây Dựng Hệ Thống a) Cài Đặt Arduino IDE b) 2) Cài Đặt ESP32………………………………………… Tìm Hiểu Và Cài Đặt ESP32 Cam - board Trên Arduino IDE MỤC LỤC 3) 4) a) Tổng Quan Về Module ESP32 b) Cài Đặt ESP32 Cam - board Arduino IDE Thiết Kế Hệ Thống Nhận Diện Khuôn Mặt Tại Giảng Đường A2 a) Khảo Sát Thực Tế………………… b) Thiết Kế Sơ Đồ Lắp Đặt Hệ Thống Xây Dựng Hệ Thống……………………………………………… a) Lược Đồ Phân Vùng Lưu Trữ Liên Tục………………… b) Chụp Dữ Liệu Khuôn Mặt Để Lưu Trữ Liên Tục………………… c) Kích Hoạt Nhận Dạng Khn Mặt………………… d) Khởi Động Hệ Thống………………… e) Xóa Một Khn Mặt Khỏi Hệ Thống Máy Chủ………………… 5) Quy Trình Vận Hành Hệ Thống…………………………………………… a) Cách Thức Hoạt Động….………………… b) Quy Trình Vận Hành Hệ Thống Các Máy Chủ………………… CHƯƠNG 5: KẾT LUẬN 1) Những Kết Quả Đạt Được 2) Hướng Phát Triển Trong Tương Lai DANH SÁCH CÁC HÌNH ẢNH Hình 1: ESP Cam thiết bị ngoại vi……………………………………………….15 Hình 2: Thơng số kỹ thuật ESP Cam……………………………………………… 16 Hình 3: Bộ lập trình FTDI……………………………………………………………….16 Hình 4: Chi tiết module AI - Thinker ……………………………………………… 17 Hình 5: Kết nối ESP Cam lập trình FTDI ……………………………………… 20 Hình 6: Thiết lập địa IP cục máy chủ ESP Cam…………………………… 22 Hình 7: Sơ đồ khối giảng đường A2…………………………………………………….23 Hình 8: Sơ đồ tịa nhà A2……………………………………………………………… 23 Hình 9: Sơ đồ tầng G giảng đường A2………………………………………………… 24 Hình 10: Thiết kế hệ thống lắp đặt tầng G………………………………………………25 Hình 11: Quy trình phân tích hệ thống…………………………………………… 37 Hình 12: Sơ đồ vận hành hệ thống………………………………………………………39 MẠNG KẾT NỐI VẠN VẬT HỆ THỐNG NHẬN DIỆN KHN MẶT SINH VIÊN LỜI MỞ ĐẦU Cách mạng cơng nghiệp 4.0 diễn với tốc độ nhanh chóng Số hóa dần sử dụng để điều hành quản trị việc sản xuất kinh doanh nhằm đạt hiệu tối ưu thời gian ngắn Các giải pháp số hóa giúp giảm chi phí vận hành, linh hoạt việc định hiệu quản trị sản xuất từ tạo giá trị cạnh tranh cho doanh nghiệp Những năm đầu thập niên hồn thiện nữa, cơng nghệ thiết lập, ứng dụng hồn tồn triển khai thực tế Có thể vào thời khắc tháng 12 năm 2029, khơng nghi ngờ phát minh mà ngày tưởng tượng Nhưng tại, sau xu hướng công nghệ thập kỷ mới: điện toán đám mây (CLOUD COMPUTING); Chuỗi khối (Blockchain) ; Trí Tuệ Nhân Tạo(AI); Dữ liệu lớn(Big Data) không nhắc đến Mạng kết nối vạn vật(IOT) Mạng kết nối vạn vật(IOT) hệ thống mạng lưới thiết bị kết nối internet,có thể thu thập trao đổi liệu Ngày giới có hàng chục tỷ thiết bị, ứng dụng IOT cài đặt với vô số ngành nghề sử dụng khác như: Công nghiệp sản xuất, dầu khí-khai khống, giao thơng, bảo hiểm, nơng nghiệp, lượng, quốc phòng, sở hạ tầng, khách sạn, chăm sóc sức khỏe, giáo dục,….Trong số ngành nghề lĩnh vực hệ thống ứng dụng IOT liên quan đến giáo dục phát triển lắp đặt chậm cả, nhiên vài năm tới ứng dụng IOT giáo dục dự báo phát triển mạnh IOT giúp làm cho giáo dục dễ tiếp cận mặt địa lý, vị trí khả Có vơ số hội để tích hợp giải pháp IOT vào môi trường học đường đặc biệt môi trường giảng đường đại học Nhận thức điều em vận dụng kiến thức học sử dụng ARDUINO để xây dựng hệ thống nhận diện khuôn mặt sinh viên trường đại học Kinh Tế Quốc Dân(”Ngôi trường em theo học”) Là sinh viên trường đại học Kinh Tế Quốc Dân em nhận thấy với số lượng sinh viên lên tới gần 25.000 người việc có kẽ xấu vào điều tránh khỏi, chưa kể tới việc học hộ, thi hộ,…nói chung có nhiều vấn đề hệ thống nhận dạng khuôn mặt sinh viên giải pháp em nghỉ để nhận biết bạn sinh viên trường Khi hoàn thành xong hệ thống em xin chân thành Trang | MẠNG KẾT NỐI VẠN VẬT HỆ THỐNG NHẬN DIỆN KHUÔN MẶT SINH VIÊN cảm ơn cô giáo, TH.S Nguyễn Thanh Hương người trực tiếp hướng dẫn em trình xây dựng hệ thống CHƯƠNG 1: LỊCH SỬ HÌNH THÀNH VÀ PHÁT TRIỂN CỦA CÁC ỨNG DỤNG IOT Trang | MẠNG KẾT NỐI VẠN VẬT HỆ THỐNG NHẬN DIỆN KHN MẶT SINH VIÊN Internet vạn vật (IOT) mơ tả mạng lưới đối tượng vật lý - "sự vật" đối tượng - nhúng với cảm biến, phần mềm công nghệ khác nhằm mục đích kết nối trao đổi liệu với thiết bị hệ thống khác qua Internet Khái Niệm Internet of Things (IOT) hệ thống thiết bị máy tính, máy móc, vật thể, động vật người có liên quan đến nhau, cung cấp định danh có khả để truyền liệu qua mạng mà không cần tương tác người với người hay người với máy tính Thing Internet of Things (Mạng lưới vạn vật kết nối) người có cấy ghép để giám sát hoạt động tim, động vật với chip sinh học (có khả tự động nhận truyền tín hiệu radio), tơ có cảm biến lắp sẵn để cảnh báo cho người lái áp suất lốp thấp vật thể khác tự nhiên hay người làm mà gán địa IP có khả truyền liệu qua mạng IOT bao gồm hội tụ đến đỉnh cao công nghệ không dây, hệ thống điện vi mô (MEMS), microservice (một kiểu kiến trúc phần mềm, chia phần mềm thành dịch vụ nhỏ) Internet Điều phá vỡ tường silo công nghệ vận hành (OT) công nghệ thông tin (IT), cho phép phân tích liệu phi cấu trúc để có hiểu biết, cải thiện hiệu Lịch Sử Hình Thành Và Phát Triển Khái niệm mạng lưới thiết bị thông minh thảo luận vào đầu năm 1982, với máy bán hàng tự động Coca-Cola sửa đổi Đại học Carnegie Mellon trở thành thiết bị kết nối internet đầu tiên, khơng hiểu hàng tồn kho liệu đồ uống nạp có lạnh hay khơng Bài báo năm 1991 Mark Weiser máy tính phổ biến, "Máy tính kỷ 21", địa điểm học thuật UbiComp PerCom tạo tầm nhìn đương đại IOT Năm 1994, Reza Raji mô tả khái niệm IEEE Spectrum "[di chuyển] gói liệu nhỏ đến tập hợp lớn nút, để tích hợp tự động hóa thứ từ thiết bị gia dụng đến toàn nhà máy" Trang | MẠNG KẾT NỐI VẠN VẬT HỆ THỐNG NHẬN DIỆN KHUÔN MẶT SINH VIÊN Từ năm 1993 đến 1997, số công ty đề xuất giải pháp Microsoft's at Work Novell's NEST Lĩnh vực đạt động lực Bill Joy hình dung giao tiếp thiết bị với thiết bị phần khn khổ "Sáu trang web" ơng, trình bày Diễn đàn Kinh tế Thế giới Davos năm 1999 Thuật ngữ "Internet of things" đặt Kevin Ashton Procter & Gamble, sau Trung tâm Auto-ID MIT, vào năm 1999, ông thích cụm từ "Internet for things" Tại thời điểm đó, ơng coi nhận dạng tần số vơ tuyến (RFID) điều cần thiết Internet vạn vật, cho phép máy tính quản lý tất thứ riêng lẻ Định nghĩa Internet vạn vật "chỉ đơn giản thời điểm mà nhiều 'thứ đối tượng' kết nối với Internet người", Cisco Systems ước tính IOT "sinh ra" từ năm 2008 đến năm 2009, với tỷ lệ vạn vật / người ngày tăng từ 0,08 năm 2003 lên 1,84 năm 2010 Mặc dù đến năm 1999 khái niệm Internet of Things gọi tên, công nghệ phát triển nhiều thập kỷ Ví dụ, thiết bị Internet máy Coke Carnegie Melon University vào đầu năm 1980 Các lập trình viên kết nối với máy thơng qua Internet, kiểm tra trạng thái máy xem xem máy có đồ uống lạnh hay khơng Nếu có đồ uống, họ đến để lấy Các Ứng Dụng Phổ Biến Của Mạng Kết Nối Vạn Vật(IOT) Bộ ứng dụng mở rộng cho thiết bị IOT thường chia thành không gian tiêu dùng, thương mại, công nghiệp sở hạ tầng 3.1) Hệ Thống Nhà Thông Minh Các thiết bị IOT phần khái niệm lớn tự động hóa gia đình, bao gồm hệ thống chiếu sáng, sưởi ấm điều hịa khơng khí, phương tiện hệ thống an ninh hệ thống camera Các lợi ích lâu dài bao gồm tiết kiệm lượng cách tự động đảm bảo tắt đèn thiết bị điện tử cách làm cho cư dân nhà biết cách sử dụng Trang | MẠNG KẾT NỐI VẠN VẬT HỆ THỐNG NHẬN DIỆN KHUÔN MẶT SINH VIÊN Nhà thơng minh nhà tự động dựa tảng trung tâm điều khiển thiết bị thiết bị thông minh Ví dụ, cách sử dụng HomeKit Apple, nhà sản xuất kiểm sốt sản phẩm phụ kiện gia đình họ ứng dụng thiết bị iOS iPhone Apple Watch Đây ứng dụng chuyên dụng ứng dụng gốc iOS Siri Điều chứng minh trường hợp Lenovo Smart Home Essentials, dịng thiết bị nhà thơng minh điều khiển thông qua ứng dụng Home Apple Siri mà khơng cần kết nối Wi-Fi Ngồi cịn có trung tâm nhà thơng minh chun dụng cung cấp dạng tảng độc lập để kết nối sản phẩm nhà thông minh khác chúng bao gồm Amazon Echo, Google Home, HomePod Apple SmartThings Hub Samsung Ngoài hệ thống thương mại, có nhiều hệ sinh thái mã nguồn mở, không độc quyền; bao gồm Home Assistant, OpenHAB Domoticz 3.2) Hệ Thống Ứng Dụng Tổ Chức a) Y Tế Và Chăm Sóc Sức Khỏe Internet of Medical Things (IOMT) ứng dụng IOT cho mục đích liên quan đến y tế sức khỏe, thu thập phân tích liệu để nghiên cứu giám sát IOMT gọi "Chăm sóc sức khỏe thông minh", công nghệ để tạo hệ thống chăm sóc sức khỏe số hóa, kết nối nguồn lực y tế sẵn có dịch vụ chăm sóc sức khỏe Các thiết bị IOT sử dụng để kích hoạt hệ thống theo dõi sức khỏe từ xa thông báo khẩn cấp Các thiết bị theo dõi sức khỏe bao gồm từ máy đo huyết áp nhịp tim đến thiết bị tiên tiến có khả theo dõi thiết bị cấy ghép chuyên dụng, chẳng hạn máy tạo nhịp tim, thiết bị đeo tay điện tử Fitbit máy trợ thính tiên tiến Một số bệnh viện bắt đầu triển khai "giường thông minh" phát họ có người bệnh nhân cố gắng đứng dậy Nó tự điều chỉnh để đảm bảo áp lực hỗ trợ thích hợp áp dụng cho bệnh nhân mà không cần tương tác tay y tá Một báo cáo năm 2015 Goldman Sachs thiết bị IOT chăm sóc sức khỏe "có thể tiết kiệm cho Hoa Kỳ 300 tỷ la chi phí chăm sóc sức khỏe hàng năm Trang | MẠNG KẾT NỐI VẠN VẬT HỆ THỐNG NHẬN DIỆN KHUÔN MẶT SINH VIÊN Arduino IDE cài đặt từ trang web Arduino: C > Users > *your-user-name* > AppData > Local > Arduino15 > packages > esp32 > hardware > esp32 > 1.0.4 Thêm ba dòng sau vào bên tùy chọn phân vùng có cho esp32wrover board tệp boards.txt esp32wrover.menu.PartitionScheme.rzo_partition=Face Recognition (2621440 bytes with OTA) esp32wrover.menu.PartitionScheme.rzo_partition.build.partitions=rzo_partitions esp32wrover.menu.PartitionScheme.rzo_partition.upload.maximum_size=2621440  Tạo board mới: rzo.name=Nhân Diên Khuon Mat // Đặt Tên Vùng Lưu Trữ rzo.upload.tool=esptool_py rzo.upload.maximum_size=1310720 rzo.upload.maximum_data_size=2621440 rzo.upload.wait_for_upload_port=true # Tạo Vùng Lưu Trữ Tối Đa rzo.serial.disableDTR=true rzo.serial.disableRTS=true rzo.build.mcu=esp32 rzo.build.core=esp32 rzo.build.variant=esp32 rzo.build.board=ESP32_DEV rzo.build.f_cpu=240000000L rzo.build.flash_size=4MB rzo.build.flash_freq=40m rzo.build.flash_mode=dio rzo.build.boot=dio rzo.build.partitions=default rzo.build.defines= rzo.menu.PSRAM.disabled=Disabled rzo.menu.PSRAM.disabled.build.defines= Trang | 27 MẠNG KẾT NỐI VẠN VẬT HỆ THỐNG NHẬN DIỆN KHUÔN MẶT SINH VIÊN rzo.menu.PSRAM.enabled=Enabled rzo.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue # Xây Dựng Lược Đồ Phân Vùng rzo.menu.PartitionScheme.default=Default rzo.menu.PartitionScheme.default.build.partitions=default rzo.menu.PartitionScheme.minimal=Minimal (2MB FLASH) rzo.menu.PartitionScheme.minimal.build.partitions=minimal rzo.menu.PartitionScheme.no_ota=No OTA (Large APP) rzo.menu.PartitionScheme.no_ota.build.partitions=no_ota rzo.menu.PartitionScheme.no_ota.upload.maximum_size=2097152 rzo.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA) rzo.menu.PartitionScheme.huge_app.build.partitions=huge_app rzo.menu.PartitionScheme.huge_app.upload.maximum_size=3145728 rzo.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (Large APPS with OTA) rzo.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs rzo.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080 rzo.menu.PartitionScheme.fatflash=16M Fat rzo.menu.PartitionScheme.fatflash.build.partitions=ffat rzo.menu.PartitionScheme.rzo_partition=Face Recognition (2621440 bytes with OTA) rzo.menu.PartitionScheme.rzo_partition.build.partitions=rzo_partition rzo.menu.PartitionScheme.rzo_partition.upload.maximum_size=2621440 rzo.menu.CPUFreq.240=240MHz (WiFi/BT) rzo.menu.CPUFreq.240.build.f_cpu=240000000L rzo.menu.CPUFreq.160=160MHz (WiFi/BT) rzo.menu.CPUFreq.160.build.f_cpu=160000000L rzo.menu.CPUFreq.80=80MHz (WiFi/BT) rzo.menu.CPUFreq.80.build.f_cpu=80000000L rzo.menu.CPUFreq.40=40MHz (40MHz XTAL) rzo.menu.CPUFreq.40.build.f_cpu=40000000L rzo.menu.CPUFreq.26=26MHz (26MHz XTAL) rzo.menu.CPUFreq.26.build.f_cpu=26000000L rzo.menu.CPUFreq.20=20MHz (40MHz XTAL) rzo.menu.CPUFreq.20.build.f_cpu=20000000L rzo.menu.CPUFreq.13=13MHz (26MHz XTAL) rzo.menu.CPUFreq.13.build.f_cpu=13000000L rzo.menu.CPUFreq.10=10MHz (40MHz XTAL) rzo.menu.CPUFreq.10.build.f_cpu=10000000L # Cài Đặt Chế Độ Sáng camera quan sát rzo.menu.FlashMode.qio=QIO rzo.menu.FlashMode.qio.build.flash_mode=dio rzo.menu.FlashMode.qio.build.boot=qio rzo.menu.FlashMode.dio=DIO rzo.menu.FlashMode.dio.build.flash_mode=dio rzo.menu.FlashMode.dio.build.boot=dio rzo.menu.FlashMode.qout=QOUT Trang | 28 MẠNG KẾT NỐI VẠN VẬT HỆ THỐNG NHẬN DIỆN KHUÔN MẶT SINH VIÊN rzo.menu.FlashMode.qout.build.flash_mode=dout rzo.menu.FlashMode.qout.build.boot=qout rzo.menu.FlashMode.dout=DOUT rzo.menu.FlashMode.dout.build.flash_mode=dout rzo.menu.FlashMode.dout.build.boot=dout # Tần Suất sáng rzo.menu.FlashFreq.80=80MHz rzo.menu.FlashFreq.80.build.flash_freq=80m rzo.menu.FlashFreq.40=40MHz rzo.menu.FlashFreq.40.build.flash_freq=40m # Kích Thước Vùng Sáng rzo.menu.FlashSize.4M=4MB (32Mb) rzo.menu.FlashSize.4M.build.flash_size=4MB rzo.menu.FlashSize.2M=2MB (16Mb) rzo.menu.FlashSize.2M.build.flash_size=2MB rzo.menu.FlashSize.2M.build.partitions=minimal rzo.menu.FlashSize.16M=16MB (128Mb) rzo.menu.FlashSize.16M.build.flash_size=16MB rzo.menu.FlashSize.16M.build.partitions=ffat # Tốc Độ Tải Lên rzo.menu.UploadSpeed.921600=921600 rzo.menu.UploadSpeed.921600.upload.speed=921600 rzo.menu.UploadSpeed.115200=115200 rzo.menu.UploadSpeed.115200.upload.speed=115200 rzo.menu.UploadSpeed.256000.windows=256000 rzo.menu.UploadSpeed.256000.upload.speed=256000 rzo.menu.UploadSpeed.230400.windows.upload.speed=256000 rzo.menu.UploadSpeed.230400=230400 rzo.menu.UploadSpeed.230400.upload.speed=230400 rzo.menu.UploadSpeed.460800.linux=460800 rzo.menu.UploadSpeed.460800.macosx=460800 rzo.menu.UploadSpeed.460800.upload.speed=460800 rzo.menu.UploadSpeed.512000.windows=512000 rzo.menu.UploadSpeed.512000.upload.speed=512000 #Mức Độ Gỡ Lỗi rzo.menu.DebugLevel.none=None rzo.menu.DebugLevel.none.build.code_debug=0 rzo.menu.DebugLevel.error=Error Trang | 29 MẠNG KẾT NỐI VẠN VẬT HỆ THỐNG NHẬN DIỆN KHUÔN MẶT SINH VIÊN rzo.menu.DebugLevel.error.build.code_debug=1 rzo.menu.DebugLevel.warn=Warn rzo.menu.DebugLevel.warn.build.code_debug=2 rzo.menu.DebugLevel.info=Info rzo.menu.DebugLevel.info.build.code_debug=3 rzo.menu.DebugLevel.debug=Debug rzo.menu.DebugLevel.debug.build.code_debug=4 rzo.menu.DebugLevel.verbose=Verbose rzo.menu.DebugLevel.verbose.build.code_debug=5  Trong Arduino IDE, lược đồ có sẵn cho borad board thêm định nghĩa vào:  Đóng mở lại IDE để xác nhận lược đồ phân vùng 'Nhận dạng khn mặt' có sẵn menu Cơng cụ b) Chụp Dữ Liệu Khuôn Mặt Để Lưu Trữ Liên Tục CameraWebServer IDE không lưu khuôn mặt đăng ký theo cách tồn điện Để sửa đổi để sử dụng phân vùng mới, số thay đổi cần thực đoạn code Trong Arduino IDE, tạo CameraWebServer Sketch hoạt động máy chủ từ hướng dẫn trước cách lưu với tên tệp chẳng hạn CameraWebServerPermanent  Trong Arduino IDE hiển thị tab hình sau : Trang | 30 MẠNG KẾT NỐI VẠN VẬT HỆ THỐNG NHẬN DIỆN KHUÔN MẶT SINH VIÊN Trong tab thứ hai (app_httpd.cpp), thực thay đổi sau Sau #include "fr_osystem.h" (xung quanh dòng 24), thêm: #include "fr_flash.h"; Thay đổi int8_t left_sample_face = register_face (& id_list, align_face); (& id_list, align_face); (xung quanh dòng 178) đến: int8_t left_sample_face = enroll_face_id_to_flash(&id_list, aligned_face); Sau face_id_init (& id_list, FACE_ID_SAVE_NUMBER, ENROLL_CONFIRM_TIMES); (xung quanh dòng 636) thêm: read_face_id_from_flash(&id_list);  Flash chạy Sketch theo cách tương tự trước Dữ liệu khuôn mặt đăng ký lưu vào phân vùng nhớ flash c) Kích Hoạt Nhận Dạng Khuôn Mặt  Khởi động Arduino IDE, tạo Sketch #include "esp_camera.h" #include "fd_forward.h" #include "fr_forward.h" #include "fr_flash.h" #define relayPin 12 // pin sử dụng unsigned long currentMillis = 0; unsigned long openedMillis = 0; long interval = 5000; // mở khóa mili giây 10 11 #define ENROLL_CONFIRM_TIMES Trang | 31 MẠNG KẾT NỐI VẠN VẬT HỆ THỐNG NHẬN DIỆN KHUÔN MẶT SINH VIÊN 12 #define FACE_ID_SAVE_NUMBER 13 14 static inline mtmn_config_t app_mtmn_config() 15 { 16 mtmn_config_t mtmn_config = {0}; 17 mtmn_config.type = FAST; 18 mtmn_config.min_face = 80; 19 mtmn_config.pyramid = 0.707; 20 mtmn_config.pyramid_times = 4; 21 mtmn_config.p_threshold.score = 0.6; 22 mtmn_config.p_threshold.nms = 0.7; 23 mtmn_config.p_threshold.candidate_number = 20; 24 mtmn_config.r_threshold.score = 0.7; 25 mtmn_config.r_threshold.nms = 0.7; 26 mtmn_config.r_threshold.candidate_number = 10; 27 mtmn_config.o_threshold.score = 0.7; 28 mtmn_config.o_threshold.nms = 0.7; 29 mtmn_config.o_threshold.candidate_number = 1; 30 return mtmn_config; 31 } 32 mtmn_config_t mtmn_config = app_mtmn_config(); 33 34 static face_id_list id_list = {0}; 35 dl_matrix3du_t *image_matrix = NULL; 36 camera_fb_t * fb = NULL; 37 38 dl_matrix3du_t *aligned_face = dl_matrix3du_alloc(1, FACE_WIDTH, FACE_HEIG HT, 3); 39 40 void setup() { 41 Serial.begin(115200); // Tốc độ boaud 42 // đặt chế độ ban đầu vào cho chân relay led 43 digitalWrite(relayPin, LOW); 44 pinMode(relayPin, OUTPUT); 45 46 camera_config_t config; 47 config.ledc_channel = LEDC_CHANNEL_0; 48 config.ledc_timer = LEDC_TIMER_0; 49 config.pin_d0 = 5; 50 config.pin_d1 = 18; Trang | 32 MẠNG KẾT NỐI VẠN VẬT HỆ THỐNG NHẬN DIỆN KHUÔN MẶT SINH VIÊN 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 config.pin_d2 = 19; config.pin_d3 = 21; config.pin_d4 = 36; config.pin_d5 = 39; config.pin_d6 = 34; config.pin_d7 = 35; config.pin_xclk = 0; config.pin_pclk = 22; config.pin_vsync = 25; config.pin_href = 23; config.pin_sscb_sda = 26; config.pin_sscb_scl = 27; config.pin_pwdn = 32; config.pin_reset = -1; config.xclk_freq_hz = 20000000; config.pixel_format = PIXFORMAT_JPEG; config.frame_size = FRAMESIZE_SVGA; config.jpeg_quality = 12; config.fb_count = 1; 71 72 73 74 75 esp_err_t err = esp_camera_init(&config); if (err != ESP_OK) { Serial.printf("Camera init failed with error 0x%x", err); return; } 77 78 79 // thả xuống kích thước khung hình để có tốc độ khung hình ban đầu cao 70 76 sensor_t * s = esp_camera_sensor_get(); s->set_framesize(s, FRAMESIZE_QVGA); 80 81 face_id_init(&id_list, FACE_ID_SAVE_NUMBER, ENROLL_CONFIRM_TIMES); 82 read_face_id_from_flash(&id_list); // Đọc liệu khuôn mặt từ đèn flash bo mạch 83 } 84 85 void rzoCheckForFace() { 86 currentMillis = millis(); 87 if (run_face_recognition()) { // chức nhận dạng khuôn mặt trả true 88 Serial.println("Face recognised"); 89 digitalWrite(relayPin, HIGH); //đóng(tiếp điện ) relay Trang | 33 MẠNG KẾT NỐI VẠN VẬT HỆ THỐNG NHẬN DIỆN KHUÔN MẶT SINH VIÊN 90 openedMillis = millis(); //thời gian relay thoát 91 } 92 if (currentMillis - interval > openedMillis){ // thời gian đến thời gian nhận diện khuôn mặt >5s 93 digitalWrite(relayPin, LOW); //mở relay 94 } 95 } 96 97 bool run_face_recognition() { 98 bool faceRecognised = false; // mặc định 99 int64_t start_time = esp_timer_get_time(); 100 fb = esp_camera_fb_get(); 101 if (!fb) { 102 Serial.println("Camera capture failed"); 103 return false; 104 } 105 106 int64_t fb_get_time = esp_timer_get_time(); 107 Serial.printf("Get one frame in %u ms.\n", (fb_get_time - start_time) / 1000); // dòng bình luận 108 109 image_matrix = dl_matrix3du_alloc(1, fb->width, fb->height, 3); 110 uint32_t res = fmt2rgb888(fb->buf, fb->len, fb->format, image_matrix>item); 111 if (!res) { 112 Serial.println("to rgb888 failed"); 113 dl_matrix3du_free(image_matrix); 114 } 115 116 esp_camera_fb_return(fb); 117 118 box_array_t *net_boxes = face_detect(image_matrix, &mtmn_config); 119 120 if (net_boxes) { 121 if (align_face(net_boxes, image_matrix, aligned_face) == ESP_OK) { 122 123 int matched_id = recognize_face(&id_list, aligned_face); 124 if (matched_id >= 0) { 125.Serial.printf("Match Face ID: %u\n", matched_id); 126.faceRecognised = true; // hàm trả true 127 } else { Trang | 34 MẠNG KẾT NỐI VẠN VẬT HỆ THỐNG NHẬN DIỆN KHUÔN MẶT SINH VIÊN 128.Serial.println("No Match Found"); 129.matched_id = -1; 130 } 131 } else { 132 Serial.println("Face Not Aligned"); 133 } 134 135 136 137 138 free(net_boxes->box); free(net_boxes->landmark); free(net_boxes); } 140 141 dl_matrix3du_free(image_matrix); return faceRecognised; 139 142.} 143 144.void loop() { 145 rzoCheckForFace(); 146 }  Code hàm rzoCheckForFace () đoạn code thay đổi thành hàm yêu cầu khuôn mặt nhận dạng  Khi flash chạy Sketch này, ‘Khuôn mặt nhận dạng’ hình camera giám sát nối tiếp khn mặt phù hợp tìm thấy d) Khởi Động Hệ Thống  Sketch kết hợp với relay module Mosfet sử dụng để bật tắt thiết bị điện  Truy cập máy chủ để phát trực tuyến camera giám sát mạng cục bộ, mở trình duyệt nhập địa IP ESP32-CAM, chọn nút bắt đầu để tiến hành giám sát nhận diện khuôn mặt e) Xóa Một Khn Mặt Khỏi Hệ Thống Máy Chủ Khởi động Arduino IDE, tạo sketch #include "esp_camera.h" #include "fd_forward.h" Trang | 35 MẠNG KẾT NỐI VẠN VẬT HỆ THỐNG NHẬN DIỆN KHUÔN MẶT SINH VIÊN #include "fr_forward.h" #include "fr_flash.h" #define ENROLL_CONFIRM_TIMES #define FACE_ID_SAVE_NUMBER static face_id_list id_list = {0}; void setup() { Serial.begin(115200); face_id_init(&id_list, FACE_ID_SAVE_NUMBER, ENROLL_CONFIRM_TIMES); read_face_id_from_flash(&id_list); / /Đọc liệu khuôn mặt từ đèn flash bo mạch Serial.println("Faces Read"); while ( delete_face_id_in_flash(&id_list) > -1 ) { Serial.println("Deleting Face"); } Serial.println("All Deleted"); } void loop() { } 5) Quy Trình Vận Hành Hệ Thống a) Cách Thức Hoạt Động  Hệ thống nhận diện khuôn mặt sinh viên trường Đại Học Kinh Tế Quốc Dân vào giảng đường A2 hệ thống nhận diện khuôn mặt trực tiếp qua camera quan sát  Hệ thống nhận diện sử dụng sinh trắc học để định vị đặc điểm khuôn mặt bạn sinh viên qua camera quan sát Sau so sánh thông tin vừa nhận diện với liệu lưu trữ hệ thống máy chủ để tìm kết phù hợp Trường hợp khơng tìm thấy kết phù hợp hệ thống máy chủ hiển thị cảnh báo có người lạ vào tịa nhà  Ngun lý hoạt động hệ thống:  Lấy mẫu: camera quan sát Trang | 36 MẠNG KẾT NỐI VẠN VẬT HỆ THỐNG NHẬN DIỆN KHUÔN MẶT SINH VIÊN  viên  Phát hiện: nhận dạng đặc điểm khuôn mặt sinh  So sánh: liệu vừa thu tiến hành so Phân tích: liệu trích xuất từ mẫu sánh với liệu lưu trữ hệ thống máy chủ  Kết quả: hệ thống đưa thơng tin có phải sinh viên trường đại học kinh tế quốc dân hay không  Lưu trữ: cuối hệ thống lưu trữ danh sách sinh  viên vào giảng đường A2 Khi bạn sinh viên di chuyển vào giảng đường A2 lọt vào tầm ngắm camera quan sát, hệ thống tự động xác định vị trí khn mặt thực thuật tốn để trích dẫn liệu khn mặt Trong q trình di chuyển vào giảng đường A2 bạn sinh viên giúp hệ thống dễ dàng nhận diện khuôn mặt Sau sơ đồ quy trình phân tích liệu:  Hình 11: Quy trình phân tích hệ thống Tóm lại, hệ thống phân tích 68 đặc điểm sinh trắc khuôn mặt khoảng cách mắt, khoảng cách từ trán đến cằm, chiều dài, chiều rộng mặt,… tạo nên “chìa khóa” cho khn mặt bạn sinh viên lưu lại phần mềm hệ thống dạng thuật toán Mỗi có đối tượng, máy qt phân tích liệu Trang | 37 MẠNG KẾT NỐI VẠN VẬT b) HỆ THỐNG NHẬN DIỆN KHN MẶT SINH VIÊN xem khn mặt có khớp với thuật tốn lưu hay chưa Tồn quy trình diễn vịng 0.2 giây Quy Trình Vận Hành Hệ Thống Các Máy Chủ  Hệ thống nhận diện khuôn mặt sinh viên trường Đại Học Kinh Tế Quốc Dân gồm máy chủ (máy chủ 1,máy chủ 2) kết nối với Sever Chính  Tại Sever Chính: cài đặt VMS(Sever) liệu ID khuôn mặt sinh viên trường Đại Học Kinh Tế Quốc Dân  Toàn hệ thống bao phủ Internet  Hệ thống sử dụng cáp quang (Fttp) để kết nối với camera quan sát Trang | 38 MẠNG KẾT NỐI VẠN VẬT HỆ THỐNG NHẬN DIỆN KHN MẶT SINH VIÊN Hình 12: Sơ đồ vận hành hệ thống Trang | 39 MẠNG KẾT NỐI VẠN VẬT HỆ THỐNG NHẬN DIỆN KHUÔN MẶT SINH VIÊN CHƯƠNG 5: KẾT LUẬN 1)  Những Kết Quả Đạt Được Kinh nghiệm rút cho thân: Q trình xây dựng hệ thống nhận diện khn mặt bạn sinh viên trường Đại Học Kinh Tế Quốc Dân Arduino giúp em có thêm hiểu biết việc xây dựng hệ thống , ứng dụng Internet of Things  Kết đạt hệ thống: Hệ thống hoạt động thành công tiết kiệm nhiều thời gian bạn sinh viên vào tòa nhà A2 học tập tham gia hoạt động ngoại khóa Ngăn ngừa nhiều kẻ xấu đột nhập vào tịa nhà A2 Khắc phục hồn tồn tình hình học hộ, thi hộ 2) Hướng Phát Triển Trong Tương Lai  Hệ thống nhận diện khuôn mặt dần hoạt động tốt, nhiên mức độ bảo mật thông tin hệ thống chưa thực tốt nên thời gian tới em cần khắc phục lỗi  Hiện tại, hệ thống vào hoạt động giảng đường A2 Trong tương lai dự kiến em phát triển hệ thống rộng giảng đường lại khu vực ký túc xá trường Trang | 40 ... sinh viên trường Đại Học Kinh Tế Quốc Dân CHƯƠNG 3: TỔNG QUAN VỀ HỆ THỐNG NHẬN DIỆN KHUÔN MẶT SINH VIÊN TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN TẠI GIẢNG ĐƯỜNG A2 1) Mục Đích Xây Dựng Hệ Thống  Hệ thống. .. GIẢNG ĐƯỜNG A2 TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN Giới Thiệu Xây Dựng Bài Toán CHƯƠNG 3: TỔNG QUAN VỀ HỆ THỐNG NHẬN DIỆN KHUÔN MẶT SINH VIÊN TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN TẠI GIẢNG ĐƯỜNG A2 1)... để xây dựng hệ thống nhận diện khuôn mặt sinh viên trường đại học Kinh Tế Quốc Dân( ”Ngôi trường em theo học? ??) Là sinh viên trường đại học Kinh Tế Quốc Dân em nhận thấy với số lượng sinh viên lên

Ngày đăng: 30/11/2022, 14:12

HÌNH ẢNH LIÊN QUAN

Hình 1: ESP Cam và các thiết bị ngoại vi. - (TIỂU LUẬN) bài tập lớn MẠNG kết nối vạn vật xây DỰNG hệ THỐNG NHẬN DIỆN KHUÔN mặt SINH VIÊN TRƯỜNG đại học KINH tế QUỐC dân tại GIẢNG ĐƯỜNG a2 BẰNG ARDUINO
Hình 1 ESP Cam và các thiết bị ngoại vi (Trang 21)
Hình 3: Bộ lập trình FTDI. - (TIỂU LUẬN) bài tập lớn MẠNG kết nối vạn vật xây DỰNG hệ THỐNG NHẬN DIỆN KHUÔN mặt SINH VIÊN TRƯỜNG đại học KINH tế QUỐC dân tại GIẢNG ĐƯỜNG a2 BẰNG ARDUINO
Hình 3 Bộ lập trình FTDI (Trang 22)
Hình 2: Thông số kỹ thuật của ESP Cam. - (TIỂU LUẬN) bài tập lớn MẠNG kết nối vạn vật xây DỰNG hệ THỐNG NHẬN DIỆN KHUÔN mặt SINH VIÊN TRƯỜNG đại học KINH tế QUỐC dân tại GIẢNG ĐƯỜNG a2 BẰNG ARDUINO
Hình 2 Thông số kỹ thuật của ESP Cam (Trang 22)
Hình 4: Chi tiết về module AI-Thinke r. - (TIỂU LUẬN) bài tập lớn MẠNG kết nối vạn vật xây DỰNG hệ THỐNG NHẬN DIỆN KHUÔN mặt SINH VIÊN TRƯỜNG đại học KINH tế QUỐC dân tại GIẢNG ĐƯỜNG a2 BẰNG ARDUINO
Hình 4 Chi tiết về module AI-Thinke r (Trang 23)
 Chọn mơ hình AI-THINKER : - (TIỂU LUẬN) bài tập lớn MẠNG kết nối vạn vật xây DỰNG hệ THỐNG NHẬN DIỆN KHUÔN mặt SINH VIÊN TRƯỜNG đại học KINH tế QUỐC dân tại GIẢNG ĐƯỜNG a2 BẰNG ARDUINO
h ọn mơ hình AI-THINKER : (Trang 25)
Hình 5: Kết nối ESP Cam và bộ lập trình FTDI. - (TIỂU LUẬN) bài tập lớn MẠNG kết nối vạn vật xây DỰNG hệ THỐNG NHẬN DIỆN KHUÔN mặt SINH VIÊN TRƯỜNG đại học KINH tế QUỐC dân tại GIẢNG ĐƯỜNG a2 BẰNG ARDUINO
Hình 5 Kết nối ESP Cam và bộ lập trình FTDI (Trang 26)
Hình 6: Thiết lập địa chỉ IP cục bộ của máy chủ ESP Cam. - (TIỂU LUẬN) bài tập lớn MẠNG kết nối vạn vật xây DỰNG hệ THỐNG NHẬN DIỆN KHUÔN mặt SINH VIÊN TRƯỜNG đại học KINH tế QUỐC dân tại GIẢNG ĐƯỜNG a2 BẰNG ARDUINO
Hình 6 Thiết lập địa chỉ IP cục bộ của máy chủ ESP Cam (Trang 28)
Hình 7: Sơ đồ khối giảng đường A2. - (TIỂU LUẬN) bài tập lớn MẠNG kết nối vạn vật xây DỰNG hệ THỐNG NHẬN DIỆN KHUÔN mặt SINH VIÊN TRƯỜNG đại học KINH tế QUỐC dân tại GIẢNG ĐƯỜNG a2 BẰNG ARDUINO
Hình 7 Sơ đồ khối giảng đường A2 (Trang 29)
Hình 8: Sơ đồ tòa nhà A2. - (TIỂU LUẬN) bài tập lớn MẠNG kết nối vạn vật xây DỰNG hệ THỐNG NHẬN DIỆN KHUÔN mặt SINH VIÊN TRƯỜNG đại học KINH tế QUỐC dân tại GIẢNG ĐƯỜNG a2 BẰNG ARDUINO
Hình 8 Sơ đồ tòa nhà A2 (Trang 29)
Hình 9: Sơ đồ tầng G giảng đường A2. b) Thiết Kế Sơ Đồ Lắp Đặt Hệ Thống. - (TIỂU LUẬN) bài tập lớn MẠNG kết nối vạn vật xây DỰNG hệ THỐNG NHẬN DIỆN KHUÔN mặt SINH VIÊN TRƯỜNG đại học KINH tế QUỐC dân tại GIẢNG ĐƯỜNG a2 BẰNG ARDUINO
Hình 9 Sơ đồ tầng G giảng đường A2. b) Thiết Kế Sơ Đồ Lắp Đặt Hệ Thống (Trang 30)
Hình 10: Thiết kế hệ thống lắp đặt tầng G. - (TIỂU LUẬN) bài tập lớn MẠNG kết nối vạn vật xây DỰNG hệ THỐNG NHẬN DIỆN KHUÔN mặt SINH VIÊN TRƯỜNG đại học KINH tế QUỐC dân tại GIẢNG ĐƯỜNG a2 BẰNG ARDUINO
Hình 10 Thiết kế hệ thống lắp đặt tầng G (Trang 31)
 Trong Arduino IDE sẽ hiển thị 3 tab như hình sau: - (TIỂU LUẬN) bài tập lớn MẠNG kết nối vạn vật xây DỰNG hệ THỐNG NHẬN DIỆN KHUÔN mặt SINH VIÊN TRƯỜNG đại học KINH tế QUỐC dân tại GIẢNG ĐƯỜNG a2 BẰNG ARDUINO
rong Arduino IDE sẽ hiển thị 3 tab như hình sau: (Trang 36)
77. // thả xuống kích thước khung hình để có tốc độ khung hình ban đầu cao hơn. - (TIỂU LUẬN) bài tập lớn MẠNG kết nối vạn vật xây DỰNG hệ THỐNG NHẬN DIỆN KHUÔN mặt SINH VIÊN TRƯỜNG đại học KINH tế QUỐC dân tại GIẢNG ĐƯỜNG a2 BẰNG ARDUINO
77. / thả xuống kích thước khung hình để có tốc độ khung hình ban đầu cao hơn (Trang 39)
Hình 11: Quy trình phân tích của hệ thống. - (TIỂU LUẬN) bài tập lớn MẠNG kết nối vạn vật xây DỰNG hệ THỐNG NHẬN DIỆN KHUÔN mặt SINH VIÊN TRƯỜNG đại học KINH tế QUỐC dân tại GIẢNG ĐƯỜNG a2 BẰNG ARDUINO
Hình 11 Quy trình phân tích của hệ thống (Trang 44)
Hình 12: Sơ đồ vận hành hệ thống. - (TIỂU LUẬN) bài tập lớn MẠNG kết nối vạn vật xây DỰNG hệ THỐNG NHẬN DIỆN KHUÔN mặt SINH VIÊN TRƯỜNG đại học KINH tế QUỐC dân tại GIẢNG ĐƯỜNG a2 BẰNG ARDUINO
Hình 12 Sơ đồ vận hành hệ thống (Trang 46)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w