TỔNG QUAN
ĐẶT VẤN ĐỀ
Ngày nay, sự phát triển của khoa học kỹ thuật đã mang đến nhiều công nghệ tiện lợi, đặc biệt là công nghệ không dây, nhằm đáp ứng nhu cầu ngày càng cao của con người Nhận dạng tự động qua công nghệ không dây không chỉ giúp quản lý hiệu quả mà còn giảm thiểu sai sót, điều này rất quan trọng trong lĩnh vực y tế, nơi đã xảy ra nhiều vụ nhầm lẫn trong việc trao con giữa các nữ hộ sinh Để khắc phục tình trạng này, công nghệ RFID đã được áp dụng, cho thấy nhiều ưu điểm như độ bảo mật cao, dễ sử dụng và chi phí thấp Nhiều nghiên cứu trong nước đã chỉ ra ứng dụng của RFID trong quản lý bệnh nhân, thư viện và sinh viên, đồng thời cũng có nhiều nghiên cứu quốc tế nhấn mạnh vai trò của RFID trong lĩnh vực chăm sóc sức khỏe và Internet of Things (IOT).
Chen, Ching-Feng Kuan “The Application of RFID to Improve Patient Safety in Observation Unit of Hospital Emergency Department”[4][5][6]
Chúng tôi quyết định thực hiện đề tài "Thiết kế và thi công thiết bị nhận dạng mẹ và bé sơ sinh sử dụng công nghệ RFID kết nối với ứng dụng trên smartphone và lưu trữ trên webserver" Hệ thống này sẽ sử dụng thẻ RFID và đầu đọc để hiển thị kết quả qua ứng dụng trên điện thoại thông minh, đồng thời lưu trữ dữ liệu trên máy chủ web.
MỤC TIÊU
Hệ thống nhận diện mẹ và bé được thiết kế và thi công sử dụng công nghệ RFID, với vòng đeo cho bé nhỏ gọn, nhẹ và không gây dị ứng cho da Thông tin của mẹ và bé được hiển thị trên điện thoại, đồng thời cho phép lưu và thay đổi dữ liệu trên web server Hệ thống đảm bảo tuân thủ các tiêu chuẩn an toàn điện và các tiêu chuẩn liên quan khác.
NỘI DUNG NGHIÊN CỨU
- Tìm hiểu thông tin và cách thức hoạt động của công nghệ RFID
- Tìm hiểu các chuẩn giao tiếp UART, SPI, I2C
- Tìm hiểu, lựa chọn linh kiện phù hợp và xác nhận độ tương thích giữa thiết bị đọc và thiết bị thu
- Tìm hiểu các phần mềm hỗ trợ thiết kế App điển hình là Android studio
- Tìm hiểu các phần mềm hỗ trợ thiết kế Web, phần mềm tạo máy chủ trên máy tính
- Thiết kế, thi công hệ thống
- Chạy thử kiểm tra, sửa lỗi (nếu có)
- Thực hiện viết báo cáo đồ án
- Tiến hành báo cáo đồ án.
GIỚI HẠN
- Thiết bị hoàn thiện dưới dạng mô hình và chỉ phục vụ mục tiêu nghiên cứu, chưa thể áp dụng được ở các trung tâm y tế, bệnh viện lớn
- Nguồn hoạt động sử dụng pin 4.2V với số lượng 2 pin
- Khoảng cách nhận diện từ 1-3cm
- Kích thước vỏ hộp sản phẩm là 11x8x7cm
- Kích thước vòng đeo tay hoặc chân có đường kính 5cm, chiều dài 15cm
- App chỉ dùng được cho điện thoại chạy hệ điều hành Android
- Vỏ sản phẩm bằng nhựa chỉ nhịu được nhiệt độ thấp hơn 150 0 C.
BỐ CỤC
Chương này giới thiệu lý do lựa chọn đề tài, mục tiêu nghiên cứu, nội dung chính của nghiên cứu, các giới hạn về thông số và cấu trúc của đồ án.
Chương 2: Cơ Sở Lý Thuyết
Nền tảng lý thuyết quan trọng được trình bày ở chương này, dựa vào đó để tính toán và thiết kế mạch thực tế
Chương 3: Thiết Kế và Tính Toán
Các thông số tính toán, mẫu thiết kế từng khối, phần mềm lập trình sử dụng sẽ được trình bày cụ thể ở chương này
Chương 4: Thi công hệ thống
Nội dung chương sẽ trình bày tóm tắt từng bước quá trình thi công hệ thống, hoàn thành mô hình hệ thống
Chương 5: Kết Quả, Nhận Xét và Đánh Giá
Sau khi hoàn thành việc thi công, chương này trình bày kết quả nghiên cứu và từ đó rút ra nhận xét, đánh giá
Chương 6: Kết Luận và Hướng Phát Triển
Chương này sẽ đánh giá xem nhóm có đạt được mục tiêu ban đầu hay không, và nếu không, sẽ phân tích nguyên nhân chưa hoàn thành Đồng thời, chương cũng sẽ đề xuất hướng phát triển cho đề tài trong tương lai.
CỞ SỞ LÝ THUYẾT
QUY TRÌNH GIÁM SÁT CỦA HỆ THỐNG
Khi thẻ tag được quét lần đầu, nếu chưa có thông tin, màn hình OLED sẽ hiển thị trạng thái “không có thông tin thẻ”, trong khi ứng dụng trên điện thoại vẫn cho thấy thông tin của thẻ đã quét trước đó hoặc để trống nếu chưa có thẻ nào Web server sẽ cho phép thêm thông tin mới Ngược lại, nếu thẻ đã có thông tin, màn hình OLED sẽ hiển thị một số thông tin cơ bản, trong khi ứng dụng điện thoại sẽ cung cấp toàn bộ thông tin chi tiết của thẻ.
GIỚI THIỆU CÔNG NGHỆ MÃ VẠCH RFID
RFID (viết tắt thuật ngữ tiếng Anh: Radio Frequency Identification) Được dịch sang tiếng việt nghĩa là “Nhận dạng bằng tần số của sóng vô tuyến”
Công nghệ RFID là một phần của nhóm công nghệ nhận dạng tự động và thu thập dữ liệu (AIDC) Nó cho phép nhận diện đối tượng, thu thập thông tin và truyền tải trực tiếp đến hệ thống máy tính trung tâm mà không cần sự can thiệp của con người.
Công nghệ RFID sử dụng sóng radio để nhận diện và quản lý các đối tượng một cách tự động, cho phép giám sát từ xa mà không cần kiểm tra từng đối tượng Phương pháp này dựa trên việc lưu trữ dữ liệu từ xa, giúp tối ưu hóa quy trình quản lý và theo dõi.
Có 2 công nghệ cho một chiếc thẻ RFID là thẻ RO (read only) và thẻ RW (read write):
- RO là một thẻ chỉ có thể đọc nghĩa là mã vạch đã được ghi trong dữ liệu là hoàn toàn không thể thay đổi
- RW là thẻ có thể đọc và ghi một trường dữ liệu mới trên tag đó
Dưới đây là một số dải tần đó [8]:
- Tần số thấp – Low frequency 125 KHz: Dải đọc ngắn tốc độ đọc thấp
- Dải tần cao – High frequency 13.56 MHz: Khoảng cách đọc ngắn tốc độ đọc trung bình
- Dải tần cao hơn – High frequency: Dải đọc từ ngắn đến trung bình, tốc độ đọc trung bình đến cao
- Dải siêu cao tần – UHF frequency 868-928 MHz: Dải đọc rộng Tốc độ đọc cao
- Dải vi sóng – Microwave 2.45-5.8 GHz: Dải đọc rộng tốc độ đọc rất cao
Một hệ thồng RFID gồm 2 thành phần chính:
- Thiết bị đọc thẻ (hay còn gọi là đầu đọc – reader)
Hình 2.1: Mô tả một hệ thống RFID
Hệ thống RFID bao gồm thẻ hoặc nhãn RFID được trang bị máy phát và máy thu Mỗi thẻ RFID có hai thành phần chính: một vi mạch để lưu trữ và xử lý thông tin, cùng với ăng ten để nhận và truyền tín hiệu Thẻ này chứa ID duy nhất cho một đối tượng cụ thể Để đọc thông tin mã hóa trên thẻ, bộ dò tín hiệu (đầu đọc) phát tín hiệu đến thẻ thông qua ăng ten, và thẻ sẽ phản hồi bằng cách cung cấp thông tin từ ngân hàng bộ nhớ của nó Kết quả đọc được sẽ được truyền đến chương trình máy tính RFID.
WEB SERVER
2.3.1 Giới thiệu về Web server
Web server, hay còn gọi là máy chủ, là một máy tính lớn kết nối với mạng máy tính mở rộng Mỗi web server có một địa chỉ IP riêng và có khả năng đọc các định dạng file như *.htm và *.html Đây là nơi lưu trữ toàn bộ dữ liệu hoạt động trên internet mà máy chủ được giao quyền quản lý.
2.3.2 Chức năng của Web server
Máy chủ web có khả năng xử lý dữ liệu và truyền tải thông tin đến máy khách qua Internet thông qua giao thức HTTP, được thiết kế để gửi tệp đến trình duyệt web Khi bạn truy cập trang web www.hcmute.edu.vn, máy chủ sẽ cung cấp toàn bộ dữ liệu liên quan đến trang web đó thông qua các lệnh giao tiếp.
Máy tính nào cũng có thể là một máy chủ nếu cài đặt lên nó một chương trình phần mềm Server Software và sau đó kết nối vào Internet
Khi máy tính cá nhân hoạt động như một máy chủ, nó sẽ so sánh địa chỉ yêu cầu với các địa chỉ đã lưu trữ trong máy trước tiên Nếu không tìm thấy, nó sẽ kiểm tra trên web server Mỗi khi trình duyệt cần một file từ web server, nó sẽ gửi yêu cầu thông qua giao thức HTTP Khi yêu cầu đến đúng máy chủ, HTTP server sẽ phản hồi bằng cách gửi tài liệu được yêu cầu trở lại qua giao thức HTTP.
Hình 2.2: Mô tả hoạt động của web server
File hosting refers to a web server that stores all the files associated with a website, including HTML files, CSS, JavaScript, fonts, and videos.
Để thuận tiện hơn trong việc lưu trữ dữ liệu, thay vì lưu trữ tất cả các file trên máy tính cá nhân, chúng ta nên sử dụng các web server riêng với các đặc tính phù hợp.
- Luôn chạy và hoạt động liên tục
- Luôn luôn kết nối với internet
- Luôn có chung một địa chỉ IP
- Được bảo trì bởi một bên cung cấp thứ 3
2.3.5 Giao tiếp thông qua HTTP
Web server cung cấp dịch vụ hỗ trợ HTTP (Hypertext Transfer Protocol), cho phép truyền siêu văn bản giữa hai máy tính Giao thức này bao gồm các quy tắc cần thiết để đảm bảo việc truyền thông diễn ra hiệu quả, và HTTP được coi là một giao thức nguyên bản, không có cấp bậc.
HTTP cung cấp một luật rất rõ ràng cho người dùng và server giao tiếp trao đổi với nhau Ta cần lưu ý những điều sau:
Chỉ có khách được phép gửi request tới server và chỉ có server mới có quyền trả lời các request của khách
- Khi yêu cầu một file thông qua HTTP, khách phải cung cấp URL của file
- Web server phải trả lời mọi yêu cầu HTTP, ít nhất với thông báo lỗi
Trên web server, máy chủ HTTP có trách nhiệm xử lý và trả lời các yêu cầu đến:
- Khi nhận yêu cầu, máy chủ HTTP đầu tiên sẽ kiểm tra xem URL yêu cầu có khớp với tệp hiện có hay không
- Nếu vậy, máy chủ web gửi nội dung tệp tin về trình duyệt
Nếu máy chủ ứng dụng không thể xử lý yêu cầu, nó sẽ tạo tệp cần thiết Nếu không tìm thấy tệp, máy chủ web sẽ gửi thông báo lỗi "404 Not Found" đến trình duyệt.
2.3.6 Công cụ hỗ trợ cho việc khởi tạo Web server Để thiết kế được một trang web server thì có rất nhiều cách thực hiện Ở đồ án này, nhóm chúng em sử dụng 2 chương trình chính để tạo một web server đó là:
- XAMPP: tạo máy chủ localhost
- Visual Studio Code: đây là phần mềm để lập trình a Giới thiệu về phần mềm XAMPP
XAMPP là một chương trình tạo web server hỗ trợ nhiều hệ điều hành như Linux, MacOS, Windows, Cross-platform và Solaris Tên gọi XAMPP là viết tắt của 5 phần mềm chính: Cross-Platform (X), Apache (A), MariaDB (M), PHP (P) và Perl (P), thể hiện sự tích hợp mạnh mẽ của chúng trong việc phát triển ứng dụng web.
Localhost là thuật ngữ chỉ máy chủ hoạt động trên máy tính cá nhân, kết hợp từ hai từ "local" và "host" Nó thực chất là một webserver bao gồm các thành phần như Apache, MySQL, PHP và PHPMyAdmin Localhost sử dụng ổ cứng của máy tính để lưu trữ và cài đặt website mà không cần phải mua dịch vụ hosting.
HTML, viết tắt của Hypertext Markup Language, là ngôn ngữ giúp người dùng tạo và cấu trúc các thành phần trên trang web hoặc ứng dụng, bao gồm việc phân chia đoạn văn, tiêu đề, liên kết và trích dẫn.
Mỗi trang HTML bao gồm một tập hợp các thẻ (hay còn gọi là elements), giống như việc xây dựng các khối cho một trang web Những thẻ này tạo nên cấu trúc cây thư mục, bao gồm các phần như section, paragraph, heading và các khối nội dung khác.
CSS viết tắt của từ Cascading Style Sheets, được dùng để trang trí, định dạng, bố cục cho trang web, không có ý nghĩa trong việc thể hiện nội dung
CSS là một file có phần mở rộng là css, nhiệm vụ của nó là tách riêng phần định dạng (style) ra khỏi nội dung trang HTML
Khi sử dụng CSS, việc quản lý nội dung trang HTML trở nên dễ dàng hơn, giúp điều khiển định dạng hiệu quả và tiết kiệm thời gian trong việc lập trình hoặc chỉnh sửa Ví dụ, nếu có 100 file HTML với tiêu đề giống nhau và muốn thay đổi màu sắc của tiêu đề sang màu xanh, CSS chỉ cần một dòng code để thực hiện điều này.
JavaScript là ngôn ngữ lập trình phổ biến nhất trên thế giới trong suốt 20 năm qua Nó cũng là một trong số 3 ngôn ngữ chính của lập trình web:
HTML: Giúp chúng ta thêm nội dung cho trang web
CSS: Định dạng thiết kế, bố cục, phong cách, canh lề của trang web
JavaScript: Cải thiện cách hoạt động của trang web Ưu điểm:
- Dễ học hơn các ngôn ngữ lập trình khác
- Lỗi dễ phát hiện hơn và dễ sửa hơn
- Nó có thể được gắn trên một số element của trang web hoặc event của trang web như là thông qua click chuột hoặc di chuột tới
- JavaScript hoạt động trên nhiều trình duyệt, nền tảng
- Có thể sử dụng JavaScript để kiểm tra input và giảm thiểu việc kiểm tra thủ công khi truy xuất qua database
- Giúp website tương tác tốt hơn với khách truy cập
- Hoạt động nhanh hơn và nhẹ hơn các ngôn ngữ lập trình khác
- Có thể được dùng để thực thi mã độc trên máy tính của người dùng
- Không được hỗ trợ trên mọi trình duyệt [14] e) Giới thiệu về GitHub
Git Bash là công cụ hỗ trợ lập trình viên phối hợp công việc và theo dõi thay đổi trong các lệnh Máy chủ Git cung cấp khả năng kiểm soát truy cập, hiển thị nội dung kho Git qua giao diện web và quản lý kho lưu trữ Phần mềm này tương thích với nhiều hệ điều hành như Windows, Linux, và Mac OSX Để xây dựng một trang web, cần có các thành phần cơ bản phù hợp.
Hình 2.3: Cấu tạo của một trang web
Hình 2.3 thể hiện cấu tạo của một trang web mà nhóm thực hiện
- Khối tạo giao diện: đây là khối sử dụng html để tạo giao diện cứng cho trang web
- Khối thiết kế giao diện: đây là khối sử dụng CCS để cho việc thiết kế, tạo kiểu cho backgrounds, màu sắc, bố cục, phân cách và hiệu ứng
Khối giao tiếp với người dùng sử dụng JavaScript để tạo ra các chức năng động như thêm, sửa, xóa và tìm kiếm thông tin.
Giao tiếp với người dùng
Thiết kế giao diện Tạo giao diện
GIỚI THIỆU PHẦN MỀM LẬP TRÌNH APP ANDROID STUDIO
Android Studio là phần mềm phát triển ứng dụng cho hệ điều hành Android, bao gồm các công cụ như code editor, debugger và performance tools Nó cung cấp hệ thống build/deploy cùng trình giả lập để mô phỏng môi trường thiết bị trên máy tính, giúp lập trình viên dễ dàng phát triển ứng dụng từ đơn giản đến phức tạp Cấu trúc của một project trong Android Studio cũng rất quan trọng để tối ưu hóa quy trình phát triển.
Hình 2.4: Cấu trúc của một project android studio
Figure 2.4 illustrates the structure of a project, which consists of four main components: manifests, java, assets, and res The manifests section contains the AndroidManifest.xml file, which declares all essential elements of the application.
Trong dự án, Activity được sử dụng để quản lý các chức năng của ứng dụng, đồng thời tập tin này cũng cấp quyền cho ứng dụng như quyền truy cập internet Thư mục java chứa tất cả các tập tin java, với mỗi Activity tương ứng với một tập tin java riêng, nơi lập trình viên viết mã cho ứng dụng Thư mục assets, mặc định chưa tồn tại, cần được lập trình viên tạo ra để chứa các tài nguyên như hình ảnh và tệp tin txt Cuối cùng, thư mục res lưu trữ các thành phần giao diện như layout, menu và animation, hỗ trợ quá trình tạo và hiển thị Activity.
Khi phát triển ứng dụng Android, hệ thống sẽ tạo ra hai loại tập tin: một tập tin Java chứa mã nguồn và một tập tin XML dùng để định nghĩa giao diện Bên cạnh đó, các menu và hiệu ứng animation cũng được thiết lập trong quá trình này.
2.5 PHẦN MỀM LẬP TRÌNH KHỐI XỬ LÝ TRUNG TÂM ARDUINO IDE
Arduino là công cụ lý tưởng cho các ứng dụng tương tác, giúp người mới bắt đầu dễ dàng tiếp cận vi điều khiển cho nhiều mục đích như chế tạo robot, trang trí quảng cáo LED, quang báo, và điều khiển các thông số như nhiệt độ, áp suất, độ ẩm Được lắp ráp từ các linh kiện điện tử, Arduino vẫn đủ linh hoạt để các chuyên gia phát triển những dự án phức tạp Hoạt động trên nền tảng mã nguồn mở, Arduino bao gồm một vi điều khiển, ngôn ngữ lập trình và trình soạn thảo (IDE), mang lại sự tiện lợi cho người dùng.
Hình 2.5 thể hiện các vùng làm việc của phần mềm
Hình 2.5: Các vùng làm việc của phần mềm
Vùng lệnh của IDE bao gồm các nút lệnh menu như File, Edit, Sketch, Tools và Help Ngoài ra, phía dưới còn có các biểu tượng cho phép truy cập nhanh vào các chức năng thường dùng, giúp người dùng tiết kiệm thời gian và nâng cao hiệu quả làm việc.
Dùng để biên dịch chương trình đang viết và kiểm tra, thông báo các lỗi cho người lập trình
Biên dịch và tải chương trình đang viết vào board Arduino
Tạo một của sổ soạn thảo chương trình mới
Mở các chương trình đã lưu
Lưu chương trình đang soạn thảo.
GIỚI THIỆU PHẦN CỨNG
Mạch thiết kế cần nhỏ gọn và tiết kiệm chi phí nhưng vẫn đảm bảo đầy đủ chức năng Trên thị trường hiện có nhiều loại module RFID, vì vậy việc lựa chọn module phù hợp cho hệ thống là rất quan trọng Bảng 2.1 sẽ cung cấp thông tin về các loại module RFID thông dụng.
Bảng 2.1: So sánh các module RFID thông dụng:
Nguồn sử dụng 2.5~3.3VDC 3.3~5VDC 3.3~5VDC
Tần số hoạt động 13.56MHz 125KHz 13.56MHz
Khoảng cách đo < 6cm < 5cm < 7cm
Kích thước 38.5x19mm 42.7x40.4 mm 40mm × 60mm
Giá thành 45.000VNĐ 140.000VNĐ 80.000CVNĐ
Khi xem xét bảng số liệu, ta nhận thấy rằng cả RC522 và PN532 đều có tần số hoạt động cao hơn Tuy nhiên, module RFID-RC522 lại có giá thành hợp lý, chỉ từ 40.000-55.000vnđ, cùng với thiết kế nhỏ gọn và tần số sóng mang 13.56MHz, rất phù hợp với loại thẻ RFID dán nhỏ gọn Vì vậy, module RFID-RC522 là sự lựa chọn tối ưu cho đề tài này.
Hình 2.6 mô tả về module RC522
- Chân SDA(SS) chân chọn lọc chip khi giao tiếp SPI (kích hoạt mức thấp)
- Chân SCK: Chân xung trong chế độ SPI
- Chân MOSI(SDI): Master Data Out – Slave In trong chế độ giao tiếp SPI
- Chân MISO(SDO): Master Data In – Slave Out trong chế độ giao tiếp SPI
- Chân GND: Chân nối mass
- Chân RST: Chân reset lại module
- Tần số sóng mang: 13.56MHz
- Khoảng cách hoạt động: 0~60mm
- Tốc độ truyền dữ liệu: tối đa 10Mbit/s
- Các loại card RFID hỗ trợ: mifare1 S50, mifare1 S70, mifare UltraLight, mifare Pro, mifare Desfire
- I2C (Fast Mode: 400 kbit/s, High Speed Mode: 3400 kbit/s)
Module RC522 hoạt động với tốc độ UART 1228.8 kbit/s và phát ra sóng điện từ tần số 13.56MHz Khi thẻ tag RFID nằm trong vùng hoạt động, nó sẽ cảm nhận sóng điện từ và thu nhận năng lượng, từ đó phản xạ lại để RFID reader nhận biết ID của thẻ Nhờ vào quá trình này, thiết bị RFID có thể xác định thẻ tag và thực hiện các hoạt động như truy xuất dữ liệu Thông tin chi tiết về các chân của RC522 được trình bày trong bảng 2.2.
Bảng 2.2: Thông tin các chân của RC522:
Tên chân GPIO Input Output Ghi chú
D0 GPIO16 No interrupt No PWM for
I2C support Được sử dụng khởi động
D1 GPIO4 Ok Ok Sử dụng giống
D2 GPIO0 Ok Ok Sử dụng giống
D3 GPIO2 Pulled up Ok Kết nối với nút nhấn flash
D4 GPIO14 Pulled up Ok Hoạt động mức cao, kết nối với board hoặc led
D5 GPIO12 Ok Ok SPI(SCLK)
D6 GPIO12 Ok Ok SPI(MISO)
D7 GPIO13 Ok Ok SPI(MOSI)
RX GPIO3 Ok RX Pin Hoạt động mức cao
Module ESP8266 12F được lựa chọn vì kích thước nhỏ gọn, giá thành phải chăng và phương thức giao tiếp UART dễ sử dụng Nó phù hợp cho nghiên cứu và xây dựng hệ thống quy mô nhỏ với bộ nhớ flash 4MB hợp lý Ngoài ra, module còn có vỏ bọc kim loại chống nhiễu và anten Wifi PCB tích hợp, giúp đảm bảo khoảng cách truyền tín hiệu xa và ổn định Bảng 2.3 trình bày so sánh các thông số của hai module.
Bảng 2.3: So sánh ESP8266 và ESP32:
Thông số kỹ thuật ESP8266 12F ESP32
Tần số 80MHz 160MHz wifi 802.11b/g/n HT20 HT40
Bluetooth Không hỗ trợ 4.2 và BLE
Module ESP8266 12F là lựa chọn lý tưởng cho đề tài này nhờ vào kích thước nhỏ gọn, dải tần số hoạt động phù hợp và giá thành phải chăng.
Hình 2.7: Cấu hình chân ESP8266 12F
TX GPIO1 TX Pin Ok Hoạt động mức cao
Hình 2.7 thể hiện cấu hình chân cho module ESP8266 12F
- Tích hợp giao thức TCP/IP
- Số chân Analog Input: 1, 10bit (điện áp vào tối đa 3.3V)
- Hỗ trợ kiết nối với smart phone (IOS và Android)
- Tốc độ truyền Serial (Baurate): 115200 (Max)
- Phương thức giao tiếp UART, SPI, I2C
- Điện áp vào tối đa 5V
- Dòng tiêu thụ tối đa: 320mA
- Điện áp ra I/O: Tối đa 3.6V
2.6.3 Khối hiển thị Oled 0.96 inch
Màn hình OLED 0.96 inch sử dụng giao tiếp I2C là lựa chọn lý tưởng nhờ khả năng hiển thị đẹp và rõ nét ngay cả trong điều kiện ánh sáng ban ngày Với mức chi phí hợp lý, màn hình này cung cấp chất lượng đường truyền ổn định và dễ dàng kết nối chỉ với 2 chân GPIO Đặc biệt, việc chỉ cần hiển thị một số thông tin cơ bản khiến màn hình OLED 0.96 inch trở thành giải pháp hoàn hảo cho nhiều ứng dụng.
Hình 2.8 thể hiện hình ảnh của màn hình Oled 0.96 inch
Hình 2.8: Màn hình Oled 0.96 inch
- Điện áp sử dụng: 2.2~5.5VDC
- Số điểm hiển thị: 128x64 điểm
- Độ rộng màn hình: 0.96 inch
- Màu hiển thị: Trắng / Xanh Dương
Bảng 2.4 thể hiện chức năng từng chân của ESP8266 12F
Bảng 2.4: Chức năng chân ESP8266 12F:
2.6.4 Khối mạch nguồn giảm áp DC mini 3A
Lý do chọn pin Panasonic IRC là vì tính nhỏ gọn và linh hoạt trong sử dụng, đồng thời vẫn đảm bảo cung cấp đủ năng lượng cho phần cứng hoạt động hiệu quả.
Pin 18650 là loại pin Lithium có khả năng sạc nhiều lần, với điện áp xả 4.2V và dung lượng 4200mAh, có giá thành khoảng 35.000-40.000 VNĐ Để bảo vệ các linh kiện và module trong phần cứng khỏi tình trạng quá áp, pin này thường được kết hợp với mạch nguồn giảm áp DC mini 3A, giúp giảm điện áp vào xuống còn 3.3V-3A Hình 2.9 minh họa cho mạch nguồn giảm áp này.
Hình 2.9: Mạch nguồn giảm áp DC mini 3A
- Điện áp đầu ra: 0.8 ~ 20V (có thể điều chỉnh)
- Nhiệt độ hoạt động: -40 0 C đến +85 0 C
2.6.5 Thẻ RFID mifare sticker 13.56MHz
Miếng dán thẻ từ nhựa 13.56 MHz là giải pháp lý tưởng cho việc đọc và ghi dữ liệu với tốc độ cao và giá thành hợp lý Thẻ này được ứng dụng rộng rãi trong các lĩnh vực như bảo mật, nhà thông minh, chấm công, và gửi xe thông minh Nó hoàn toàn tương thích với module RFID RC522 13.56MHz và các module tương tự, đáp ứng tốt yêu cầu của hệ thống Hình 2.10 minh họa rõ nét về thẻ mifare sticker 13.56MHz.
Hình 2.10: Thẻ mifare sticker 13.56MHz
- Tần số hoạt động: 13.56MHz
- Thời gian đảm bảo không mất dữ liệu: 10 năm
- Kích thước: đường kính 2.5cm
2.6.6 Cáp chuyển đổi PL2303HX từ USB sang TTL
Mục đích sử dụng là để nạp code cho ESP8266 12F, hình 2.11 thể hiện hình ảnh của cáp chuyển đổi PL2303HX
Hình 2.11: Cáp chuyển đổi PL2303HX.
- Sử dụng chip PL2303HX của Profilic
- Sử dụng USB như cổng COM
- Hoạt động với nhiều hệ điều hành: Win XP, Win7
2.6.7 Một số linh kiện khác
Tụ hóa, điện trở, công tắc gạt on-off, nút nhấn
2.6.8 Các chuẩn giao tiếp a Chuẩn giao tiếp I2C
Chuẩn giao tiếp I2C được mô tả ở hình 2.12
Hình 2.12: Kết nối các thiết bị theo chuẩn I2C
Giao tiếp I2C bao gồm hai dây chính: SDA (dữ liệu) và SCL (xung đồng hồ) Trong đó, SDA cho phép truyền dữ liệu theo hai hướng, trong khi SCL chỉ truyền theo một hướng để đồng bộ hóa Khi một thiết bị ngoại vi kết nối với bus I2C, chân SDA của thiết bị sẽ được nối với dây SDA của bus, và chân SCL sẽ nối với dây SCL Cả hai dây SDA và SCL đều được kết nối với nguồn điện dương thông qua một điện trở kéo lên.
Các điện trở kéo là cần thiết vì chân giao tiếp I2C của thiết bị ngoại vi thường có dạng cực máng hở Giá trị của các điện trở này thay đổi tùy thuộc vào từng thiết bị và chuẩn giao tiếp cụ thể.
Các chế độ hoạt động
Các chế độ hoạt động của 1 Bus I2C
- Nhiều chủ nhiều tớ b Chuẩn truyền giao tiếp nối tiếp UART
Giao thức UART là một phương thức truyền dữ liệu nối tiếp không đồng bộ, trong đó mỗi gói dữ liệu bao gồm bit Start, khung dữ liệu, bit parity và bit Stop.
Bit Start giữ mức điện áp cao khi không có dữ liệu truyền Để bắt đầu quá trình truyền, UART kéo bit này từ cao xuống thấp trong một chu kỳ xung nhịp Khi UART nhận thấy sự chuyển đổi từ điện áp cao sang thấp, quá trình truyền dữ liệu bắt đầu.
Khung dữ liệu là phần chứa thông tin được truyền, có độ dài từ 5 đến 8 bit khi sử dụng một bit parity Bit parity giúp kiểm tra tính toàn vẹn của dữ liệu trong quá trình truyền bằng cách xác định tổng số bit 1 là chẵn hay lẻ và so sánh với giá trị của bit parity Nếu tổng số bit 1 là chẵn và bit parity là 0, quá trình truyền diễn ra suôn sẻ mà không có lỗi Ngược lại, nếu tổng số bit 1 là chẵn nhưng bit parity là 1, điều này cho thấy có lỗi trong đường truyền, dẫn đến sự thay đổi của dữ liệu.
Bit Stop là tín hiệu đánh dấu sự kết thúc của gói dữ liệu, trong đó UART điều khiển đường truyền dữ liệu bằng cách chuyển đổi từ điện áp thấp sang điện áp cao trong ít nhất hai bit.
TÍNH TOÁN THIẾT KẾ
GIỚI THIỆU
Trong chương 3, chúng ta tiến hành tính toán giá trị các linh kiện cần thiết cho hệ thống, đồng thời vẽ lưu đồ chương trình cho các khối và thiết kế sơ đồ nguyên lý mạch.
TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG
Sơ đồ khối của toàn hệ thống được mô tả ở hình 3.1
Hình 3.1: Sơ đồ khối của hệ thống
Khối nguồn: Được sử dụng là Pin 8.4V có thể sạc Khối này có chức năng cung cấp nguồn cho khối phần cứng hoạt động
Khối phần cứng: có chức năng đọc thẻ rfid, giao tiếp với web server thông qua wifi, đồng thời hiển thị một số thông tin cơ bản
Khối web server: có chức năng cho phép nhập, lưu trữ và sửa đổi thông tin tương ứng với các ID của thẻ rfid
App điện thoại: có chức năng hiển thị thông tin lấy từ web server lên điện thoại
Hình 3.2: Sơ đồ khối của phần cứng
Nguồn Phần cứng Web server
Hình 3.2 mô tả sơ đồ khối của phần cứng gồm khối nguồn, khối xử lí, khối RFID và khối hiển thị
Khối nguồn sử dụng pin để cung cấp năng lượng cho khối xử lý hoạt động Khối xử lý nhận địa chỉ ID từ module RFID và truy xuất thông tin tương ứng với từng địa chỉ ID để hiển thị trên khối hiển thị.
Khối RFID: Đọc ID của thẻ RFID và gửi ID đến khối xử lý
Khối hiển thị: Có chức năng hiển thị thông tin tương ứng với từng địa chỉ ID
3.2.1 Tính toán và thiết kế phần cứng
3.2.1.1 Tính toán và thiết kế nguồn
Bảng 3.1: Thống kê dòng và điện áp của các linh kiện:
Tên linh kiện Điện áp làm việc Dòng điện làm việc
Bảng 3.1 trình bày dòng và điện áp hoạt động của các linh kiện, với điện áp làm việc tối đa của mỗi cảm biến là 5V DC Do điện áp hoạt động nằm trong khoảng 3,3V DC, chúng ta sẽ sử dụng điện áp 3,3V cho các cảm biến này.
Dòng điện tối đa của mạch được tính toán: 26+320+12= 358mA
Công suất của mạch được tính toán như sau:
Dựa trên công suất tính toán, chúng tôi thiết kế hoặc lựa chọn nguồn điện phù hợp, với yêu cầu công suất lớn hơn 1,2W và dòng điện trên 358mA Để đáp ứng các tiêu chí này, nhóm quyết định sử dụng nguồn pin 4,2V với 2 pin.
Tính toán giá trị điện trở:
Trong mạch nguyên lí tổng thể của phần cứng ở hình 3.7, tính toán giá trị điện trở chung cho khối esp, oled, nút nhấn được tính theo định luật Ohm:
Trong đó I là dòng điện, U là điện áp vào, R là giá trị điện trở
Từ đó, do nguồn vào là 3,3V và dòng điện mong muốn là 3,3mA nên theo công thức (3.1):
R = 3,3 3,3x10 = 10KΩ Tiếp đến là thiết kế chi tiết cho khối nguồn
Hình 3.3: Sơ đồ nguyên lý khối nguồn
Sơ đồ nguyên lý khối nguồn trong Hình 3.3 bao gồm domino để cắm nguồn pin và jack cắm sạc, được kết nối chung với nhau Mạch nguồn giảm áp điều chỉnh điện áp xuống mức 3.3V, cung cấp nguồn cho toàn bộ hệ thống.
3.2.1.2 Tính toán và thiết kế mạch a Tính toán thiết kế khối RFID RC522
Theo datasheet của module RC522 hoạt động với điện áp 3.3V và dòng từ 13 – 26mA, nhóm chúng em đã chọn nguồn phù hợp để cấp cho module
Nhóm chúng em đã kết nối khối RFID theo chuẩn SPI với khối xử lý ESP, và tiến hành tạo các port trên phần mềm mô phỏng để kết nối với ESP.
Khi lựa chọn giữa module RFID RC522 và PN532, cả hai đều có chức năng tương tự và hỗ trợ các chuẩn kết nối giống nhau Tuy nhiên, module RC522 có giá thành rẻ hơn, khoảng cách đọc thẻ từ 1-3cm và kích thước nhỏ gọn 40×60x5mm, so với PN532 có kích thước 79x49x5mm.
Hình 3.4: Sơ đồ nguyên lý khối RFID
Hình 3.4 thể hiện sơ đồ nguyên lí khối RFID
Khối RFID sử dụng module RC522 giao tiếp theo chuẩn SPI, yêu cầu kết nối 4 chân SDA, SCK, MISO, MOSI cùng với các chân VCC và GND để cấp nguồn cho module Bên cạnh đó, cần thực hiện tính toán thiết kế cho khối xử lý ESP để đảm bảo hoạt động hiệu quả.
Hình 3.5 minh họa sơ đồ nguyên lý khối xử lý của ESP 8266 12E, với điện áp vào tối đa là 5V và điện áp hoạt động là 3,3V Nhóm đã chọn nguồn phù hợp cho ESP và thiết kế thêm một nút reset để khôi phục lại ESP sau mỗi lần nạp code, nhằm tránh tình trạng đầy bộ nhớ Ngoài ra, nhóm cũng lắp đặt một công tắc dạng gạt ON/OFF để cho phép nạp code khi được kích hoạt.
Hình 3.5: Sơ đồ nguyên lý khối xử lý
Khối xử lý giao tiếp với khối RFID qua giao thức SPI và kết nối với khối hiển thị thông qua giao thức I2C, tổng cộng sử dụng 8 cổng giao tiếp dữ liệu.
3 port nguồn và 2 port cho nút reset và công tắc nạp code
Khi so sánh với các dòng ESP khác như ESP8266 NodeMCU và ESP32, ESP8266 12F nổi bật với kích thước nhỏ gọn chỉ 16x24mm, đồng thời có giá thành rẻ hơn từ 3 đến 5 lần.
4 lần so với các dòng ESP khác cùng loại c Tính toán và thiết kế khối hiển thị
Sơ đồ nguyên lý của khối hiển thị được thể hiện trong Hình 3.6 Màn hình OLED 0.96 inch hoạt động với điện áp từ 2,2 đến 5,5V và dòng hoạt động 8mA, do đó nhóm đã chọn nguồn phù hợp Màn hình OLED giao tiếp với khối xử lý qua chuẩn I2C, sử dụng hai chân SDA và SCL, và mỗi chân được mắc thêm một điện trở 10KΩ để hạn dòng, tránh tình trạng quá dòng cho màn hình.
Hình 3.6: Sơ đồ nguyên lý khối hiển thị
Sơ đồ nguyên lý tổng thể phần cứng của mạch bao gồm các thành phần chính như ESP, load, power, màn hình OLED và module RFID, được thể hiện trong Hình 3.7.
Hình 3.7: Sơ đồ nguyên lý phần cứng.
LẬP TRÌNH HỆ THỐNG
Hệ thống được chia ra làm 3 phần:
Phần 1: Đọc thông tin của thẻ tag thông qua module RFID RS522
Phần 2: Web quản lí các thông tin lưu trữ tương ứng với mỗi ID của thẻ RFID Phần 3: App Android hiển thị các thông tin lưu trữ trên web thông qua điện thoại a Lưu đồ phần cứng Đây là lưu đồ chính của phần 1: Đọc thông tin của thẻ tag thông qua module RFID RS522, gồm chương trình chính và có 2 chương trình con được thể hiện ở hình 3.8
Hình 3.8: Lưu đồ phần cứng
ID thẻ Đọc và lấy
ID thẻ từ module RFID
Gửi yêu cầu nhận Data và hiển thị
Để khởi động hệ thống, trước tiên cần khai báo các thư viện cần thiết cùng với thiết lập IP và mật khẩu wifi Sau đó, module RFID RC522 sẽ phát tín hiệu để phát hiện các thẻ tag trong phạm vi và đọc ID thẻ Tiếp theo, chương trình kiểm tra tính hợp lệ của ID thẻ; nếu hợp lệ, thông tin tương ứng sẽ được gửi để hiển thị trên màn hình OLED, ngược lại, chương trình sẽ tiếp tục tìm kiếm và đọc ID thẻ Chương trình hoạt động liên tục theo trình tự cho đến khi người dùng quyết định dừng lại.
Lưu đồ chương trình con:
Chương trình con đọc và lấy ID thẻ từ module RFID được thể hiện ở hình 3.9
Hình 3.9: Lưu đồ chương trình con đọc và lấy ID thẻ từ module RFID.
Chương trình con đọc ID thẻ từ module RFID hoạt động bằng cách phát ra các xung tín hiệu để phát hiện các thẻ hợp lệ trong phạm vi Sau khi phát hiện, module RC522 sẽ chọn từng thẻ để đọc ID, sử dụng cơ chế tách biệt để lấy thông tin.
Nhận từng giá trị của thẻ và xâu thành chuỗi ID
Kiểm tra độ hợp lệ Đọc và lấy
ID thẻ từ trong module RFID thường bao gồm 4 byte cho ID và 1 byte để xác thực tính đúng sai của ID Các giá trị này sẽ được kết hợp lại thành một chuỗi gọi là chuỗi ID thẻ.
Chương trình con gửi yêu cầu nhận Data và hiển thị được thể hiện ở hình 3.10
Hình 3.10: Lưu đồ chương trình gửi yêu cầu nhận Data và hiển thị
Sau khi quét thẻ, module sẽ gửi yêu cầu tới server để nhận thông tin liên quan đến thẻ, kèm theo ID đã được mã hóa dưới dạng chuỗi hex để xác định thẻ Khi server nhận yêu cầu, nó sẽ phản hồi bằng mã trạng thái HTTP để thông báo kết quả truy cập.
Gửi yêu cầu nhận Data và hiển thị
Gửi yêu cầu cung cấp thông tin kèm theo trường cardID
Lấy các thông tin từ database gửi về module ESP
Kiểm tra thông tin thẻ
Hiển thị ID, không tìm thấy server
Không tìm thấy thông tin thẻ
Khi gửi yêu cầu đến server, mã code phản hồi sẽ được trả về, với mã 200 cho biết yêu cầu đã được xử lý thành công và thông tin CardID sẽ được cung cấp Nếu mã code khác, server sẽ thông báo không tìm thấy và kèm theo ID thẻ đã mã hóa Nếu có thông tin cho CardID, nó sẽ được hiển thị trên màn hình OLED; ngược lại, thông báo không tìm thấy thông tin thẻ cùng với ID thẻ mã hóa sẽ được hiển thị Để truy cập giao diện chính của web, người dùng cần thực hiện kiểm tra bảo mật tại giao diện đăng nhập Nếu tài khoản hoặc mật khẩu sai, trang sẽ tự động tải lại để người dùng nhập lại Khi thông tin đúng, hệ thống sẽ chuyển đến giao diện chính.
Hình 3.11: Chương trình con kiểm tra tài khoản đăng nhập
Kiểm tra Sai tài khoản
Tiến hành đăng nhập lại
Kiểm tra tài khoản đăng nhập
Nhập tài khoản và mật khẩu Đúng
Hình 3.12: Lưu đồ của web
Hình 3.12 thể hiện lưu đồ của trang web
Hiển thị các thông tin đã được lưu
Nhập thông tin qua nút Add Khởi tạo hệ thống
ID thẻ vừa được quét từ thiết bị
Kiểm tra tài khoản đăng nhập Begin
Để xây dựng một trang web, trước tiên cần khởi tạo hệ thống với các giao diện và thư viện liên quan Hai giao diện chính được tạo ra là giao diện kiểm tra tài khoản và giao diện chính, bao gồm hình ảnh, bảng, nút nhấn và thanh tìm kiếm Sau đó, chương trình con kiểm tra tài khoản sẽ hoạt động, nhận và hiển thị ID thẻ khi quét vào thiết bị, gửi ID lên web và cho phép nhập thông tin qua nút "Add" Thông tin được lưu lại và hiển thị trên giao diện chính, đồng thời file Excel tự động cập nhật Tiếp theo, chương trình con kiểm tra các nút "Edit" và "Remove" sẽ được thực hiện, sau đó là chương trình tìm kiếm thông tin và quay lại kiểm tra ID Chương trình hoạt động liên tục cho đến khi người dùng quyết định dừng lại.
Tiếp đến là phần chương trình con kiểm tra nút nhấn là nút “Edit” và “Remove” Chương trình con kiểm tra nút nhấn được thể hiện ở hình 3.13
Lưu đồ chương trình con kiểm tra nút nhấn mô tả quy trình hoạt động của nút “Edit”, cho phép người dùng kiểm tra và chỉnh sửa thông tin cần thiết Khi nút “Edit” được kích hoạt, giao diện chỉnh sửa xuất hiện cùng với các tùy chọn “Lưu” hoặc “Hủy” Nếu chọn “Lưu”, thông tin vừa nhập sẽ được lưu lại và tự động cập nhật vào file Excel Ngược lại, nếu chọn “Hủy”, người dùng sẽ trở lại giao diện chính của web Nút “Remove” hoạt động tương tự như nút “Edit”, nhưng với chức năng khác biệt.
Khi chọn "Remove", server sẽ hiển thị thông báo "Bạn có muốn xóa?" với hai tùy chọn là "Ok" và "Cancel" Nếu chọn "Ok", tất cả thông tin như ID thẻ, hình ảnh, tên, giới tính, tuổi và số điện thoại sẽ bị xóa khỏi cơ sở dữ liệu và hệ thống sẽ thông báo đã xóa thành công Ngược lại, nếu chọn "Cancel", người dùng sẽ trở lại giao diện chính và chờ đến phiên hoạt động tiếp theo.
Hình 3.13: Lưu đồ kiểm tra nút nhấn
Lưu lại thông tin, cập nhật thông tin trên file excel
Giao diện nhập thông tin
Hiển thị giao diện chính
Hiển thị giao diện chính
Tiếp đến là phần chương trình con kiểm nhập thông tin qua nút Add
Chương trình con kiểm tra nhập thông tin qua nút Add được thể hiện ở hình 3.14
Hình 3.14: Lưu đồ kiểm tra nhập thông tin qua nút Add
Nhập thông tin qua nút Add
Giao diện nhập thông tin
Lưu thông tin trên web và trên file excel
Hiển thị giao diện chính
Thẻ đã tồn tại, quét thẻ mới
Khi nhấn nút "Add", hệ thống sẽ kiểm tra xem ID đã có thông tin hay chưa Nếu đã tồn tại, thông báo "Thẻ đã tồn tại, vui lòng quét thẻ mới!!" sẽ xuất hiện và người dùng sẽ trở lại giao diện chính Ngược lại, nếu thẻ chưa có thông tin, giao diện để thêm thông tin sẽ được hiển thị Sau khi nhập thông tin, người dùng sẽ được hỏi có muốn "Lưu" hay "Hủy" Nếu chọn "Lưu", thông tin sẽ được lưu trên web và đồng thời được lưu trữ trong file Excel.
“Hủy” thì sẽ hiển thị giao diện chính ban đầu của web
Cuối cùng là lưu đồ của chương trình con “Tìm kiếm thông tin” được thể hiện ở hình 3.15
Hình 3.15: Lưu đồ tìm kiếm thông tin
Nhập thông tin cần tìm
Hiển thị thông tin hợp lệ
Không tìm thấy kết quả
Hiển thị giao diện chính
Hiển thị thông tin vừa tìm
Lưu đồ tìm kiếm thông tin cho phép người dùng nhập thông tin cần tìm vào ô tìm kiếm Hệ thống sẽ tự động lọc ra các thông tin tương ứng với các ký tự đã nhập, chỉ cần hai ký tự là có thể bắt đầu tìm kiếm Nếu thông tin hợp lệ, kết quả sẽ được hiển thị; nếu không, hệ thống sẽ thông báo không tìm thấy kết quả Sau đó, chương trình kiểm tra thanh tìm kiếm để xác định xem thông tin đã bị xóa hay chưa Nếu chưa xóa, thông tin sẽ vẫn hiển thị, ngược lại, chương trình sẽ quay về giao diện chính và chờ đến lượt hoạt động tiếp theo.
Hình 3.16 thể hiện Lưu đồ App trên điện thoại
Lưu đồ của ứng dụng điện thoại bắt đầu bằng việc khởi tạo hệ thống với hai giao diện chính: giao diện đăng nhập và giao diện chính Giao diện chính hiển thị thông tin cần thiết qua một listview, bao gồm các trường như ID thẻ, tên, tuổi, giới tính, địa chỉ, số điện thoại và hình ảnh Người dùng sẽ đăng nhập qua giao diện đăng nhập; nếu thông tin sai, họ sẽ phải nhập lại Khi thông tin đúng, ứng dụng kiểm tra phản hồi từ server Nếu không có phản hồi, thông báo "Không tìm thấy server" sẽ xuất hiện và người dùng quay lại đăng nhập Nếu có phản hồi, yêu cầu dữ liệu sẽ được gửi đến server Nếu yêu cầu thất bại, thông báo tương tự sẽ hiển thị và người dùng sẽ tiếp tục gửi yêu cầu Khi dữ liệu được nhận dưới dạng chuỗi JSON, chương trình sẽ tách chuỗi và hiển thị thông tin lên màn hình Ứng dụng hoạt động liên tục cho đến khi người dùng quyết định dừng lại.
Hình 3.16: Lưu đồ App trên điện thoại
Tiếp đến là lưu đồ chương trình con kiểm tra tài khoản
Lưu đồ chương trình con kiểm tra tài khoản được thể hiện ở hình 3.17
Xử lý dữ liệu vừa nhận và gắn với ID
Hiển thị thông tin trống Hiển thị thông tin
Sau khi khởi tạo ứng dụng, người dùng cần truy cập vào giao diện chính thông qua giao diện đăng nhập để kiểm tra tài khoản Khi mở ứng dụng, giao diện đăng nhập sẽ xuất hiện, yêu cầu người dùng nhập tài khoản và mật khẩu Nếu thông tin đăng nhập không chính xác, người dùng sẽ phải thử lại Nếu thông tin đúng, hệ thống sẽ kiểm tra phản hồi từ server; nếu chưa nhận được phản hồi, sẽ hiển thị thông báo tương ứng.
“Không tìm thấy server”, nếu có nhận được phản hồi từ server sẽ được chuyển đến giao diện chính
Hình 3.17: Chương trình con kiểm tra tài khoản. Đúng
Không Phản hồi từ Server
Sai Tiến hành đăng nhập lại
Nhập tài khoản và mật khẩu
Có Giao diện đăng nhập
THI CÔNG HỆ THỐNG
GIỚI THIỆU
Sau khi hoàn tất việc tính toán và thiết kế các linh kiện phù hợp, quá trình thi công mạch PCB bao gồm lắp ráp linh kiện, thử nghiệm mạch và đóng gói được tiến hành Tiếp theo, các bước thiết lập và khởi tạo webserver cũng như hướng dẫn sử dụng chi tiết từng phần của hệ thống sẽ được thực hiện.
THI CÔNG HỆ THỐNG
4.2.1 Thi công board mạch hệ thống
Sau khi thiết kế sơ đồ nguyên lý, mạch PCB một lớp thủ công có kích thước 5x4.5cm được hoàn thiện Lớp dưới được sử dụng để gắn ESP8266 12F và kết nối với nguồn pin 8.4V cùng điện trở 10KΩ Lớp trên kết nối với module RFID, OLED, các chân cắm cho cổng nạp code, cổng sạc pin, công tắc, nút nhấn và mạch nguồn giảm áp Để đáp ứng tiêu chí nhỏ gọn, hầu hết linh kiện đều là dạng dán Hình 4.1 thể hiện sơ đồ đi dây đã phủ đồng, trong khi Hình 4.2 trình bày sơ đồ ở dạng 3D.
Hình 4.1: Sơ đồ đi dây đã phủ đồng board mạch hệ thống
Hình 4.2 thể hiện thiết kế 3D của lớp top board mạch hệ thống, bao gồm các thành phần quan trọng như module RFID, màn hình Oled, cổng sạc pin ký hiệu J2, và hàng rào 4 chân dùng để nạp code ký hiệu J1.
Bài viết mô tả các thành phần của mạch điện, bao gồm 4 chân gắn Oled ký hiệu J3, 1 bus 8 chân cho module RFID RC522 ký hiệu J4, công tắc ON/OFF ký hiệu S1, nút nhấn BT1, và mạch nguồn hạ áp M1 cùng domino để nhận nguồn từ pin.
Tiếp đến là xuất mạch PCB để phục vụ thi công mạch hoàn chỉnh được thể hiện ở hình 4.3
Danh sách các linh kiện sử dụng được liệt kê chi tiết ở bảng 4.1
Bảng 4.1: Danh sách các linh kiện sử dụng:
4.2.2 Lắp ráp và kiểm tra bo mạch của hệ thống
Quy trình lắp ráp và kiểm tra mạch:
Bước 1: Tiến hành in mạch và ủi mạch lên board đồng
Bước 2: Kiểm tra lại các đường mạch sau khi ủi, chỉnh sửa lại các đường dây nếu bị đứt
Bước 3: Sử dụng nước rửa mạch để làm sạch board đồng, sau đó dùng bàn chải để loại bỏ những mảnh bám không cần thiết của đồng và rửa lại bằng nước sạch.
Bước 4: Lau chùi sạch sẽ và tiến hành khoan mạch
Bước 5: Gắn các linh kiện lên board mạch như hàng rào, điện trở, module ESP
8266 12E, nút nhấn, pin, jack cắm xạc pin, domino, công tắc
STT Tên linh kiện Giá trị Chú thích
5 Nút nhấn 1 dạng nút nhấn, 1 dạng công tắc
7 Tụ điện 104F, 100F Tụ phân cực
11 Các linh kiện khác Điện trở, dây dẫn, mỏ hàn, khoan,…
Bước 6: Hàn các linh kiện đã lắp đặt và kết nối module RFID RS522 cùng với OLED vào các hàng rào bằng dây bus Sử dụng đồng hồ vạn năng để đo thông mạch, đảm bảo rằng mạch hoạt động ổn định.
Bước 7: Nạp chương trình cho ESP 8266 12F và chạy thử nghiệm chương trình Bước 8: Tiến hành đóng gói hệ thống.
ĐÓNG GÓI VÀ THI CÔNG MÔ HÌNH
Sau khi kiểm tra mạch hoạt động tốt ta tiến hành đóng gói thành một mô hình hộp có kích thước: 11x8x7cm với bề dày là 0.2cm
Hình 4.4: Sơ đồ bố trí linh kiện bên trong hộp
Linh kiện bên trong được bố trí như hình 4.4, gồm nguồn pin được xếp ở dưới cùng, tiếp đến là board mạch và Oled được đặt ở trên cùng của hộp
Hình 4.5: Mô hình hộp đựng của thiết bị
Mô hình hộp đựng có thiết kế từ trên xuống, với mặt trên để gắn màn hình Oled kích thước 3x2.5cm Phần board mạch có một lỗ tròn đường kính 1.5cm để cắm chuôi sạc kích thước 5.5x2.5mm, cùng với một ô hình chữ nhật kích thước 1.3x0.7cm để gắn công tắc On/Off kết nối với nguồn pin, giúp khởi động hệ thống.
Hình 4.6: Mô hình nắp và ruột của hộp đựng
Mô hình nắp và bên trong của hộp đựng được thể hiện trong hình 4.6, trong đó mô hình ruột bên trong có bốn góc với mỗi góc có một lỗ tròn có đường kính 0.3cm.
4.3.3 Hướng dẫn sử dụng của toàn bộ hệ thống
4.3.3.1 Các bước thực hiện để truy cập vào webserver
Bước 1: Mở phần mềm giúp tạo máy chủ trên máy (Localhost) Sử dụng phần mềm Xampp
Hình 4.7: Giao diện chính của phần mềm Xampp
Sau khi khởi động ứng dụng Xampp, bạn cần bắt đầu hai module là Apache và MySQL để kích hoạt Webserver Apache và MySQL Server, từ đó cho phép chạy máy chủ localhost, như được minh họa trong hình 4.7.
Click chọn để khởi động
Hình 4.8: Khởi động Apache và MySQL
Sau khi nhấn nút bắt đầu, hai module sẽ chuyển sang màu xanh, cho thấy máy chủ và dữ liệu đã sẵn sàng hoạt động, như thể hiện trong hình 4.8.
Để quản lý và chạy web server, bước đầu tiên là di chuyển đến thư mục chứa toàn bộ dữ liệu đã được lập trình Sau đó, mở Git Bash bằng cách nhấp chuột phải vào thư mục đó và chọn "Git Bash Here" Việc này sẽ giúp bạn thực hiện các lệnh cần thiết để quản lý sự thay đổi và thao tác trên web server một cách hiệu quả.
Hình 4.9: Chọn Git Bash Here
Hình 4.10: Nhập lệnh trong Git Bash
Để kết nối với máy chủ, hãy sử dụng lệnh $ npm start Trước khi chạy server và có thể xuất file Excel, bạn cần nhập lệnh $ npm I excel4node Điều này cho phép xuất file Excel mỗi khi thêm hoặc chỉnh sửa thông tin của thẻ, như thể hiện trong hình 4.10.
Hình 4.11: Sau khi nhập lệnh khởi động
Khi bạn nhập lệnh khởi động, ứng dụng sẽ thông báo rằng nó đã sẵn sàng hoạt động và sẽ hoạt động trên cổng *:3000 của máy chủ, như thể hiện trong hình 4.11.
Bước 3: Mở một trình duyệt web bất kì và gõ đường link: localhost:3000 thì sẽ hiển thị giao diện đăng nhập như hình 4.12
Hình 4.12: Giao diện đăng nhập
Sẵn sàng hoạt động trên port 3000
Nên sử dụng trình duyệt web google chrome để web hoạt động nhanh nhất
Bước 4: Tiến hành đăng nhập để được vào giao diện chính của trang web
Sau khi nhập tài khoản và mật khẩu đúng sẽ được vào phần giao diện chính được mô tả ở hình 4.13
Để truy cập giao diện chính của webserver, người dùng cần có tài khoản được tạo thông qua cơ sở dữ liệu Để tạo tài khoản, hãy truy cập vào đường dẫn 127.0.0.1 để vào phpMyAdmin, hoặc sử dụng liên kết http://localhost/phpmyadmin/sql.php?server=1&db=phpmyadmin&tablemin&pos=0.
Sau khi truy cập ta sẽ đến giao diện của trang được thể hiện ở hính 4.14
Hình 4.14 hiển thị giao diện quản lý, nơi lưu trữ toàn bộ dữ liệu thông tin tài khoản trong mục RFID Để tạo tài khoản, người dùng cần truy cập vào mục admin, như được thể hiện trong Hình 4.15.
Hình 4.15: Giao diện tạo tài khoản đăng nhập
Đầu tiên, hãy nhấp vào mục SQL để hiển thị phần đăng ký tài khoản Tiếp theo, chọn ô INSERT để thêm tài khoản mới và nhập thông tin cho username và password.
Chọn SQL Thư mục admin vào các trường value-1 và value-2 Sau đó tài khoản sẽ được tạo khi ta click vào ô
Go Hình 4.16 thể hiện giao diện điền và lưu thông tin
Để tiết kiệm chi phí khi sử dụng hệ thống, mỗi thẻ tag đều có khả năng tái sử dụng thay vì vứt bỏ File Excel được sử dụng để lưu trữ thông tin đã tạo cho mỗi thẻ, giúp người dùng dễ dàng truy xuất lại thông tin khi cần File này sẽ được lưu trong thư mục của server và cập nhật sau mỗi lần thêm thẻ trên web server Để sử dụng, người dùng chỉ cần mở thư mục chứa file Excel Lưu ý rằng sau mỗi lần thêm thẻ, cần thoát khỏi file Excel để hệ thống lưu thông tin đúng cách Khi ngừng hệ thống, người dùng phải lưu file Excel vào một thư mục an toàn, vì khi khởi tạo lại server, file Excel mới sẽ được tạo và thông tin cũ sẽ bị mất.
Cách sử dụng hệ thống được chia thành 3 phần:
Phần 1: Sử dụng thiết bị
Phần 2: Nhập, chỉnh sửa, xóa thông tin của thẻ ( sử dụng trên máy tính) Phần 3: Hiển thị thông tin trên App Android (sử dụng cho điện thoại)
Dưới đây là chi tiết mỗi phần:
Phần 1: Sử dụng thiết bị:
Để khởi động thiết bị, hãy bật công tắc sang trạng thái ON; để tắt, chuyển về OFF Tiếp theo, thiết bị sẽ tự động kết nối với hệ thống wifi đã được thiết lập sẵn Cuối cùng, quét thẻ vào vị trí thích hợp để hoàn tất quá trình.
Bược 4: Thông tin sẽ được hiển thị trên Oled
Bước 5: Tiến hành xạc pin nếu thiết bị tắt đột ngột
Phần 2: Nhập, chỉnh sửa, xóa thông tin của thẻ ( sử dụng trên máy tính):
Bước 1: Truy cập vào hệ thống wifi được thiết lập sẵn của thiết bị
Bước 2: Truy cập đến địa chỉ nội bộ là: http://localhost:3000/, sau đó tiến hành nhập tài khoản và mật khẩu
Bước 3: Quét vòng đeo có chứa thẻ tag vào đầu đọc RFID, trên web sẽ hiển thị
ID của thẻ Khi đó ta có thể thao tác trên mỗi ID đó
Để thêm thông tin cho thẻ mới, bạn chỉ cần nhấn nút "Add" Nếu muốn xóa thẻ, hãy nhấn nút "Remove" Để chỉnh sửa thông tin, nhấn vào ô "Edit" và để tìm kiếm thông tin, chỉ cần nhập vào thanh tìm kiếm.
Bước 5: Truy cập vào thư mục Server để tìm và mở file excel
Phần 3: Hiển thị thông tin trên App Android (sử dụng cho điện thoại):
Bước 1: Truy cập vào hệ thống wifi được thiết lập sẵn của thiết bị
Bước 2: Mở ứng dụng lên và tiến hành nhập tài khoản và mật khẩu
Bước 3: Tự động kiểm tra sự thay đổi ID của thẻ được quét
Nếu thẻ đã được cập nhật thông tin, nó sẽ xuất hiện trên màn hình điện thoại Trong trường hợp hệ thống ngừng hoạt động, bạn cần tắt và khởi động lại thiết bị.