Chương 1: Tổng quan Giớiathiệuađề tài,adẫn nhập lý do chọn đề tài, trìnhabàyamụcatiêu, nội dung nghiên cứu, các giới hạnathông số và bố cục. Chương 2: Cơ sở lý thuyết Trình bày về cácalý thuyếtacó liênaquan vềaviệc lập trìnhaphần cứng, các linh kiện, phần cứng sửadụng để thựcahiện đề tài, cơ sở dữ liệu cần thiết. Chương 3: Thiết kế hệ thống 3 Trình bày về thiết kế và tínhatoán xâyadựng hệ thống như thiếtakế sơ đồ khối hệathống, sơ đồ nguyên lý, tínhatoán thiết kế mạch, tiếnahành xây dựng hệ thốngathực tế, kiểm tra và tinh chỉnh. Chương 4: Kết quả thực hiện Trìnhabày về những kết quả đã đạt được sau khi thực hiện đề tài, về hệ thống thực hiện, đánh giáamức độ hoànathiện, sự vận hành của hệ thống.
Chương 5: Kết luận và hướng phát triển Trình bàyavề những kết quả đã đạt đượcasau khi thực hiện đềatài, những hạn chế, từ đóarút ra kết luận và hướngaphát triểnađể giảiaquyếtacác vấn đềacòn tồn đọng đểađềatàiađược hoàn thiện hơn. 4 CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 TÌM HIỂU VỀ MODULE ESP32 2.1 Tổng quan về module NodeMCU ESP32 Để biết được hình dạng cũng như sơ đồ chân của module NodeMCU ESP32, ta đến với hình ảnh cụ thể: Hình 2.1 Hình ảnh module NodeMCU ESP32.[1] NodeMCU ESP32 là chip ESP32 sở hữu 2 CPU có thể được điều khiển riêng hoặc cấp nguồn và tần số clock có thể điều chỉnh từ 80 MHz đến 240 MHz. ESP32 được tích hợp phong phú các thiết bị ngoại vi và các chuẩn giao tiếp UART, I2S và I2C. Bên cạnh đó, sự kết hợp Bluetooth và Wifi đảm bảo rằng các ứng dụng trong phạm vi hoặc mục tiêu lớn có thể dễ dàng được thực hiện.2 Thông số kỹ thuật Dưới đây là các tính năng của module NodeMCU ESP32: - Nó có tích hợp 18 ADC chuyển đổi tương tự sang kỹ thuật số.
Mỗi ADC dựa trên công nghệ SAR 12 bit. - 2 kỹ thuật số sang tương tự chuyển đổi DAC. - Đối với giao tiếp, nó có 2 Kênh liên lạc UART, 2 Giao diện truyền thông I2C, hai kênh I2S và giao diện truyền thông one CAN - Nó cũng có một mô-đun tăng tốc phần cứng mật mã cho các thuật toán mật mã khác nhau như RSA, AES.2 Các tính năng của module NodeMCU ESP32 [3] Wifi: Dưới đây là bảng thông số kỹ thuật của chuẩn kết nối Wifi: 6 Bảng 2.1 Bảng thông số kỹ thuật của chuẩn Wifi.[4] Các thông số Mô tả Tiêu chuẩn 802. Phạm vi hoạt động 2.
Chế độ Station mode (Wi-Fi client hay ESP32 có khả năng kết nối đến các STA) điểm truy cập. Chế độ Access Point (Soft – AP) ESP32 trở thành trung tâm kết nối liên kết thông tin. Các Station kết nối với Access-Point chính do ESP32 tạo nên. Chế độ AP-STA ESP32 có thể đồng thời là điểm truy cập và có thể truy cập đến địa chỉ khác.
CPU và bộ nhớ: Dưới đây là bảng thông số kỹ thuật của CPU và bộ nhớ: Bảng 2.2 Bảng thông số kỹ thuật của CPU và bộ nhớ.[4] Các thông số Mô tả Cung cấp điện áp 2. Bộ lỗi xử lý Khả năng hoạtađộng của bộ xử lý lỗi kép Xtensa® 32-bit LX6 có khả năng hoạt động lên tới 600 DMIPS. Khi chúng ta dùng FreeRTOS sẽ ứng với Core 0 và Core 1 (protocol cpu và application cpu). Tốc độ xử lý CPU 160MHz – 240MHz.
ROM 448 KBytes ROM cho booting và các tính năng của lõi chip. RAM 520 KBytes SRAM trênachip dùng cho dữ liệu và các lệnh instruction. FLASH 4MB external FLASH. 7 Ngoại vi: Dưới đây là sơ đồ chân của module NodeMCU ESP32: Hình 2.3 Sơ đồ chân của ESP32.3 Bảng thông số kỹ thuật ngoại vi ESP32.[4] Các thông số Mô tả Kích thước của board 51.
Cổng kết nối USB-1x cổng micro USB để cấp nguồn và nạp code lập trình. Nguồn điện 5V qua USB hoặc Vin. Các kênh hoạt động - Có 18 kênh – bộ chuyển đổi ADC – Analog-to-Digital. - 16 kênhađầuara PWM.
- 2 Bộ chuyển đổi DAC- Digital-to- Analog. - 10 GPIO cảmabiến điệnadung. Chuẩn giao tiếp - 3xSPI, 3xUART, 2xI2C, 2 x I2S.2 CẢM BIẾN VÂN TAY AS608 8 Cảm biến nhận dạng vân tay AS608 được thiết kế với khả năng giao tiếp thông qua giao thức UART hoặc USB 1. Cảmabiến tích hợp mộtanhân xử lý mạnh mẽ, giúp tự động ánh xạ dữ liệu vân tay vào một chuỗi dữ liệuavà truyền qua giao tiếp UART.4 Cảm biến vân tay AS608.
[5] Thông số kỹ thuật: Bảng 2.4 Bảng thông số kỹ thuật của cảm biến AS608.[5] Các thông số Mô tả Nguồn cung cấp 3.3V Dòng điện tiêu thụ 40mA Phương thức giao tiếp UART/USB Lưu trữ 127 vân tay 2.3 GOOGLE CLOUD [6] Google Cloud là nền tảng đám mây của Google, cung cấp nhiều dịch vụ và công nghệ để lưu trữ, quản lý và triển khai ứng dụng trực tuyến. Dưới đây là tóm tắt cơ bản về Google Cloud: - Điện toán đám mây (Cloud Computing): Mô hình cung cấp tài nguyên máy tính, dịch vụ và ứng dụng qua internet, giúp người dùng không phải quản lý trực tiếp tài nguyên vật lý mà sử dụng chúng từ xa như một dịch vụ. 9 - Google Cloud Platform (GCP): Một trong những nền tảng đám mây hàng đầu thế giới, cung cấp các dịch vụ như lưu trữ dữ liệu, tính toán, trí tuệ nhân tạo, máy học và phân tích dữ liệu. - Dịch vụ chính trên Google Cloud: + Compute Engine: Dịch vụ triển khai máy ảo theo nhu cầu.
+ App Engine: Nền tảng quản lý tự động cho việc phát triển và triển khai ứng dụng. + Cloud Storage: Dịch vụ lưu trữ đối tượng phân tán có khả năng mở rộng. + Cloud SQL: Dịch vụ cơ sở dữ liệu SQL được quản lý. + Cloud Functions: Chạy mã ngắn theo sự kiện được kích hoạt.
10 CHƯƠNG 3 THIẾT KẾ HỆ THỐNG 3.1 YÊU CẦU CỦA TOÀN HỆ THỐNG Phần cứng bao gồm các vi điều khiển, cảm biến, LCD và ngoại vi. Thực hiện được các chức năng như sau: - Hiển thị các nội dung liên quan việc chấm công bao gồm thông báo và cài đặt. - Chấm công bằng cách quét vân tay. - Có thể cài đặt để thêm hoặc xóa vân tay.
- Lưu được lịch sử chấm công các ngày. Về phía phần mềm thì sẽ thiết kế một website để thuận tiện trong việc cập nhật dữ liệu và quản lý từ xa: - Cập nhật được dữ liệu khi nhân viên đã chấm công lên website. - Danh sách nhân viên có thể được cập nhật như thêm, xóa, chỉnh sửa thông tin. - Danh sách các bộ phận có thể được cập nhật như thêm, xóa, chỉnh sửa thông tin.
Các thiết bị phần cứng sẽ gửi dữ liệu xuống server để backend lấy dử liệu từ database lên website sử dụng chuẩn truyền thông không dây Wifi.2 THIẾT KẾ VÀ LẬP TRÌNH HỆ THỐNG PHẦN CỨNG 3.1 Chức năng của phần cứng Chức năng chi tiết của phần cứng: - Chấm công bằng cách quét vân tay. - Thêm và xóa vân tay. - Hiển thị được thông tin trên LCD. - Dữ liệu được sẽ được cập nhật xuống server.
- Lưu trữ và hiển thị được tên nhân viên. - Lưu được lịch sử chấm công qua các ngày.2 Sơ đồ khối phần cứng Để có thể thực thi được phần cứng một cách hiệu quả, ta có sơ đồ khối như sau: Hình 3.1 Sơ đồ khối của hệ thống. Khối cảm biến: Nhận thông tin dữ liệu vân tay của người dùng sau đó gửi về khối xử lý. Khối xử lý: - Cấu hình các thông số cho LCD, nút nhấn, Wifi và cảm biến.
12 - Đọc dữ liệu từ cảm biến và nhận tín hiệu từ nút nhấn. - Lưu trữ thông tin và lịch sử chấm công. - Cập nhật trạng thái đã chấm công sau đó gửi và chờ phản hồi từ Webserver. Khối ngoại vi: Bao gồm các nút nhấn dùng để thực hiện các thao tác cài đặt.
Khối hiển thị: Dùng để hiển thị thông báo đã chấm công và các thông tin chi tiết. Khối nguồn: Thiết bị chấm công yêu cầu nguồn điện 5V cung cấp để có thể hoạt động, ngoài ra tránh trường hợp mất điện thì thiết bị còn đi kèm nguồn pin dự phòng với thời gian kéo dài được hơn 1 tiếng.3 Thiết kế từng khối Khối cảm biến: Cảm biến vân tay AS608 được nối đến khối xử lý để đọc dữ liệu vân tay. Dưới đây là sơ đồ nối chân cảm biến: Hình 3.2 Sơ đồ nối chân của khối cảm biến. Cảm biến yêu cầu điện áp hoạt động là 3.6V nên sẽ nhận nguồn 3.3V từ khối xử lý trung tâm: - Chân V+ sẽ nối đến chân 3.3V của khối xử lý trung tâm - Chân GND thì nối đến GND của khối xử lý trung tâm - Chân TX của AS608 sẽ được nối đến chân RX của khối xử lý trung tâm - Chân RX của AS608 sẽ được nối đến chân TX của khối xử lý trung tâm - Các chân còn lại của cảm biến thì không nối dây 13 Khối ngoại vi: Các nút nhấn được kết nối đến các chân của khối xử lý: Hình 3.3 Sơ đồ nối chân của khối ngoại vi.
- Các nút nhấn được cấp nguồn 3.3V, khi nhấn thì gửi tín hiệu mức cao tới các chân I/O của khối xử lý trung tâm. Khối hiển thị: Khối hiển thị sử dụng một LCD TFT 3.5inch với chuẩn giao tiếp SPI. Dưới đây là sơ đồ nối chân của LCD với khối xử lý trung tâm: 14 Hình 3.4 Sơ đồ nối chân của khối hiển thị Khối xử lý trung tâm: Sau khi thiết kế khối cảm biến, khối ngoại vi và khối hiển thị thì có được bảng tổng kết chân chức năng như sau: Bảng 3.1 Bảng tổng kết các chân chức năng cần có của khối xử lý trung tâm Khối Chân chức năng cần có của khối xử lý trung tâm Khối cảm biến 3V3, GND, TX, RX Khối ngoại vi 3V3, GND, GPIO x 5 Khối hiển thị 5V, GND, EN, CS x 2, MISO x 2, MOSI x 2, GPIO x 10 Tổng kết - 5V, 3V3, GND, EN, TX, RX, CS x 2, MISO x 2 , MOSI x 2, GPIO x 15 Như vậy sau khi tổng kết các chân chức năng cần có của khối xử lý trung tâm để kết nối với các khối khác thì board được lựa chọn để làm khối xử lý trung tâm là ESP32 vì số lượng chân chức năng của board đủ để đáp ứng yêu cầu kết nối với các module ngoại vi. Dưới đây là bảng liệt kê số lượng các chân hiện có của các chức năng cần thiết ở trên của board ESP32: 15 Bảng 3.