Giới thiệu sơ lược về hệ thống
Chủ đề "Internet of Things" (IoT) đang ngày càng phát triển mạnh mẽ trên toàn cầu, đặc biệt là tại Việt Nam, mang lại sự tiện lợi tối ưu cho người sử dụng thiết bị điện Tất cả các thiết bị điện đều được kết nối và điều khiển thông qua Internet, cho phép người dùng dễ dàng quản lý chỉ với một cú click chuột hoặc chạm trên điện thoại Dù ở bất kỳ đâu, chỉ cần có kết nối Internet, người dùng có thể điều khiển các thiết bị điện và hệ thống điện đã được thiết lập trước đó, nhờ vào sự tiện ích mà IoT mang lại.
Tôi xin giới thiệu về đề tài nghiên cứu của mình liên quan đến công nghệ IoT, cụ thể là hệ thống tủ gửi đồ thông minh Hệ thống này sẽ ứng dụng tại những địa điểm cần gửi đồ cầm tay như thư viện, siêu thị, và hồ bơi Nó cho phép chủ quản lý nhiều tủ gửi đồ, theo dõi tình trạng sử dụng của từng tủ, và lưu trữ lịch sử sử dụng, bao gồm thông tin người dùng Tất cả dữ liệu được cập nhật trên cơ sở dữ liệu SQL và Firebase của Google, đảm bảo tính bảo mật cho các chức năng giám sát và điều khiển Người dùng có thể đăng ký và đăng nhập thông qua ứng dụng điện thoại, và khi đến quầy, họ có thể sử dụng thẻ hoặc ứng dụng để mở và đóng tủ gửi đồ một cách thuận tiện.
Hệ thống tủ gửi đồ có thể được áp dụng linh hoạt tại nhiều địa điểm khác nhau, với một mẫu thiết kế cho thư viện trường học Hệ thống sử dụng thẻ sinh viên (SV) để mở và đóng tủ, đồng thời hỗ trợ chức năng check in/out tại quầy Đặc biệt, người dùng có thể sử dụng QR code trên ứng dụng điện thoại để kiểm tra khi quên mang thẻ, giúp cả người ngoài trường cũng có thể dễ dàng sử dụng dịch vụ này.
Mục đích của hệ thống
Hệ thống mà tôi nghiên cứu được thiết kế đặc biệt để phục vụ nhu cầu gửi đồ cầm tay, với khả năng quản lý các tủ đồ một cách hiện đại Điều này không chỉ tối ưu hóa quy trình gửi đồ mà còn đảm bảo an ninh và an toàn cho tài sản của người sử dụng.
Nhiệm vụ và đối cần nghiên cứu
- Tìm về vi điều khiển Arduino Mega pro, Arduino Nano, ESP8266 (Wemos D1 mini) , cách lập trình cho Arduino bằng phần mềm Arduino IDE.
- Tìm hiểu về Module RC522 và chuẩn giao tiếp SPI giữa RC522 với vi điều khiển PIC.
- Tìm hiểu về cách tạo ra mạng nguồn 5V, 3.3V bằng các linh kiện điện tử cấp nguồn cho vi điều khiển và các module ngoại vi hoạt động.
- Tìm hiểu ngôn ngữ C# viết một phần mềm winform chạy trên hệ điều hành window.
Firebase là dịch vụ cơ sở dữ liệu thời gian thực của Google, hoạt động trên nền tảng đám mây, cho phép người dùng dễ dàng lưu trữ và truy xuất dữ liệu Bài viết này sẽ hướng dẫn cách xuất dữ liệu từ Firebase bằng ứng dụng Winform, ứng dụng Android và vi điều khiển ESP8266, giúp bạn hiểu rõ hơn về cách tích hợp và sử dụng Firebase trong các dự án của mình.
Tìm hiểu về chuẩn giao tiếp UART của Arduino giúp kết nối Arduino với máy tính để truyền dữ liệu lên phần mềm Winform Đồng thời, giao tiếp giữa các vi điều khiển như ESP và Arduino cho phép mở rộng khả năng xử lý I/O trong các ứng dụng điều khiển.
- Tìm hiểu về Database SQL Server, các câu lệnh SQL để có thể truy xuất dữ liệu từ phần mềm Winform.
Tìm hiểu cách viết ứng dụng điện thoại trên nền tảng Android, bao gồm việc xuất dữ liệu qua Firebase và phát triển một ứng dụng hoàn chỉnh với đầy đủ các tính năng.
Sơ đồ khối của hệ thống
Sơ đồ khối tổng quát
Hình 11: Sơ đồ khối tổng quát
Sơ đồ khối phần cứng kích hoạt thẻ SV
Hình 12: Sơ đồ khối mạch kích hoạt thẻ SV
Sơ đồ khối phần cứng cổng ra vào
Hình 13: Sơ đồ khối mạch cổng ra vào
Sơ đồ khối phần cứng điều khiển tủ đồ
Hình 14: Sơ đồ khối mạch điều khiển tủ đồ
Các phần cứng của hệ thống
Phần cứng kích hoạt thẻ SV
Phần cứng kích hoạt thẻ sinh viên (SV) được thiết kế để quét mã UID của thẻ và gửi thông tin này vào cơ sở dữ liệu (CSDL) của hệ thống Quá trình này cho phép kích hoạt mã UID của thẻ SV, giúp thẻ hoạt động hiệu quả trong hệ thống.
Hình 15: Mạch kích hoạt thẻ
Mạch được thiết kế với chức năng chính là đọc mã thẻ UID của thẻ sinh viên Thông qua vi điều khiển Arduino Nano, mã UID sẽ được gửi lên phần mềm Winform qua cổng COM bằng phương thức truyền dữ liệu UART, giúp phần mềm nhận diện và lưu trữ mã UID vào cơ sở dữ liệu.
Mạch được trang bị còi báo hiệu trạng thái quét thẻ, với các âm thanh khác nhau cho biết thẻ đã được kích hoạt thành công hay không Ngoài ra, mạch còn có đèn báo nguồn và các tụ 103 giúp lọc nhiễu nguồn, đảm bảo hoạt động ổn định.
Phần cứng cổng ra vào
Phần cứng cổng ra vào có nhiệm vụ đọc UID thẻ và truyền dữ liệu đến phần mềm Winform Sau khi phần mềm xử lý thông tin, nó sẽ gửi tín hiệu điều khiển về vi điều khiển để thực hiện chức năng đóng mở cửa ra vào.
Hình 16: Mạch cổng ra vào
- Khối nguồn: Trong mạch có 2 khối nguồn, nguồn 5V và nguồn 3.3V khối nguồn
Điện áp 12V DC được chuyển đổi thành 5V thông qua IC LM7805 để cung cấp nguồn cho vi điều khiển và các linh kiện khác Sau đó, nguồn 5V tiếp tục được điều chỉnh xuống 3.3V bằng IC ổn áp LM1117, từ đó cung cấp điện cho Module RC522 hoạt động.
Hình 17: Khối nguồn mạch cổng ra vào
Vi điều khiển Arduino Nano trong mạch có nhiệm vụ đọc tín hiệu từ module RC522 qua giao thức SPI, giải mã UID của thẻ từ và chuyển đổi thành chuỗi ký tự gửi lên máy tính thông qua cổng COM bằng giao thức UART Phần mềm viết trên Winform C# sẽ nhận tín hiệu và thực hiện điều khiển relay, đồng thời phát âm thanh báo hiệu bằng còi.
Hình 18: Khối vi điều khiển và còi mạch cổng ra vào
Khối Relay 5V 10A có khả năng kích trạng thái đóng mở ở mức cao, giúp điều khiển tải với công suất phù hợp trong hệ thống Relay này được sử dụng để đóng ngắt thiết bị tải tùy thuộc vào thiết bị đầu cuối cần điều khiển Việc điều khiển relay được thực hiện thông qua tín hiệu từ vi điều khiển, với hai relay tương ứng cho hai công vào và ra của hệ thống.
Hình 19: Khối Relay mạch cổng ra vào
Module RFID RC522 sử dụng IC MFRC522 để đọc và ghi dữ liệu cho thẻ RFID với tần số 13.56MHz Thiết kế nhỏ gọn của mạch làm cho nó trở thành một lựa chọn phổ biến cho hầu hết các loại vi điều khiển trong các ứng dụng cần ghi và đọc thẻ RFID.
Hệ thống sử dụng 2 module RC522 để đọc UID của thẻ, tương ứng với 2 cổng vào ra Khi quét thẻ, module sẽ nhận diện UID và truyền dữ liệu qua giao thức SPI, giúp vi điều khiển có thể đọc được UID của thẻ quẹt.
Phần cứng điều khiển tủ đồ
Phần cứng điều khiển tủ đồ cho phép người dùng mở và đóng tủ gửi đồ bằng thẻ sinh viên đã đăng ký, sử dụng công nghệ điện thoại qua Firebase Tất cả dữ liệu người dùng được truyền qua Internet, với khả năng điều khiển ba tủ gửi đồ xếp chồng lên nhau trong một cột Số lượng phần cứng này sẽ thay đổi tùy thuộc vào tổng số tủ đồ trong hệ thống.
Hình 111: Mạch điều khiển tủ đồ
- Khối Nguồn: tưng tự phần cứng cổng ra vào mạch có 2 khối nguồn 5V và
3.3V được ổn áp qua hai IC ổn áp LM7805 và LM1113.
Hình 112: Khối nguồn mạch điều khiển tủ đồ
- Khối ESP8266: là một vi điều khiển nhúng do công ty Espressif của Trung
Quốc sản xuất Tùy vào tính ứng dụng mà ESP8266 có nhiêu loại Module Khác nhau Module sử dụ cho hệ thông là WEMOS D1 MINI.
ESP8266 là một trong những chip IoT phổ biến, cho phép kết nối Wifi và Internet, đồng thời có khả năng hoạt động như một vi điều khiển với các tính năng I/O Analog và Digital, PWM, SPI, I2C, UART Chip này có thể kết nối với Firebase để truyền dữ liệu điều khiển và UID thẻ cho Arduino Mega Pro qua giao thức UART Mặc dù ESP8266 có đầy đủ chức năng điều khiển, nhưng khả năng này không ổn định bằng vi điều khiển truyền thống Do đó, để đảm bảo hiệu suất, ESP8266 thường được sử dụng chủ yếu để kết nối Internet và truyền dữ liệu điều khiển cho một vi điều khiển khác, như Arduino Mega Pro, nhằm điều khiển các thiết bị điện.
Arduino Mega 2560 Pro là phiên bản thu nhỏ của board Arduino Mega 2560, được thiết kế với vi điều khiển Atmega2560-16AU Board này phù hợp cho các dự án mạch yêu cầu tính năng tương tự như Arduino Mega 2560 nhưng với kích thước nhỏ gọn và tiện lợi hơn.
Arduino Mega Pro được sử dụng để đọc UID của thẻ trong mạch, giúp xác định thẻ quét tương ứng với từng tủ gửi đồ Thông tin UID này được so sánh với dữ liệu từ ESP8266, cho phép điều khiển việc đóng mở tủ thông qua Firebase Arduino Mega Pro nhận tín hiệu điều khiển từ ESP8266 qua Internet, giúp người dùng có thể điều khiển tủ thông qua ứng dụng di động.
- Khối output: sẽ báo gồm có các Relay kích điều khiển và còi báo Các
Relay sẽ điều khiển nguồn 12V để mở chốt khoá điện từ 12VDC Còi báo sẽ phát âm thanh khác nhau để thông báo thẻ đúng hay sai Hệ thống bao gồm 3 Relay và 3 còi báo, tương ứng với từng tủ khác nhau.
Hình 115: Khối Relay mạch điều khiển tủ đồ
Khối Module RF522 trong mạch này có chức năng đọc UID thẻ và truyền dữ liệu qua Vi điều khiển bằng phương thức SPI Mạch sử dụng 3 module RF522, mỗi module sẽ quét thẻ tương ứng với 3 tủ gửi đồ khác nhau.
Module quét Qr Code GM65
Module GM65 là một thiết bị đọc mã vạch và QR code 2 chiều hiệu suất cao, có khả năng quét mã vạch 1D và 2D một cách nhanh chóng và dễ dàng Nó cũng hoạt động hiệu quả khi quét các QR code tuyến tính, bao gồm cả mã trên nhãn dán và màn hình.
Module trong hệ thống cho phép đọc mã QR Code từ ứng dụng trên điện thoại, chuyển đổi mã QR thành dạng văn bản và truyền qua cổng USB Serial đến phần mềm Winform Phần mềm này sẽ xử lý chuỗi lệnh để điều khiển cổng vào ra Đây là giải pháp dự phòng hữu ích cho sinh viên quên thẻ sinh viên, giúp họ sử dụng ứng dụng trên điện thoại để kiểm tra mã QR khi vào ra tủ gửi đồ.
THIẾT KẾ PHẦN MỀM WINFORM
Các chức năng của WinForm
-Phần mềm quản lý được viết trên nền tảng Winform của Microsoft kết với với cơ sở dữ liệu database SQL Server và cơ sở dữ liệu cloud Firebase
Hình 22: Cơ sở dữ liệu database
Phần mềm giám sát điều khiển toàn bộ hệ thống, cho phép hoạt động của cả ứng dụng và các thiết bị điện tử chỉ khi được kích hoạt Khi phần mềm hoạt động, ứng dụng sẽ cung cấp danh sách tủ gửi đồ cho người sử dụng.
Phần mềm giám sát hệ thống cung cấp nhiều chức năng hữu ích, trong đó chức năng đăng nhập chỉ cho phép những người có tài khoản Admin truy cập Ngoài ra, hệ thống cũng cho phép tạo thêm tài khoản để người dùng có thể đăng nhập vào hệ thống một cách dễ dàng.
Phần mềm sẽ kết nối và truyền tín hiệu dữ liệu đến các thiết bị phần cứng thông qua cổng COM Serial Port, sử dụng giao thức UART để truyền tải tín hiệu điều khiển.
Phần mềm sẽ thu thập dữ liệu người dùng và lưu trữ toàn bộ thông tin trên CSDL Firebase hoặc SQL Server, tùy thuộc vào loại dữ liệu và đặc tính điều khiển lịch sử người dùng.
THIẾT KẾ APP MOBILE ĐIỀU KHIỂN TRÊN
Các tính năng của app
Ứng dụng được phát triển trên nền tảng Android Studio với giao diện thân thiện và dễ sử dụng, mang đến trải nghiệm trực quan cho người dùng Mặc dù giao diện đồ họa và biểu tượng hỗ trợ rất tốt và có thể tùy chỉnh sâu, nhưng việc tiếp cận cho người mới vẫn gặp khó khăn Để xây dựng một ứng dụng hoàn chỉnh về giao diện và chức năng, người phát triển cần có kiến thức vững về ngôn ngữ Java.
Ứng dụng cung cấp các tính năng như đăng ký tài khoản qua email, đăng nhập và khôi phục mật khẩu khi người dùng quên Những tính năng này được hỗ trợ bởi API của Firebase, giúp tạo ra tài khoản bảo mật và lưu trữ dữ liệu người dùng trên cơ sở dữ liệu của Firebase.
Khi đăng nhập vào ứng dụng, người dùng sẽ thấy danh sách các tủ gửi đồ trong hệ thống, hiển thị rõ tủ nào đã được sử dụng và tủ nào còn trống Người dùng có thể chọn một tủ để đăng ký trước khi đến nơi gửi đồ Hệ thống sẽ ghi nhận đăng ký, và khi đến quầy check-in, nếu thành công, tủ gửi đồ sẽ được kích hoạt Lúc này, người dùng có thể mở và đóng tủ đồ bằng thẻ sinh viên và điều khiển qua ứng dụng điện thoại.
Khi check-in tại công ra vào, bạn cần sử dụng thẻ SV đã được kích hoạt và cập nhật UID lên cơ sở dữ liệu hệ thống Việc kích hoạt thẻ chỉ cần thực hiện một lần và mã thẻ sẽ được lưu trữ, đồng bộ với tài khoản của bạn Nếu bạn quên mang thẻ khi đến quầy check-in/out, bạn có thể kích hoạt tính năng QR Code để ứng dụng tạo mã QR cho bạn, giúp bạn thực hiện check-in và sử dụng tủ gửi đồ.
-Và còn bao gồm nhiều tính năng nhỏ khác của app hiển thị cập nhật thông tin cá nhân v.v
3.2.Các giao diện thiết kế.
CHƯƠNG 4 LƯU ĐỒ THUẬT TOÁN
Lưu đồ thuật toán phần cứng
4.1.1 Lưu đồ mạch kích hoạt thẻ
Hình 41: Lưu đồ mạch kích hoạt thẻ
4.1.2 Lưu đồ mạch cổng ra vào
Hình 42: Lưu đồ mạch cổng ra vào 4.1.3 Lưu đồ Mạch điều khiển tủ đồ
Hình 43: Lưu đồ Mạch điều khiển tủ đồ
THI CÔNG MẠCH VÀ ĐÁNG GIÁ TÍNH ỔN ĐỊNH CỦA HỆ THỐNG
Vẽ sơ đồ nguyên lý
- Mạch được vẽ bằng phần mềm Altium Designer là phần mềm dùng để designer thiết kế mạch chuyên nghiệp.
- Mạch kích hoạt thẻ SV:
Hình 51: Sơ đồ nguyên lý mạch kích hoạt thẻ
Hình 52: Sơ đồ nguyên lý mạch cổng ra vào
- Mạch điều khiển tủ đồ:
Hình 53: Sơ đồ Nguyên lý mạch điều khiển tủ gửi đồ
Vẽ PCB sơ đồ đi dây
- Mạch kích hoạt thẻ SV:
Hình 54: Sơ đồ đi dây mạch kích hoạt thẻ
Hình 55: Ảnh 3D mạch kích hoạt thẻ
Hình 56: Sơ đồ đi dây mạch công ra vào
Hình 57: Ảnh 3D mạch công ra vào
- Mạch điều khiển tủ đồ:
Hình 58: Sơ đồ đi dây mạch điều khiển tủ đồ
Hình 59: Ảnh 3D mạch điều khiển tủ đồ
Hoàn thiện và đánh giá mạch
- Mạch kích hoạt thẻ hoàn thiện:
Hình 510: Mạch kích hoạt thẻ thực tế khi hoàn thành
- Mạch cổng ra vào hoàn thiện:
Hình 511: Mạch cổng ra vào thực tế khi hoàn thành
- Mạch điều khiển tủ đồ hoàn thiện:
Hình 512: Mạch điều khiển tủ thực tế khi hoàn thành