Bối cảnh và vấn đề nghiên cứu
Trong công tác quản lý đào tạo tại các trường đại học, hoạt động giảng dạy thường xuyên phát sinh nhu cầu thay đổi thời khóa biểu do giảng viên gặp các công việc đột xuất như ốm đau, đi công tác hoặc cần sắp xếp dạy bù, dạy thế, trễ giờ và chuyển phòng học. Theo phương thức truyền thống được trình bày trong đồ án, giảng viên khi cần thông báo lịch nghỉ hoặc bù phải đến trực tiếp phòng trung tâm quản lý đào tạo hoặc sử dụng phấn, bút lông để ghi thông tin lên các bảng tin đặt tại khuôn viên trường. Thực tế này bộc lộ nhiều điểm bất cập:
- Giảng viên mất nhiều thời gian di chuyển đến trường để viết thông báo, hoặc gặp khó khăn khi không thể tìm người hỗ trợ ghi bảng tin hộ.
- Diện tích các bảng tin bằng phấn hoặc bút lông có giới hạn vật lý, chỉ ghi nhận được số lượng thông báo nhất định trong một thời điểm.
- Sinh viên không thể thường xuyên theo dõi bảng tin do khoảng cách di chuyển giữa các giảng đường và khu vực đặt bảng thông báo xa gần khác nhau, dẫn đến việc nắm bắt thông tin thiếu kịp thời và thiếu chính xác.
- Bộ phận thanh tra đào tạo gặp trở ngại trong việc ghi nhận, thống kê, kiểm tra số tiết nghỉ của từng giảng viên, gây ảnh hưởng đến tính chuẩn xác của các báo cáo đánh giá định kỳ.
Để khắc phục các hạn chế trên, đề tài xác định vấn đề nghiên cứu là xây dựng một hệ thống kỹ thuật tự động hóa quá trình gửi, tiếp nhận, xử lý và phân phối thông tin báo nghỉ, báo bù, báo trễ và chuyển phòng thông qua mạng viễn thông.
Mục tiêu nghiên cứu bao gồm:
- Cải tiến và phát triển hệ thống báo nghỉ, báo bù thông qua tin nhắn SMS dựa trên công nghệ mạng di động GSM.
- Thiết kế hệ thống có khả năng vận hành linh hoạt ở cả hai chế độ: chạy trực tuyến (ONLINE - kết nối máy tính) và chạy ngoại tuyến (OFFLINE - độc lập, không cần máy tính).
- Thay thế phương thức truyền thông không dây Zigbee (từ các công trình trước đó) bằng truyền thông tin nhắn SMS nhằm mở rộng cự ly liên lạc và tối ưu chi phí.
- Thay thế giải pháp hiển thị LED 7 đoạn truyền thống bằng màn hình tivi thông qua bộ điều khiển xuất tín hiệu chuẩn VGA.
- Thiết kế phần cứng và lập trình cho các khối điều khiển: bộ điều khiển trung tâm (
camMaster), bộ điều khiển hiển thị tổng (camTotal), bộ điều khiển hiển thị từng khoa (camFacult) và khối giao tiếp hiển thị (camDisplay).
Nhiệm vụ nghiên cứu được văn bản phân định thành 9 nội dung cụ thể:
- Khảo sát nhu cầu thực tế và tìm hiểu đề tài báo nghỉ - báo bù.
- Tìm hiểu về công nghệ GSM, dịch vụ nhắn tin SMS và module SIM900/SIM900A.
- Thiết kế giải pháp cho hệ thống vận hành ở cả hai chế độ ONLINE và OFFLINE.
- Thiết kế phần cứng tại các bộ điều khiển
camMaster, camTotal, camFacult, camDisplay.
- Tìm hiểu công nghệ đồ họa 4D Systems và bộ xử lý đồ họa
µVGA-III.
- Thiết lập liên kết giao tiếp truyền thông giữa các thiết bị trong hệ thống.
- Lắp ráp, thử nghiệm kết nối phần cứng và phần mềm giữa các khối.
- Thiết kế hộp che và khung vỏ bảo vệ cơ khí cho các khối hệ thống.
- Thực nghiệm và đánh giá toàn diện hoạt động của hệ thống.
Đối tượng nghiên cứu là hệ thống nhúng tự động tiếp nhận, xử lý tin nhắn SMS và phần mềm quản lý cơ sở dữ liệu đào tạo. Phạm vi không gian nghiên cứu được triển khai thử nghiệm tại Trường Đại học Sư phạm Kỹ thuật TP.HCM (Khoa Điện - Điện tử, Khoa Cơ khí Chế tạo máy, Khoa Cơ khí Động lực và phòng thanh tra đào tạo). Phạm vi thời gian thực hiện đề tài từ ngày 01/03/2016 đến ngày 07/07/2016.
Cơ sở lý thuyết và phương pháp
Đồ án áp dụng phương pháp thiết kế kỹ thuật phần cứng nhúng kết hợp lập trình vi điều khiển, xây dựng phần mềm quản lý cơ sở dữ liệu trên máy tính và đánh giá thực nghiệm.
Nền tảng lý thuyết và công nghệ tác giả sử dụng gồm:
- Nền tảng vi điều khiển: Đồ án sử dụng kit Arduino Uno R3 và Arduino Mega 2560 dựa trên vi điều khiển AVR Atmel kiến trúc 8-bit. Việc lập trình điều khiển được thực hiện trên môi trường Arduino IDE bằng ngôn ngữ C/C++.
| Thông số kỹ thuật |
Arduino Uno R3 |
Arduino Mega 2560 |
| Vi điều khiển trung tâm |
ATmega328 (họ 8-bit) |
ATmega2560 (họ 8-bit) |
| Điện áp hoạt động |
5V DC (cấp qua cổng USB) |
5V DC (cấp qua cổng USB) |
| Điện áp vào khuyên dùng |
7 – 12V DC |
7 – 12V DC |
| Điện áp vào giới hạn |
6 – 20V DC |
6 – 20V DC |
| Tần số thạch anh |
16 MHz |
16 MHz |
| Dòng tiêu thụ |
30 mA |
30 mA |
| Số chân Digital I/O |
14 (bao gồm 6 chân PWM) |
54 (bao gồm 6 chân PWM) |
| Số chân ngõ vào Analog |
6 (độ phân giải 10-bit) |
16 (độ phân giải 10-bit) |
| Dòng tối đa trên mỗi chân I/O |
30 mA |
30 mA |
| Dòng ra tối đa (nguồn 5V) |
500 mA |
500 mA |
| Dòng ra tối đa (nguồn 3.3V) |
30 mA |
30 mA |
| Bộ nhớ Flash |
32 KB (0.5 KB dùng cho Bootloader) |
256 KB (8 KB dùng cho Bootloader) |
| Bộ nhớ SRAM |
2 KB |
8 KB |
| Bộ nhớ EEPROM |
1 KB |
4 KB |
-
Truyền thông di động GSM qua Module SIM900: Module SIM900 trang bị chip xử lý lõi ARM926EJ-S, kích thước 24×24 mm, hỗ trợ 4 băng tần GSM (850 MHz, EGSM 900 MHz, DCS 1800 MHz, PCS 1900 MHz). Module giao tiếp với vi điều khiển thông qua chuẩn nối tiếp bất đồng bộ UART. Hệ thống sử dụng tập lệnh AT chuẩn để cấu hình và vận hành:
- Khởi tạo modem:
ATZ (khôi phục cấu hình mặc định), ATE0 (tắt chế độ phản hồi ký tự echo), AT+CLIP=1 (hiển thị thông tin nhận diện thuê bao gọi đến), AT&W (lưu cấu hình vào bộ nhớ).
- Cấu hình thông báo tin nhắn:
AT+CNMI=0,2,0,0,0 nhằm lưu tin nhắn trực tiếp vào bộ nhớ SIM mà không tự động phát thông báo lên thiết bị đầu cuối.
- Xử lý bộ nhớ tin nhắn: Sử dụng lệnh xóa
AT+CMGD=1 và AT+CMGD=2 để làm trống liên tục hai ngăn nhớ đầu tiên. Cơ chế này đảm bảo mọi tin nhắn mới luôn được lưu vào vị trí số 1 hoặc 2, giúp vi điều khiển dễ dàng định vị vị trí đọc bằng lệnh AT+CMGR=1 (hoặc AT+CMGR=2) và tránh hiện tượng tràn bộ nhớ SIM (vốn giới hạn 50 ngăn trên Super SIM của MobiFone).
- Gửi tin nhắn SMS phản hồi: Thực hiện qua cú pháp lệnh
AT+CMGS="số_điện_thoại", kết thúc nội dung chuỗi bằng mã ASCII <0x1A>.
-
Lưu trữ dữ liệu ngoại tuyến bằng Module thẻ nhớ Micro SD: Module hỗ trợ thẻ Micro SD và Micro SDHC với định dạng tập tin FAT16 hoặc FAT32. Giao tiếp vi điều khiển sử dụng chuẩn giao tiếp nối tiếp ngoại vi SPI gồm 4 đường tín hiệu: CS (Chip Select), SCK (Serial Clock), DI/MOSI (Data Input) và DO/MISO (Data Output), kết hợp thư viện SD.h để đọc và ghi tập tin nhật ký khi chạy ở chế độ OFFLINE.
-
Đồng hồ thời gian thực (RTC) DS1307: IC thời gian thực của Dallas Semiconductor, hoạt động với vai trò thiết bị phụ (slave) trên đường bus I2C (gồm hai đường tín hiệu SDA và SCL). Chip sử dụng dao động thạch anh ngoại 32,768 kHz, nguồn pin nuôi dự phòng 3V (Vbat), sở hữu 7 thanh ghi 8-bit quản lý giây, phút, giờ, thứ, ngày, tháng, năm cùng 56 byte bộ nhớ tĩnh SRAM.
-
Module truyền thông không dây Bluetooth HC-06: Sử dụng để thiết lập kênh kết nối không dây phụ trợ với vi điều khiển.
-
Công nghệ hiển thị đồ họa 4D Systems: Sử dụng bộ xử lý đồ họa nhúng µVGA-III tích hợp chip PICASO. Thiết bị được lập trình bằng ngôn ngữ 4DGL trong môi trường 4D Workshop4, nạp chương trình thông qua cáp chuyên dụng uUSB-PA5 và xuất trực tiếp tín hiệu hình ảnh độ phân giải chuẩn VGA ra màn hình tivi lớn.
-
Kỹ thuật điều khiển hiển thị LED: Khảo sát và ứng dụng hai phương pháp hiển thị chính:
- LED 7 đoạn: Phân loại Anode chung và Cathode chung, phân tích ưu nhược điểm giữa phương pháp quét (dựa trên hiện tượng lưu ảnh mắt người với tần số quét trên 25 Hz), phương pháp chốt dữ liệu và phương pháp phối hợp dùng IC ghi dịch (74HC595, CD4094), IC giải mã BCD sang 7 đoạn (74247), IC giải mã địa chỉ (74138, 74154).
- LED ma trận (Led Matrix): Khảo sát loại 8×8 và mô đun ghép 16×16 Cathode chung (sản xuất bởi Công ty Thiên Minh); so sánh hai kỹ thuật điều khiển: quét cột (thời gian sáng lớn, thích hợp bảng có số cột nhỏ hơn số hàng) và quét hàng (dùng thanh ghi dịch xuất dữ liệu nối tiếp, tiết kiệm chân vi điều khiển).
-
Phần mềm quản trị và cơ sở dữ liệu: Ứng dụng quản trị phía máy tính được lập trình bằng ngôn ngữ C# trên nền tảng Microsoft Visual Studio 2008, kết nối với hệ quản trị cơ sở dữ liệu Microsoft SQL Server (phiên bản 2005/2008) để quản lý danh mục và kết xuất báo cáo thống kê dạng tập tin PDF.
Thiết kế và triển khai hệ thống
Hệ thống được thiết kế theo cấu trúc phân tán gồm nhiều khối phần cứng chuyên trách kết nối với nhau và phối hợp với phần mềm trung tâm:
-
Bộ điều khiển trung tâm (camMaster): Đóng vai trò là khối xử lý chính của toàn hệ thống, sử dụng vi điều khiển kết nối trực tiếp với Module SIM900, Module RTC DS1307 và Module thẻ nhớ Micro SD. Khối này đảm nhiệm việc tiếp nhận tin nhắn SMS gửi đến từ điện thoại của giảng viên, kiểm tra số điện thoại người gửi dựa trên lệnh AT+CLIP, bóc tách nội dung theo cú pháp quy định, ghi nhận thời gian thực từ DS1307 và phân phối dữ liệu điều khiển đến các khối cấp dưới.
-
Cơ chế vận hành song song ONLINE và OFFLINE:
- Chế độ ONLINE (kết nối máy tính):
camMaster truyền dữ liệu nhận được qua cổng nối tiếp USB/COM lên máy tính. Phần mềm C# tiếp nhận, đối soát thông tin giảng viên, lưu trữ vào cơ sở dữ liệu SQL Server, cập nhật giao diện quản lý và gửi tín hiệu hiển thị lên màn hình.
- Chế độ OFFLINE (ngắt kết nối máy tính): Khi không có máy tính hoặc mất kết nối,
camMaster tự động kích hoạt tiến trình ghi dữ liệu báo nghỉ, báo bù trực tiếp vào thẻ nhớ Micro SD theo định dạng tệp chuẩn, đồng thời vẫn điều khiển các khối hiển thị hoạt động bình thường, giúp hệ thống không bị gián đoạn.
-
Bộ điều khiển hiển thị tổng (camTotal): Tiếp nhận dữ liệu số lượng giảng viên nghỉ, bù từ bộ trung tâm, thực hiện giải mã và quét dữ liệu hiển thị số lượng tiết nghỉ, bù toàn trường trên các dãy LED 7 đoạn lớn nhằm phục vụ công tác giám sát của bộ phận thanh tra đào tạo.
-
Bộ điều khiển hiển thị từng khoa (camFacult): Nhận dữ liệu điều khiển phân loại cho từng đơn vị khoa cụ thể, quản lý các bảng LED ma trận 16×16 (hoặc màn hình hiển thị phụ) đặt tại hành lang các khoa để sinh viên theo dõi trực tiếp lịch nghỉ, bù, trễ của khoa mình.
-
Bộ hiển thị màn hình tivi (camDisplay): Ứng dụng bộ xử lý đồ họa µVGA-III để tạo giao diện hiển thị thông báo đồ họa màu, xuất tín hiệu trực tiếp qua cổng VGA kết nối với màn hình tivi (hoặc qua cáp chuyển đổi VGA - HDMI và bộ thu phát tín hiệu video không dây).
-
Quy trình xử lý cú pháp tin nhắn: Hệ thống thiết lập các mẫu cú pháp tin nhắn SMS nghiêm ngặt cho từng nghiệp vụ:
- Báo nghỉ: Giảng viên soạn tin nhắn gửi đến số tổng đài theo cấu trúc chứa thông tin mã môn học, lớp, phòng học, tiết nghỉ và lý do.
- Báo bù: Cung cấp thông tin ngày bù, phòng học mới, tiết học bù tương ứng.
- Báo trễ / Báo thế / Chuyển phòng: Phản ánh các thay đổi lịch trình tức thời.
Khi nhận tin, vi điều khiển phân tích chuỗi, nếu cú pháp hợp lệ sẽ gửi lệnh
AT+CMGS phát tin nhắn SMS phản hồi thông báo đăng ký thành công về số máy giảng viên; nếu sai cú pháp sẽ phản hồi cảnh báo.
-
Thi công phần cứng và phần mềm:
- Thiết kế và thi công bo mạch in (PCB) 2 lớp (lớp trên và lớp dưới), bố trí linh kiện cho các mạch điều khiển
camMaster, camTotal, camFacult, mạch chốt/quét LED 7 đoạn và LED ma trận.
- Lập trình firmware điều khiển trên Arduino IDE với các lưu đồ giải thuật cho khối trung tâm, khối quét LED ma trận và LED 7 đoạn.
- Thiết kế giao diện đồ họa trên màn hình tivi bằng phần mềm Workshop4 của 4D Systems, sau đó nạp mã nhị phân vào bộ nhớ của
µVGA-III.
- Xây dựng phần mềm quản trị C# bao gồm các giao diện: đăng nhập hệ thống, kiểm tra kết nối SIM900, quản lý thông tin khoa, giáo viên, môn học, phòng học, quản lý ngày nghỉ, ngày bù, ngày trễ, ngày thế, chuyển phòng, màn hình thống kê tin nhắn và tính năng tự động xuất báo cáo PDF.
Nội dung chính theo từng chương
Chương 1: Tổng quan
Chương 1 trình bày lý do lựa chọn đề tài xuất phát từ các bất tiện trong công tác quản lý lịch báo nghỉ, báo bù thủ công tại các cơ sở giáo dục. Tác giả xác định mục tiêu phát triển hệ thống tự động qua SMS, thiết lập 9 nội dung nghiên cứu kỹ thuật và giới hạn đề tài ở việc sử dụng truyền thông GSM (thay thế cho giải pháp Lora/RF do chi phí cao và cự ly truyền ngắn), ứng dụng SIM900 để quản lý tin nhắn, vận hành phần mềm quản trị C# với SQL Server và hiển thị dữ liệu qua LED 7 đoạn kết hợp màn hình tivi.
Chương 2: Cơ sở lý thuyết
Chương 2 cung cấp nền tảng kỹ thuật chi tiết của các linh kiện và công nghệ được sử dụng:
- Lịch sử ra đời, cấu trúc phần cứng và bảng thông số kỹ thuật chi tiết của hai kit vi điều khiển Arduino Uno R3 (vi điều khiển ATmega328) và Arduino Mega 2560 (vi điều khiển ATmega2560).
- Cấu trúc module GSM SIM900, sơ đồ chân kết nối và tập lệnh cấu hình AT (
ATZ, ATE0, AT+CLIP, AT&W, AT+CNMI, AT+CMGD, AT+CMGR, AT+CMGS).
- Đặc điểm và sơ đồ chân chuẩn SPI của Module thẻ nhớ Micro SD (CS, SCK, DI, DO) với hệ thống tệp FAT16/FAT32.
- Cấu tạo, bảng mã giải mã Anode/Cathode chung của LED 7 đoạn và các phương pháp hiển thị (quét, chốt, phối hợp IC ghi dịch 74HC595/4094).
- Phân loại và nguyên lý hoạt động của LED ma trận 8×8, bảng dữ liệu đưa chữ "A" ra ma trận bằng hai phương pháp quét cột và quét hàng; phân tích ưu nhược điểm của phương pháp chốt và phương pháp dùng thanh ghi dịch.
- Nguyên lý hoạt động của IC thời gian thực RTC DS1307 qua giao tiếp I2C và bản đồ thanh ghi thời gian.
- Giới thiệu Module Bluetooth HC-06, công nghệ 4D Systems, bộ xử lý đồ họa nhúng PICASO, thiết bị
µVGA-III và ngôn ngữ 4DGL.
Chương 3: Thiết kế và tính toán
Chương 3 trình bày bài toán thiết kế hệ thống dựa trên việc lựa chọn linh kiện và xây dựng phương án:
- Yêu cầu kỹ thuật và sơ đồ khối chức năng tổng thể.
- Sơ đồ nguyên lý và sơ đồ chân kết nối của vi điều khiển Arduino với các module ngoại vi: Module SIM900, Module RTC DS1307, Module Micro SD, Module Bluetooth HC-06 và bộ xử lý
µVGA-III.
- Mẫu cú pháp tin nhắn SMS hợp lệ cho các nghiệp vụ: báo nghỉ, báo bù, báo trễ, báo thế, chuyển phòng.
- Thiết kế chi tiết sơ đồ khối phần cứng của từng bộ phận: bộ xử lý trung tâm, bộ điều khiển
camMaster, bộ điều khiển camFacult, bộ điều khiển camTotal, khối hiển thị 8 LED 7 đoạn và mạch hiển thị LED ma trận 16×16.
- Thiết kế cấu trúc các bảng dữ liệu trong cơ sở dữ liệu SQL Server và giao diện phần mềm ứng dụng quản lý viết bằng C#.
Chương 4: Thi công hệ thống
Chương 4 mô tả toàn bộ quy trình chế tạo, lắp ráp và lập trình cho hệ thống thực tế:
- Thi công mạch in PCB hai lớp, bố trí linh kiện cơ bản và đóng gói mô hình hộp che bảo vệ cho các khối thiết bị.
- Xây dựng lưu đồ giải thuật và lập trình mã nguồn cho vi điều khiển điều khiển bộ trung tâm, khối LED 7 đoạn, khối LED ma trận và khối Total.
- Quy trình tạo project, thiết kế các đối tượng giao diện trên phần mềm 4D Workshop4, nạp chương trình xuống bộ xử lý
µVGA-III thông qua cáp 4D Programming Cable (uUSB-PA5) và kiểm tra xuất hình ra màn hình tivi.
- Lập trình ứng dụng C# kết nối cơ sở dữ liệu SQL Server 2008, xây dựng các module đăng nhập, cấu hình kết nối SIM900, quản lý thông tin khoa, phòng học, giáo viên, quản lý dữ liệu nghỉ - bù, thống kê và trích xuất dữ liệu.
- Viết tài liệu hướng dẫn sử dụng và quy trình thao tác hệ thống cho người dùng.
Chương 5: Kết quả, nhận xét, đánh giá
Chương 5 trình bày các kết quả thực nghiệm đạt được sau quá trình thi công và vận hành:
- Kết quả chạy thực tế của bộ vi điều khiển, module Micro SD card, bộ xử lý
µVGA-III xuất tín hiệu ra màn hình tivi.
- Kết quả giao diện phần mềm quản trị C# khi nhận dữ liệu báo nghỉ, báo bù, báo trễ, báo thế từ giảng viên và quy trình gửi tin nhắn xác nhận tự động về điện thoại giảng viên.
- Kết quả xuất báo cáo thống kê dạng tập tin PDF: thống kê tin nhắn toàn bộ giáo viên, thống kê số tiết nghỉ - bù theo từng khoa (Khoa Cơ khí Chế tạo máy, Khoa Cơ khí Động lực), thống kê ngày trễ và thống kê cá nhân từng giáo viên.
- Đánh giá khả năng hoạt động của khối LED 7 đoạn và khối LED ma trận 16×16; ghi nhận sự cố quét LED ma trận ban đầu chạy chưa ổn định, phân tích nguyên nhân và trình bày giải pháp xử lý bằng cách viết lại thuật toán quét trong mã nguồn kết hợp thay thế IC dán phần cứng để bảng LED hiển thị ổn định, rõ nét.
Chương 6: Kết luận và hướng phát triển
Chương 6 tổng kết mức độ hoàn thành nhiệm vụ của đồ án đối với các mục tiêu đề ra ban đầu, đồng thời chỉ rõ các định hướng nâng cấp kỹ thuật trong tương lai cho bộ điều khiển trung tâm (camMaster), bộ điều khiển camFacult và bộ điều khiển camTotal.
Kết quả và đóng góp
Hệ thống đã được chế tạo hoàn chỉnh dưới dạng mô hình phần cứng kết hợp phần mềm và đạt được các kết quả cụ thể sau:
- Chế tạo và thử nghiệm thành công các khối phần cứng nhúng gồm: bo mạch điều khiển trung tâm
camMaster, bo mạch hiển thị tổng camTotal, bo mạch hiển thị khoa camFacult, mạch hiển thị 8 LED 7 đoạn và mạch hiển thị LED ma trận 16×16.
- Vận hành tin cậy module SIM900 trong việc thu nhận, bóc tách và phản hồi tự động tin nhắn SMS theo các cú pháp chuẩn đối với 5 nghiệp vụ: báo nghỉ, báo bù, báo trễ, báo thế và chuyển phòng học.
- Đảm bảo cơ chế lưu trữ dữ liệu liên tục: tự động ghi nhận vào thẻ nhớ Micro SD theo chuẩn FAT16/FAT32 khi chạy OFFLINE, và đồng bộ hoàn toàn với cơ sở dữ liệu SQL Server 2008 khi chạy ONLINE.
- Ứng dụng thành công bộ xử lý đồ họa
µVGA-III (chip PICASO) để tạo giao diện hiển thị thông tin trực quan trên màn hình tivi thông qua cổng xuất tín hiệu chuẩn VGA.
- Phần mềm C# thực hiện đầy đủ các chức năng quản lý danh mục và hỗ trợ xuất báo cáo thống kê trực tiếp ra định dạng tập tin PDF, cho phép thống kê số tiết nghỉ, bù chi tiết cho từng giáo viên, từng khoa và toàn trường.
Đóng góp kỹ thuật của đề tài so với các nghiên cứu tiền nhiệm được tổng hợp qua bảng sau:
| Tiêu chí kỹ thuật |
Nghiên cứu tiền nhiệm (theo tác giả nêu) |
Đồ án hiện tại |
| Phương thức truyền thông |
Sử dụng truyền thông không dây Zigbee / sóng RF |
Sử dụng dịch vụ tin nhắn SMS qua mạng di động GSM (Module SIM900) |
| Cự ly liên lạc |
Giới hạn trong khoảng cách ngắn của sóng vô tuyến nội bộ |
Không giới hạn khoảng cách, phủ sóng toàn mạng viễn thông di động |
| Chế độ vận hành |
Phụ thuộc hoàn toàn vào máy tính |
Hoạt động độc lập hai chế độ: ONLINE (kết nối máy tính) và OFFLINE (lưu thẻ nhớ Micro SD) |
| Phương thức hiển thị chính |
Chỉ hiển thị qua các dãy LED 7 đoạn đơn thuần |
Kết hợp LED 7 đoạn, LED ma trận 16×16 và màn hình tivi lớn qua bộ điều khiển µVGA-III |
| Quản lý và lưu trữ |
Lưu trữ hạn chế trên máy tính |
Cơ sở dữ liệu SQL Server 2008, hỗ trợ xuất báo cáo PDF và gửi email tự động |
Hạn chế và hướng nghiên cứu tiếp
Theo văn bản đồ án, hệ thống còn tồn tại các giới hạn và khó khăn kỹ thuật:
- Hệ thống phụ thuộc vào chất lượng đường truyền của nhà mạng viễn thông GSM và số dư tài khoản của thẻ SIM đặt trong module SIM900.
- Khả năng hiển thị trực tiếp qua cổng VGA của bộ xử lý
µVGA-III chỉ phục vụ trong khoảng cách kết nối vật lý gần; việc truyền tín hiệu video không dây đi xa đòi hỏi các bộ chuyển đổi và bộ thu phát tín hiệu phụ trợ.
- Trong giai đoạn đầu thử nghiệm thực tế, mạch LED ma trận 16×16 gặp hiện tượng quét chưa ổn định, đòi hỏi nhóm phải tiến hành tối ưu lại thuật toán lập trình quét trong mã nguồn và thay thế linh kiện IC dán phần cứng mới đạt được độ sáng đồng đều.
Các hướng phát triển tiếp theo được tác giả đề xuất:
- Tiếp tục nghiên cứu hoàn thiện và tối ưu hóa phần cứng cho bộ điều khiển trung tâm (
camMaster), bộ điều khiển camFacult và bộ điều khiển camTotal.
- Bổ sung các tập lệnh AT nâng cao cho module SIM900 để tự động kiểm tra số tiền trong tài khoản SIM, kiểm tra dung lượng dữ liệu và nâng cao cơ chế mã hóa, bảo mật nội dung tin nhắn.
- Mở rộng hệ thống mạng hiển thị không dây đồng bộ đến toàn bộ các giảng đường và hành lang các khoa trong toàn trường.
Giá trị tham khảo
Đồ án là tài liệu kỹ thuật có giá trị tham khảo thiết thực cho:
- Sinh viên, học viên và cán bộ kỹ thuật thuộc các ngành Công nghệ Kỹ thuật Điện tử - Truyền thông, Kỹ thuật Điều khiển và Tự động hóa, Hệ thống nhúng và Kỹ thuật Máy tính đang thực hiện các đồ án liên quan đến điều khiển tự động qua mạng viễn thông.
- Các nội dung kỹ thuật có giá trị tham khảo cao trong đồ án gồm:
- Phương pháp xây dựng tập lệnh AT và giải thuật quản lý bộ nhớ SMS (ngăn nhớ 1 và 2) trên module SIM900 để tránh tràn bộ nhớ trong các ứng dụng M2M.
- Quy trình thiết kế và lập trình giao diện đồ họa nhúng xuất cổng VGA sử dụng bộ xử lý
µVGA-III và phần mềm 4D Workshop4.
- Kỹ thuật quét và chốt dữ liệu điều khiển LED 7 đoạn và LED ma trận 16×16 sử dụng IC thanh ghi dịch.
- Mô hình liên kết truyền thông giữa hệ thống vi điều khiển nhúng với phần mềm máy tính C# và hệ quản trị cơ sở dữ liệu SQL Server.
Câu hỏi thường gặp
1. Vì sao hệ thống phải thực hiện lệnh xóa ngăn nhớ 1 và 2 của thẻ SIM bằng lệnh AT+CMGD?
Trong module SIM900, tin nhắn mới nhận được sẽ tự động lưu vào ngăn nhớ trống có số thứ tự nhỏ nhất. Bằng cách luôn thực hiện xóa tin nhắn ở hai ngăn nhớ số 1 và số 2 bằng lệnh AT+CMGD=1 và AT+CMGD=2, vi điều khiển sẽ luôn định vị chính xác vị trí tin nhắn mới nhận tại ngăn 1 hoặc ngăn 2 để đọc nội dung bằng lệnh AT+CMGR. Thao tác này giúp việc xử lý dữ liệu tin nhắn đơn giản, không bị thất lạc trong bộ nhớ và ngăn chặn hiện tượng tràn bộ nhớ SIM (vốn chỉ có 50 ngăn trên Super SIM), đảm bảo thiết bị luôn sẵn sàng nhận tin nhắn mới.
2. Hệ thống xử lý dữ liệu như thế nào khi chuyển đổi giữa chế độ ONLINE và OFFLINE?
Khi vận hành ở chế độ ONLINE, vi điều khiển trung tâm camMaster truyền dữ liệu tin nhắn nhận được qua cổng nối tiếp lên máy tính để phần mềm C# phân tích, cập nhật trực tiếp vào cơ sở dữ liệu SQL Server 2008 và hiển thị lên màn hình. Khi ngắt kết nối máy tính (chế độ OFFLINE), camMaster tự động chuyển sang cơ chế ghi nhận toàn bộ dữ liệu báo nghỉ, báo bù vào thẻ nhớ Micro SD thông qua giao tiếp SPI với thư viện SD.h, đồng thời trực tiếp điều khiển các khối camTotal và camFacult hiển thị thông tin, đảm bảo hệ thống vận hành liên tục mà không bị gián đoạn.
3. Bộ xử lý đồ họa µVGA-III đóng vai trò gì và được lập trình bằng công cụ nào?
Bộ xử lý đồ họa µVGA-III của hãng 4D Systems (sử dụng chip đồ họa PICASO) có vai trò nhận dữ liệu từ vi điều khiển và tạo giao diện đồ họa màu hiển thị thông tin lịch giảng dạy trực tiếp lên màn hình tivi lớn thông qua cổng xuất tín hiệu chuẩn VGA. Thiết bị được lập trình bằng ngôn ngữ 4DGL trên môi trường phần mềm 4D Workshop4 và nạp mã chương trình thông qua cáp lập trình chuyên dụng 4D Programming Cable uUSB-PA5.
4. Nhóm tác giả đã xử lý sự cố hiển thị của bảng LED ma trận trong quá trình thi công như thế nào?
Trong quá trình thử nghiệm ban đầu, khối hiển thị LED ma trận 16×16 gặp hiện tượng quét chưa ổn định, xuất hiện lỗi hiển thị hình ảnh và ký tự. Để khắc phục, nhóm tác giả đã tiến hành rà soát lại giải thuật quét hàng, viết lại đoạn mã điều khiển thanh ghi dịch để ổn định tần số quét và tiến hành thay thế linh kiện phần cứng (thay IC dán trên bo mạch hiển thị), qua đó đưa bảng LED ma trận về trạng thái hiển thị rõ ràng và liên tục.
5. Phần mềm C# của hệ thống hỗ trợ kết xuất những dạng báo cáo thống kê nào?
Phần mềm quản trị viết bằng C# kết nối cơ sở dữ liệu SQL Server 2008 được trang bị chức năng thống kê tin nhắn và hỗ trợ kết xuất báo cáo định dạng tập tin PDF cho các nội dung: danh sách thống kê tin nhắn của toàn bộ giáo viên trong trường, thống kê số tiết nghỉ - bù theo từng khoa cụ thể (như Khoa Cơ khí Chế tạo máy, Khoa Cơ khí Động lực), thống kê số ngày trễ của giáo viên và thống kê chi tiết lịch trình của từng cá nhân giảng viên.
Kết luận
Đồ án tốt nghiệp "Hệ thống báo nghỉ báo bù" của sinh viên Nguyễn Hồng Trung và Đặng Hữu Nghĩa đã hoàn thành việc thiết kế và thi công một hệ thống kỹ thuật nhúng hoàn chỉnh, đáp ứng mục tiêu tự động hóa việc tiếp nhận và xử lý lịch trình giảng dạy thông qua mạng viễn thông GSM. Công trình giải quyết được bài toán vận hành độc lập hai chế độ ONLINE và OFFLINE, đồng thời nâng cấp hiệu quả phương thức hiển thị thông qua bộ điều khiển đồ họa µVGA-III kết nối màn hình tivi kết hợp cùng các bảng LED chuyên dụng. Đây là tài liệu tham khảo kỹ thuật hữu ích về phương pháp tích hợp vi điều khiển nhúng, truyền thông không dây di động và phần mềm quản trị cơ sở dữ liệu đào tạo.