Chương I: Giới thiệu Chương này trình bày tông quan và sự phát triên của IoT. Phát biêu vân đê và mục tiêu của nhóm mong muôn hướng đên dé giải quyết van dé đó. Cách thức tiép cận và đôi tượng nghiên cứu và giới hạn của đê tài cũng được làm rõ tại chương này. Chương 2: Các nghiên cứu và công nghệ liên quan Chương này tập trung về việc trình bày tình hình nghiên cứu của các công trình liên quan đến đề tài này và đưa ra những cơ sở lý thuyết, những công nghệ được sử dụng trong đề tài.
Chương 3: Phân tích và thiết kế hệ thống Chương này trình bày các nội dung chỉ tiết về hướng tiếp cận, các phương pháp, cách thức thực hiện các thành phan chính trong hệ thống. Phân tích thiết kế, trình bày về luồng xử lý của hệ thống, mô tả các thành phần chức năng và đưa ra hướng tiếp cận của các thuật toán. Chương 4: Hiện thực ứng dụng Chương nay trình bay chi tiết về các phương pháp hiện thực, triển khai, hiện thực các thành phần chính của hệ thống thống như cách xây dựng thiết bị phần cứng, xây dựng các mô hình dự đoán, cuối cùng là kiểm tra kết quả thực thi và đánh giá. Chương 5: Tổng kết và hướng phát triển Chương này tổng kết lại toàn bộ những kết quả đã đạt được và chưa đạt được trong khóa luận này.
Từ đó làm cơ sở dé đề xuất các hướng phát triển của dé tài có thể tiếp tục thực hiện trong tương lai. CHƯƠNG 2 CÁC NGHIÊN CỨU VÀ CÔNG NGHỆ LIÊN QUAN 2.1 Tình hình nghiên cứu của các công trình liên quan Trong những năm gan đây, đã có rat nhiều nghiên cứu về việc xây dựng một hệ thong điểm danh thông minh ứng dụng trong thành phố thông minh từ đơn giản đến phức tạp. Một số hệ thống liên quan về việc áp dụng các phương pháp và nguyên tắc khác nhau để giám sát việc đi học của sinh viên một cách hiệu quả. Trong [4], một hệ thống quản lý điểm danh dựa trên máy tính nhúng đã được đề xuất.
Hệ thống cung cấp một thẻ điện tử và đầu đọc thẻ được kết nói đề giao tiếp với hệ thống máy tính kỹ thuật số. Trong [5], Sử dụng một hệ thống điểm danh không dây xác thực bằng cách sử dụng đồng tử mắt của cá nhân. Hệ thống quản lý nhận dạng đồng tử mắt ngoại tuyến có thể kết thúc tất cả quá trình bao gồm chụp ảnh nhận dạng đồng tử mắt, trích xuất các chỉ tiết nhỏ, lưu trữ và so sánh. Quản lý điểm danh cũng đã được thực hiện bằng phần mềm chấm công sử dụng mật khẩu dé xác thực.
Các tác giả trong [6] đã thiết kế và triển khai một hệ thống xác thực người dùng dựa trên mật khẩu, loại hệ thống này có thé bi mạo danh vì mật khẩu có thé được chia sẻ hoặc giả mạo. Đôi khi, mật khẩu cũng có thé bị quên do đó người ding không thể truy cập vào hệ thống. Các giải pháp điểm danh khác có thê kế đến là hệ thống điểm danh sinh viên dựa trên RFID và hệ thống điểm danh dựa trên GSM-GPRS. Hệ thống điểm danh dựa trên GSM-GPRS sử dụng vị trí của lớp học đề thực hiện xác thực điểm danh, điều này là khả thi nếu lịch trình hoặc vị trí của lớp học là không thay đổi, nếu có sự thay đổi sự 10 điểm danh có thê không được thực hiện.
Vấn đề với hệ thống dựa trên RFID [7] là sinh viên cần mang theo thẻ RFID và cũng cần lắp đặt thiết bị đọc thẻ RFID. Từ kết quả của những nghiên cứu đã tìm hiểu được, trong đề xuất xây dựng hệ thống của chúng tôi quyết định sử dụng nhận diện khuôn mặt để điểm danh tự động. Khuôn mặt là yếu tố đặc trưng và dé nhận biết của mỗi cá nhân. Nó cho phép sinh viên tiến hành điểm danh một cách dé dang và khắc phục được các lỗi liên quan đến hệ thống điểm danh sinh viên.
Hệ thống được đề xuất cung cấp giải pháp cho các vấn đề điểm danh của sinh viên thông qua việc sử dụng phần mềm quản lý điểm danh thông qua hình ảnh và nhận dạng ký tự quang học. Dữ liệu của sinh viên (mã sinh viên, email,.) được trích xuất từ thẻ sinh viên thông qua nhận dạng ký tự quang học và được lưu vào cơ sở dữ liệu. Sinh viên nhận thông tin tài khoản thông qua email được trích xuất từ thẻ sinh viên. Đề tiến hành điểm danh thiết bị chụp ảnh và ứng dụng di động kết nối thời gian thực thông qua mã QR trên thiết bị chụp ảnh, thiết bị sẽ phát hiện khuôn mặt và chụp ảnh tự động sau đó hình ảnh sẽ được máy chủ xữ lý nhận diện lưu vào cơ sở dữ liệu dựa trên thông tin mà thiết bị di động cung cấp (mã môn học ,ngay điểm danh.
Cuối cùng sinh viên xác nhận điểm danh bằng cách vào ứng dụng điểm danh và chọn xác nhận dựa trên hình ảnh đã được thiết bị điểm danh chụp trước đó. Giải thích chỉ tiết về hệ thống đề xuất của chúng tôi sẽ được trình bày ở Chương 3.2 Cơ sở lý thuyết và hướng tiếp cận của đề tài 2.1 RESTful Web Service REST là viết tắt của Representational State Transfer. Giải thích đơn giản, REST là một loạt hướng dẫn và dạng cấu trúc dùng cho việc chuyển đổi dữ liệu. Thông thường, REST hay được dùng cho ứng dụng web, nhưng cũng có thê làm việc được 11 với dữ liệu phần mềm.
API là viết tắt của Application Programming Interface, phương thức kết nối với các thư viện và ứng dụng khác. Nhìn chung, [8]RESTful Web Services là những web service đi theo cầu trúc REST. RESTful Web Service tuân thủ 4 nguyên tắc thiết kế cơ bản sau: e Sử dụng các phương thức HTTP một cách rõ rang e Phi trạng thái e_ Hiển thị cu trúc thư mục như các URIs © Truyền tải JSON, XML hoặc cả hai.2 Bộ ML dành cho Firebase ML Kit là một SDK di động mang kiến thức chuyên môn về máy học của Google cho các ứng dụng Android và iOS trong một gói mạnh mẽ nhưng dễ sử dụng. Cho di ban là người mới hay đã có kinh nghiệm về học máy, bạn có thé triển khai chức năng mình cần chỉ trong một vài dòng mã.
Không cần phải có kiến thức sâu về mạng nơ- ron hoặc tối ưu hóa mô hình dé bắt đầu. Mặt khác, nếu ban là một nhà phát triển ML có kinh nghiệm, ML Kit cung cấp các API tiện lợi giúp bạn sử dụng các mô hình TensorFlow Lite tùy chỉnh trong các ứng dụng dành cho thiết bị di động của mình. ML Kit đi kèm với một bộ API sẵn sàng sử dụng cho các trường hợp sử dụng di động phổ biến: nhận dạng văn bản, phát hiện khuôn mặt, nhận dạng mốc, quét mã vạch, dán nhãn hình ảnh và xác định ngôn ngữ của văn bản. ML Kit giúp dễ dàng áp dụng các kỹ thuật ML trong các ứng dụng của bạn bằng cách đưa công nghệ ML của Google, chăng hạn như các API Google Cloud 12 Vision , TensorFlow Lite, và API Android Neural Networks với nhau trong một SDK duy nhất.3 Hệ quản trị cơ sở dữ liệu “Ẩm Hình 2.
1 SQLite Database SQLite là một thu viện phần mềm mà triển khai một SQL Database Engine, không cần máy chủ, không cần câu hình, khép kin và nhỏ gọn. Nó là một cơ sở dữ liệu, không cần cấu hình, có nghĩa là giống như các cơ sở dữ liệu khác mà bạn không cần phải cấu hình nó trong hệ thống của mình. SQLite engine không phải là một quy trình độc lập (standalone process) như các cơ sở dữ liệu khác, bạn có thể liên kết nó một cách tĩnh hoặc động tùy theo yêu cầu của bạn với ứng dụng của bạn. SQLite truy cập trực tiếp các file lưu trữ (storage files) của nó.
Do sự phổ biến, quen thuộc và sử dụng mã nguồn mở của SQLite nên nhóm quyết định chọn SQLite làm hệ quản trị CSDL cho hệ thống.4 Android Studio Một phần mềm bao gồm các bộ công cụ khác nhau ding dé phát triển ứng dụng chạy trên thiết bị sử dụng hệ điều hành Android như các loại điện thoại smartphone, các tablet. Android Studio được đóng gói với một bộ code editor, debugger, các công cụ performance tool và một hệ thống build/deploy (trong đó có trình giả lập simulator để giả lập môi trường của thiết bị điện thoại hoặc trên máy tính) cho phép các lập trình viên có thể nhanh chóng phát triển các ứng dụng từ đơn giản tới phức tạp.5 Pycharm Pycharm là một nền tảng kết kết hợp được JetBrains phát triển như một IDE (Môi trường phát triển tích hợp) để phát triển các ứng dụng cho lập trình trong Python. Một số ứng dụng lớn như Tweeter, Facebook, Amazon và Pinterest sử dụng Pycharm để làm IDE Python. Pycharm có thé chạy trên Windows, Linux, hoặc Mac OS.
Ngoài ra, nó cũng chứa các Mô dun và các gói giúp các lập trình viên phat triển phần mềm bằng Python trong thời gian ngắn với ít công sức hơn. Hơn nữa, nó cũng có khả năng tùy chỉnh theo yêu cầu của nhà phát triển.6 Git Công cụ giúp quan ly source code tổ chức theo dang dữ liệu phân tán, giúp đồng bộ source code của team lên một server, hỗ trợ các thao tác kiểm tra source code trong quá trình làm việc. Một số câu lệnh của Git thường dùng như: git add, git commit, git push, git rebase.7 Django framework Django là 1 web framework khá nổi tiếng được viết hoàn toàn bằng ngôn ngữ Python. 14 Nó là 1 framework với đầy đủ các thư viện, module hỗ trợ các web-developer.
Django sử dụng mô hình MVC và được phát triển bởi Django Software Foundation (DSF một tô chức phi lợi nhuận độc lập) Mục tiêu chính của Django là đơn giản hóa việc tạo các website phức tạp có sử dụng cơ sở dữ liệu. Django tập trung vao tính năng “có thể tái sử dụng” và “có thê tự chạy” của các component, tính năng phát triển nhanh, không làm lại những gi đã làm. Một số website phổ biến được xây dựng từ Django là Pinterest, Instagram, Mozilla, và Bitbucket.8 Java Java là ngôn ngữ lập trình hướng đối tượng (OOP), đa mục đích và độc lập nền tảng. Thay vì biên dịch mã nguồn thành mã máy trên nền tang cụ thé, code Java được biên dịch thành bytecode-một định dạng trung gian.
Bytecode sau đó sẽ được chạy bởi môi trường thực thi (runtime environment). Nói cách khác, code Java “viết một lần, chạy mọi nơi”. Nó sẽ làm việc “lý tưởng” trên bất kỳ thiết bị chạy hệ điều hành nào, miễn là được cài đặt Java Runtime Environment (JRE). Ngôn ngữ Java được thiết kế boi James Gosling và đồng nghiệp tai Sun Microsystems năm 1991.