Bối cảnh và vấn đề nghiên cứu
Trong lĩnh vực tự động hóa và quản lý an toàn công trình, việc giám sát môi trường sống và làm việc đòi hỏi các giải pháp truyền thông không dây có khả năng hoạt động ổn định trong phạm vi hẹp như nhà xưởng, kho hàng và khu dân cư. Theo phân tích của các tác giả thuộc Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh, các công nghệ không dây thông dụng như Wi-Fi hay Bluetooth thường bộc lộ những hạn chế nhất định về mức độ tiêu thụ năng lượng hoặc khả năng tổ chức mạng cảm biến quy mô nhiều điểm nút. Trong khi đó, chuẩn mạng Zigbee (WPAN) được định hướng tối ưu hóa cho các hệ thống giám sát môi trường và điều khiển thiết bị điện tử diện tích nhỏ, tiêu tốn ít năng lượng và cho phép vận hành bền bỉ. Đồng thời, việc giám sát an ninh tại các góc khuất trong kho bãi đòi hỏi phải tích hợp xử lý hình ảnh trực quan, điều mà các hệ thống vi điều khiển cơ bản khó đảm nhận độc lập. Sự kết hợp giữa mạng cảm biến không dây Zigbee và bo mạch máy tính nhúng Raspberry Pi tạo ra mô hình giám sát đa tầng, vừa thu thập được tham số vật lý vừa ghi nhận được hình ảnh cảnh báo.
Mục tiêu chính của đề tài là xây dựng hoàn chỉnh hệ thống mạng giám sát nhiệt độ, nồng độ khí gas và hình ảnh từ môi trường, truyền dữ liệu tập trung về máy tính nhúng Raspberry Pi, sau đó thiết lập mô hình Client-Server để truyền tải và hiển thị thông tin cảnh báo trực quan cho người quản lý. Hệ thống phân chia thành 4 nhiệm vụ nghiên cứu cụ thể:
- Thiết kế hệ thống truyền nhận, xử lý dữ liệu nhiệt độ và nhận biết nồng độ khí gas nguy hiểm dựa trên module truyền thông không dây Xbee kết hợp mạch vi điều khiển Arduino.
- Xây dựng mô hình giao tiếp trao đổi dữ liệu hai chiều giữa khối mạng Zigbee và máy tính nhúng trung tâm Raspberry Pi.
- Xây dựng hệ thống ghi nhận, điều khiển camera chụp ảnh và xử lý cảnh báo hình ảnh khi phát hiện chuyển động.
- Thiết kế phần mềm giao tiếp, truyền nhận dữ liệu tập trung theo mô hình mạng Server-Client sử dụng ngôn ngữ lập trình Python.
Về đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Hệ thống mạng cảm biến không dây Zigbee dựa trên phần cứng Xbee của hãng Digi International, bo mạch điều khiển Arduino Uno R3, máy tính nhúng Raspberry Pi Model B, cùng các module cảm biến môi trường (LM35, MQ-2, PIR) và camera ngoại vi.
- Phạm vi không gian: Đồ án định hướng ứng dụng thực nghiệm trong các khu vực diện tích hẹp, cụ thể là kho chứa hàng hóa, phòng ở hoặc không gian quản lý dân dụng.
- Phạm vi học thuật và kỹ thuật: Đề tài tập trung vào việc khai thác ứng dụng thực tế của module Xbee ZB và một số tính năng nhúng của Raspberry Pi (nhận, xử lý hình ảnh và lập trình socket server bằng Python), không nghiên cứu sâu về cấu trúc giải thuật toán học của ngăn xếp giao thức mạng Zigbee. Toàn bộ thiết kế phần cứng và phần mềm được triển khai trong khuôn khổ đồ án tốt nghiệp ngành Công nghệ kỹ thuật máy tính (khóa 2011–2015).
Cơ sở lý thuyết và phương pháp
Khóa luận thiết lập nền tảng khoa học dựa trên tiêu chuẩn vô tuyến quốc tế và các nền tảng phần cứng nhúng tiêu chuẩn. Hệ thống mạng cục bộ không dây cá nhân (WPAN) được phân loại theo chuẩn IEEE 802.15, trong đó nhóm tốc độ thấp (IEEE 802.15.4 / LR-WPAN) là cơ sở của công nghệ Zigbee. Mạng Zigbee vận hành trên ba dải tần số vô tuyến chính: 868.3 MHz (1 kênh, 20 kbps), 902–928 MHz (10 kênh, 40 kbps), và dải tần phổ thông 2.4–2.4835 GHz (16 kênh từ 11 đến 26, tốc độ 250 kbps, khoảng cách giữa các kênh là 5 MHz). Mô hình thiết bị trong mạng phân định rõ: thiết bị đầy đủ chức năng FFD (gồm bộ điều phối ZC - Zigbee Coordinator, bộ định tuyến ZR - Zigbee Router) và thiết bị chức năng thu gọn RFD (thiết bị đầu cuối ZED - Zigbee End Device thường hoạt động ở chế độ ngủ để tiết kiệm nguồn điện). Cấu trúc liên kết mạng được phân tích qua ba mô hình: hình sao (Star), hình lưới (Mesh) và hình cây (Tree).
Bảng so sánh đặc tính kỹ thuật giữa Zigbee và các chuẩn truyền thông không dây phổ biến theo thống kê trong khóa luận:
| Tiêu chí |
Zigbee (IEEE 802.15.4) |
Wi-Fi (IEEE 802.11) |
Bluetooth (IEEE 802.15.1) |
| Dải tần số hoạt động |
868 MHz, 915 MHz, 2.4 GHz |
2.4 GHz |
2.4 GHz |
| Tốc độ truyền dữ liệu |
20 – 250 kbps |
1 – 100 Mbps |
1 – 3 Mbps |
| Khoảng cách truyền |
10 – 100 m |
30 – 100 m |
2 – 10 m |
| Thời gian sử dụng pin |
Hàng năm |
Vài giờ đến vài ngày |
Vài ngày đến vài tuần |
| Mục tiêu ứng dụng |
Cảm biến, điều khiển thiết bị |
Mạng máy tính, đa phương tiện |
Kết nối ngoại vi cự ly ngắn |
Về công nghệ phần cứng và chuẩn giao tiếp, tác giả phân tích chi tiết:
- Module Xbee ZB (Digi International): Module RF dựa trên nền tảng Zigbee tối ưu cho cấu trúc lưới Mesh, công suất phát 2 mW (+3 dBm), độ nhạy thu -96 dBm, tầm truyền nhận từ 40 m (133 ft trong nhà) đến 120 m (400 ft ngoài trời), hỗ trợ 10 chân Digital I/O và 4 ngõ vào ADC 10-bit. Module hỗ trợ hai chế độ làm việc: chế độ truyền dữ liệu trong suốt AT và chế độ khung lệnh API (hỗ trợ khung API AP=1 và AP=2, bao gồm khung lệnh điều khiển từ xa Remote AT Command Request 0x17 và khung chỉ thị dữ liệu cảm biến Zigbee IO Data Sample Rx Indicator 0x92).
- Mạch điều khiển và máy tính nhúng: Bo mạch Arduino Uno R3 sử dụng vi điều khiển ATmega328P, quản lý việc đọc tín hiệu analog/digital và cấu hình thông qua phần mềm Arduino IDE. Máy tính nhúng Raspberry Pi Model B chạy hệ điều hành Raspbian, đảm nhận vai trò máy chủ xử lý dữ liệu trung tâm và điều khiển webcam ghi hình.
- Cảm biến và cơ cấu chấp hành: Cảm biến nhiệt độ tương tự LM35 (LM35DZ), module cảm biến nồng độ khí gas cháy nổ MQ-2, cảm biến chuyển động hồng ngoại thụ động PIR (đầu dò PIR-D203S, module PIR-SR501), cùng thiết bị rờ le đóng cắt dòng tải xoay chiều AC 220V.
- Giao thức liên kết: Chuẩn nối tiếp UART kết hợp cơ chế kiểm soát luồng phần cứng (RTS/CTS) để giao tiếp giữa Arduino và Xbee; chuẩn I2C truyền nhận dữ liệu đồng bộ Master-Slave giữa Arduino và Raspberry Pi; bộ giao thức TCP/IP trên nền Ethernet kết hợp cơ chế Socket mạng để truyền luồng dữ liệu và hình ảnh theo mô hình Server-Client.
Phương pháp nghiên cứu được nhóm tác giả sử dụng là phương pháp phân tích - tổng hợp lý thuyết kỹ thuật, phương pháp thiết kế mạch điện tử nguyên lý/mạch in phần cứng, phương pháp lập trình nhúng và giải thuật điều khiển phân tán, kết hợp phương pháp thực nghiệm đo đạc thực tế để kiểm tra khả năng bắt sóng, cấp nguồn và độ trễ phản hồi của hệ thống. Dữ liệu thực nghiệm là chuỗi giá trị điện áp tương tự thu được từ LM35, giá trị logic từ MQ-2 và PIR, trạng thái khung dữ liệu UART/I2C, cùng các bức ảnh ghi nhận từ webcam ngoài thực tế.
Thiết kế và triển khai
Hệ thống được thiết kế phân tầng rõ ràng nhằm phân tách giữa nhiệm vụ đo đạc môi trường công suất thấp và nhiệm vụ xử lý dữ liệu, hình ảnh trung tâm. Kiến trúc tổng thể được biểu diễn thông qua cấu trúc phân khối và phân định vai trò phần cứng:
| Phân khối phần cứng |
Thành phần linh kiện |
Vai trò và giao thức hoạt động |
| Khối cảm biến và chấp hành |
Module Xbee ZB, LM35DZ, MQ-2, Rờ le |
Thu thập tín hiệu vật lý tại hiện trường, đóng cắt tải AC 220V, truyền RF về bộ điều phối qua mạng Zigbee |
| Khối điều phối và tiền xử lý |
Module Xbee Master, Arduino Uno R3 |
Nhận dữ liệu Zigbee qua cổng nối tiếp UART, xử lý phân tích gói tin, đóng vai trò trạm tớ I2C |
| Khối trung tâm và ghi hình |
Raspberry Pi Model B, Webcam, PIR |
Đóng vai trò chủ I2C đọc dữ liệu từ Arduino, kích hoạt webcam chụp ảnh khi có báo động, chạy TCP Server |
| Khối giám sát người dùng |
Máy tính cá nhân (Client PC) |
Giao diện đồ họa người dùng (GUI) kết nối qua mạng LAN, hiển thị thông số và hình ảnh thời gian thực |
Về thiết kế phần cứng:
- Thiết kế mạch nguồn cho Xbee: Do module Xbee hoạt động ở điện áp định mức 3.3V (dải cho phép 2.6V – 3.6V), tác giả đã thiết kế hai dạng mạch socket cấp nguồn riêng biệt. Dạng thứ nhất là mạch socket sử dụng nguồn pin độc lập, tích hợp IC ổn áp MIC để duy trì hoạt động di động cho các nút cảm biến đo nhiệt độ. Dạng thứ hai là mạch socket nhận nguồn trực tiếp, sử dụng IC hạ áp AMS1117-3.3 để chuyển đổi nguồn 5V DC xuống 3.3V cấp cho các node Xbee cố định và khối điều phối.
- Mạch công suất điều khiển thiết bị điện AC 220V: Thiết kế mạch kích rờ le thông qua các linh kiện cách ly và chuyển mạch bán dẫn, cho phép vi điều khiển kích đóng/ngắt nguồn điện lưới xoay chiều 220V để điều khiển quạt thông gió hoặc chuông báo động khi nồng độ khí gas hoặc nhiệt độ vượt ngưỡng an toàn.
- Kết nối khối xử lý trung tâm: Raspberry Pi Model B được kết nối vật lý với bo mạch Arduino Uno R3 thông qua hai đường tín hiệu SDA và SCL của bus I2C. Webcam chuẩn USB và cảm biến chuyển động PIR-SR501 được kết nối trực tiếp vào các cổng giao tiếp ngoại vi của Raspberry Pi.
Về thiết kế phần mềm và giải thuật:
- Lưu đồ phía Client (Giao diện người dùng): Chương trình Client khởi tạo socket, gửi yêu cầu kết nối đến địa chỉ IP và cổng của Server. Sau khi thiết lập kết nối TCP, Client liên tục nhận luồng dữ liệu định kỳ gồm nhiệt độ, cảnh báo gas và tín hiệu hình ảnh để hiển thị lên giao diện đồ họa GUI, đồng thời cung cấp nút điều khiển gửi lệnh ngược về hệ thống.
- Lưu đồ phía Server (Raspberry Pi): Chương trình viết bằng ngôn ngữ Python, chạy trên hệ điều hành Raspbian. Server mở socket ở chế độ lắng nghe (passive open). Khi có yêu cầu từ Client, Server khởi tạo luồng trao đổi dữ liệu: định kỳ gửi tín hiệu yêu cầu qua bus I2C để đọc giá trị cảm biến từ Arduino, đồng thời kiểm tra tín hiệu từ cảm biến PIR. Nếu phát hiện chuyển động, chương trình kích hoạt webcam ghi hình, lưu trữ ảnh cục bộ và đóng gói gửi qua kết nối socket về Client.
- Lưu đồ vi điều khiển Arduino Uno R3: Đảm nhận việc tiếp nhận dữ liệu UART từ module Xbee Coordinator. Arduino bóc tách khung dữ liệu API, tính toán giá trị điện áp từ cảm biến LM35 để chuyển đổi sang độ C theo công thức của nhà sản xuất, đọc trạng thái số của cảm biến khí gas MQ-2, và sẵn sàng truyền các byte dữ liệu đã tiền xử lý này lên Raspberry Pi khi nhận ngắt yêu cầu trên bus I2C.
- Cấu hình truyền nhận và tính toán nguồn cho Xbee: Các node Xbee cảm biến (Slave) được cài đặt địa chỉ đích (DL, DH) trỏ về địa chỉ cố định (SL, SH) của Xbee Master. Tác giả cấu hình chế độ ngủ (Sleep Mode) theo chu kỳ định thời cho node Xbee đo nhiệt độ nhằm giảm dòng tiêu thụ từ 40 mA (lúc hoạt động) xuống mức microampe khi nghỉ, từ đó tối ưu hóa thời gian sử dụng của khối nguồn pin độc lập.
Nội dung chính theo từng chương
Chương 1: Giới thiệu
Chương mở đầu đặt ra bài toán thực tiễn về nhu cầu giám sát an toàn môi trường và an ninh tại các không gian có góc khuất như nhà ở và kho bãi hàng hóa. Tác giả phân tích ưu thế của mạng cảm biến không dây Zigbee kết hợp hệ thống nhúng xử lý ảnh Raspberry Pi. Chương này xác định rõ mục đích đề tài là chế tạo hệ thống thu thập thông số môi trường kết hợp camera truyền dữ liệu theo mô hình Client-Server, nêu rõ phạm vi 4 nội dung nghiên cứu kỹ thuật và chỉ rõ giới hạn đề tài ở mức độ thử nghiệm đồ án quy mô nhỏ, sử dụng các linh kiện phần cứng thương mại chuyên dụng.
Chương 2: Cơ sở lý thuyết
Nội dung chương 2 trình bày có hệ thống các kiến thức nền tảng:
- Lý thuyết mạng Zigbee và chuẩn IEEE 802.15.4, cấu trúc các tầng giao thức, các dải tần hoạt động (868 MHz, 915 MHz, 2.4 GHz), vai trò của các thiết bị ZC, ZR, ZED và các topo mạng Star, Mesh, Tree.
- Cấu trúc module Xbee ZB của Digi: sơ đồ chân, cấu hình cổng UART, cơ chế kiểm soát luồng đệm (DI buffer, DO buffer, CTS/RTS), định dạng địa chỉ 64-bit và 16-bit, các chế độ truyền dữ liệu Unicast/Broadcast, chế độ khung lệnh API (chi tiết gói tin 0x17 và 0x92), và công cụ phần mềm cấu hình X-CTU.
- Thông số kỹ thuật và sơ đồ kết nối của mạch vi điều khiển Arduino Uno R3 và phần mềm Arduino IDE.
- Cấu hình phần cứng bo mạch máy tính nhúng Raspberry Pi Model B, sơ đồ chân GPIO, kiến trúc hệ điều hành Raspbian.
- Nguyên lý hoạt động của các linh kiện cảm biến: cảm biến nhiệt LM35DZ (hệ số biến đổi điện áp theo nhiệt độ), module cảm biến khí gas MQ-2, cảm biến hồng ngoại phát hiện chuyển động PIR (đầu dò PIR-D203S và module PIR-SR501), cùng nguyên lý thu thập khung hình từ webcam.
- Các giao thức truyền thông tích hợp: cơ chế truyền nhận dữ liệu trên bus I2C (điều kiện Start, Stop, truyền địa chỉ, bit ACK), cấu trúc khung truyền Ethernet và cơ chế bắt tay tạo socket giao tiếp trong giao thức mạng TCP/IP.
Chương 3: Thiết kế hệ thống
Chương 3 tập trung hiện thực hóa các yêu cầu kỹ thuật thành sơ đồ và thiết kế mạch:
- Phân tích yêu cầu kỹ thuật, xây dựng sơ đồ khối tổng quát và sơ đồ khối chức năng chi tiết cho hai phân hệ: Khối thu thập nhiệt độ, khí gas, điều khiển rờ le AC và Khối xử lý trung tâm, thu thập hình ảnh.
- Thiết kế chi tiết phần cứng bao gồm: mạch socket nguồn pin cho Xbee dùng IC MIC, mạch socket nguồn trực tiếp dùng IC ổn áp AMS1117-3.3, mạch công suất rờ le đóng cắt dòng xoay chiều 220V, và mạch ghép nối trung tâm Raspberry Pi - Arduino.
- Xây dựng giải thuật phần mềm thông qua các lưu đồ: giải thuật giao diện Client, giải thuật Server socket trên Raspberry Pi, giải thuật nhận dữ liệu và xử lý ngắt I2C trên Arduino, giải thuật đóng gói dữ liệu của các nút Xbee cảm biến.
- Các phép tính toán kỹ thuật: giải thuật biến đổi điện áp LM35 sang đơn vị nhiệt độ, phương pháp cấu hình chế độ ngủ (Sleep Mode) cho Xbee cảm biến, cấu hình bảng địa chỉ truyền thông Master - Slave, và tính toán cân bằng dòng tiêu thụ điện năng của khối cảm biến dùng pin.
Chương 4: Thực nghiệm và đánh giá
Chương này ghi nhận quá trình lắp ráp, vận hành và kiểm thử hệ thống trong điều kiện thực tế:
- Kiểm tra tính ổn định của các khối nguồn cấp (nguồn pin MIC và nguồn ổn áp AMS1117-3.3) và kết nối mạng nội bộ LAN của khối trung tâm.
- Kiểm tra quá trình vận hành đồng bộ của các khối chức năng: khối Xbee kết nối điều khiển thiết bị rờ le, khối Xbee cảm biến nhiệt độ LM35, khối Xbee cảm biến khí gas MQ-2, và khối cảm biến chuyển động PIR kết hợp webcam thu thập hình ảnh.
- Thử nghiệm bố trí các nút cảm biến ở các vị trí thực tế khác nhau: đặt bên ngoài môi trường tự nhiên và đặt gần các thiết bị tỏa nhiệt/nguồn tín hiệu (như khu vực máy thu hình TV). Hệ thống đã ghi nhận việc lưu trữ các tệp hình ảnh trích xuất từ camera khi có cảnh báo.
- Đánh giá thực nghiệm khách quan: hệ thống đáp ứng được các kịch bản đo đạc và điều khiển tự động cơ bản, tuy nhiên mạch tự thiết kế còn tồn tại nhược điểm về kích thước, tính thẩm mỹ và hiệu suất thực tế của đường truyền tín hiệu chưa đạt mức tối ưu.
Chương 5: Kết quả và hướng phát triển
Chương tổng kết đánh giá đối chiếu giữa mục tiêu ban đầu và sản phẩm hoàn thành:
- Xác nhận các nội dung kỹ thuật đã hoàn thành: thiết lập thành công mạng Zigbee thu thập dữ liệu từ cảm biến LM35 và MQ-2; đóng cắt rờ le AC 220V tự động; truyền thông I2C thành công giữa Arduino và Raspberry Pi; lập trình server socket trên Python truyền dữ liệu và ảnh webcam lên máy tính Client qua mạng LAN.
- Nêu rõ các mặt hạn chế còn tồn đọng của hệ thống phần cứng và phần mềm.
- Đề xuất các hướng nghiên cứu nâng cấp hệ thống trong tương lai.
Kết quả và đóng góp
Về kết quả kỹ thuật cụ thể có trong văn bản:
- Xây dựng thành công mạng truyền thông không dây Zigbee hoạt động ở dải tần 2.4 GHz gồm 4 module Xbee ZB, thực hiện truyền nhận dữ liệu đo nhiệt độ từ cảm biến LM35DZ và phát hiện nồng độ khí gas từ cảm biến MQ-2 về bộ điều phối trung tâm.
- Chế tạo và kiểm thử thành công mạch công suất rờ le AC 220V, cho phép đóng cắt dòng điện xoay chiều tự động dựa trên tín hiệu cảnh báo môi trường từ mạng cảm biến.
- Thiết lập thành công kênh truyền thông dữ liệu phần cứng nối tiếp giữa vi điều khiển Arduino Uno R3 và máy tính nhúng Raspberry Pi Model B thông qua giao thức bus I2C (với các điều kiện Start, Stop và bit ACK chuẩn xác).
- Xây dựng mô hình mạng Client-Server dựa trên giao thức TCP/IP qua cổng Ethernet nội bộ; chương trình máy chủ viết bằng ngôn ngữ Python trên Raspberry Pi đã quản lý thành công việc tiếp nhận dữ liệu từ Arduino, đọc tín hiệu từ module PIR-SR501, kích hoạt webcam USB chụp và lưu ảnh vào bộ nhớ, đồng thời chuyển tiếp dữ liệu hiển thị trên giao diện người dùng (GUI).
- Triển khai thành công hai mẫu mạch nguồn chuyên biệt cho module Xbee: mạch nguồn di động dùng pin tích hợp IC ổn áp MIC và mạch nguồn trực tiếp sử dụng IC hạ áp AMS1117-3.3.
Về giải pháp và kiến nghị của tác giả:
- Đề xuất giải pháp tiết kiệm năng lượng cho các nút mạng cảm biến không dây thông qua việc kích hoạt chế độ ngủ (Sleep Mode) của module Xbee, chỉ kích hoạt phát sóng khi đến chu kỳ gửi dữ liệu hoặc khi có biến động môi trường.
- Phân chia tải xử lý theo kiến trúc phân tầng: giao tác vụ đọc tín hiệu tương tự và giao tiếp mạng RF tần số cao cho Arduino Uno R3, giải phóng tài nguyên cho máy tính nhúng Raspberry Pi tập trung vào các tác vụ nặng như xử lý hình ảnh từ webcam và quản lý luồng socket mạng TCP/IP.
Đóng góp tự đánh giá của tác giả:
Đề tài đã hiện thực hóa thành công một mô hình giám sát đa cảm biến kết hợp hình ảnh ở quy mô phòng thí nghiệm và đồ án tốt nghiệp. Nghiên cứu đã chứng minh tính khả thi của việc tích hợp mạng cảm biến không dây công suất thấp (Zigbee/Xbee) với máy tính nhúng đa nhiệm (Raspberry Pi), cung cấp quy trình thiết kế phần cứng mạch socket, phương pháp cấu hình gói tin API cho Xbee và mã nguồn giải thuật hoàn chỉnh để kết nối các chuẩn giao tiếp vật lý khác nhau (UART, I2C, Ethernet TCP/IP) vào một hệ thống thống nhất.
Hạn chế và hướng nghiên cứu tiếp
Theo trình bày của nhóm tác giả trong văn bản, đồ án còn tồn tại các mặt hạn chế sau:
- Đề tài chỉ dừng lại ở phạm vi đồ án tốt nghiệp, thời gian và kiến thức nghiên cứu có hạn nên hệ thống chỉ mới thực thi được một phần nhỏ của một hệ sinh thái giám sát an ninh hoàn chỉnh.
- Hiệu quả hoạt động thực tế của các mạch tự thiết kế chưa cao, mạch socket còn gia công thủ công, độ ổn định của đường truyền RF trong các môi trường có vật cản phức tạp chưa được khảo sát chuyên sâu.
- Chưa đi sâu nghiên cứu và tối ưu hóa các giải thuật định tuyến mạng lưới (Mesh routing algorithm) nâng cao của chuẩn Zigbee mà chủ yếu dựa trên các cấu hình cơ bản của phần mềm X-CTU từ nhà sản xuất Digi.
- Mô hình truyền nhận dữ liệu và hình ảnh Server-Client mới chỉ thử nghiệm trong phạm vi mạng cục bộ (LAN) qua kết nối Ethernet có dây của Raspberry Pi, chưa mở rộng ra môi trường mạng Internet diện rộng hoặc mạng dữ liệu di động.
Hướng phát triển tiếp theo được tác giả đề xuất bao gồm:
- Hoàn thiện và tối ưu hóa thiết kế phần cứng: thu nhỏ kích thước các mạch socket cảm biến, nâng cao độ bền công nghiệp và độ chống nhiễu của các mạch cấp nguồn.
- Nghiên cứu thuật toán mạng để mở rộng quy mô hệ thống, tăng số lượng nút cảm biến Xbee kết nối trong mạng (tận dụng khả năng hỗ trợ lên đến hàng chục nghìn nút của chuẩn Zigbee).
- Nâng cấp thuật toán xử lý hình ảnh trên bo mạch Raspberry Pi, cải thiện tốc độ ghi nhận khung hình và độ phân giải của camera.
- Phát triển phần mềm máy chủ kết nối Internet toàn cầu, xây dựng giao diện ứng dụng di động hoặc nền tảng web để người dùng có thể giám sát kho bãi và nhận cảnh báo an ninh từ xa mọi lúc, mọi nơi.
Giá trị tham khảo
Đồ án tốt nghiệp là tài liệu tham khảo phù hợp cho sinh viên, kỹ sư thuộc các ngành Công nghệ kỹ thuật máy tính, Điện tử - Viễn thông, Tự động hóa và Kỹ thuật Hệ thống nhúng & IoT. Tài liệu đặc biệt hữu ích cho những người đang thực hiện các đề tài nghiên cứu hoặc dự án liên quan đến mạng cảm biến không dây công suất thấp, tự động hóa tòa nhà (Smart Home, Building Automation) và các trạm quan trắc môi trường cục bộ.
Các nội dung kỹ thuật có giá trị tham khảo chuyên môn cao trong khóa luận bao gồm:
- Phương pháp cấu hình và đóng gói khung truyền dữ liệu ở chế độ API của module Xbee (cấu trúc khung 0x17 Remote AT Command và 0x92 IO Data Sample Rx Indicator), kết hợp hướng dẫn khai thác phần mềm X-CTU.
- Sơ đồ nguyên lý mạch nguồn chuyên dụng 3.3V cho module vô tuyến: thiết kế ổn áp nguồn pin dùng IC MIC và ổn áp nguồn trực tiếp dùng IC AMS1117-3.3.
- Thiết kế mạch ghép nối liên tầng phần cứng giữa vi điều khiển 8-bit (Arduino) và máy tính nhúng Linux (Raspberry Pi) thông qua bus I2C, giải quyết bài toán đồng bộ hóa dữ liệu đo đạc cảm biến với dịch vụ mạng TCP/IP Socket.
Câu hỏi thường gặp
1. Module vô tuyến Xbee sử dụng trong đề tài thuộc dòng sản phẩm nào và có những thông số kỹ thuật vô tuyến RF cơ bản nào?
Khóa luận sử dụng module Xbee ZB của hãng Digi International. Các thông số kỹ thuật chính gồm: tần số hoạt động 2.4 GHz; tốc độ dữ liệu RF 250 kbps; khoảng cách truyền nhận từ 40 m (133 ft trong nhà) đến 120 m (400 ft ngoài trời); công suất phát 2 mW (+3 dBm); độ nhạy thu -96 dBm; điện áp cấp danh định 3.3V (dải hoạt động 2.6V – 3.6V); dòng tiêu thụ khi hoạt động là 40 mA và ở chế độ nghỉ (Idle) là 15 mA.
2. Vi điều khiển Arduino Uno R3 đảm nhận những vai trò gì và giao tiếp qua các chuẩn nào trong hệ thống?
Arduino Uno R3 đóng vai trò bộ tiền xử lý và thu thập dữ liệu trung gian. Bo mạch tiếp nhận các khung dữ liệu cảm biến gửi về từ module Xbee Coordinator qua giao tiếp nối tiếp UART không đồng bộ, giải mã gói tin API, tính toán giá trị điện áp tương tự của cảm biến LM35 thành nhiệt độ (°C), đọc trạng thái cảm biến khí gas MQ-2, và đóng vai trò trạm tớ (Slave) để truyền các thông số này lên Raspberry Pi qua giao thức I2C.
3. Khối xử lý trung tâm sử dụng phần cứng nào và được cấu hình ra sao để vừa thu thập hình ảnh vừa phục vụ mô hình Client-Server?
Khối trung tâm sử dụng bo mạch máy tính nhúng Raspberry Pi Model B chạy hệ điều hành Raspbian. Thiết bị kết nối với một webcam ngoài qua cổng USB và cảm biến chuyển động PIR-SR501 qua chân GPIO. Chương trình viết bằng ngôn ngữ Python thiết lập cơ chế socket TCP/IP, định kỳ đọc dữ liệu từ Arduino qua bus I2C, đồng thời giám sát tín hiệu PIR để kích hoạt webcam chụp và lưu ảnh khi có người di chuyển, sau đó truyền thông tin và ảnh qua mạng LAN về máy tính Client.
4. Nhóm tác giả đã thiết kế những giải pháp mạch nguồn nào để đáp ứng mức điện áp hoạt động của module Xbee?
Do Xbee yêu cầu nguồn cấp ổn định 3.3V, nhóm tác giả đã thiết kế hai mạch socket nguồn riêng biệt: mạch socket cấp nguồn dùng pin tích hợp IC ổn áp MIC dành cho các node cảm biến di động (như node đo nhiệt độ), và mạch socket cấp nguồn điện trực tiếp sử dụng IC hạ áp AMS1117-3.3 để biến đổi điện áp từ nguồn 5V xuống 3.3V cung cấp cho các module Xbee cố định và khối điều phối.
5. Cơ chế kiểm soát luồng (Flow Control) trong giao tiếp UART giữa Xbee và bộ vi điều khiển được mô tả hoạt động như thế nào?
Giao tiếp UART giữa Xbee và bộ vi điều khiển sử dụng hai tín hiệu bắt tay phần cứng là CTS và RTS. Đối với đệm nhận DI (Data In), khi vùng đệm chỉ còn trống 17 byte, module Xbee sẽ kéo chân CTS lên mức cao (de-assert) để yêu cầu thiết bị chủ ngừng gửi dữ liệu; chân CTS chỉ được hạ xuống mức thấp (re-assert) khi vùng đệm đã giải phóng được ít nhất 34 byte trống. Đối với đệm gửi DO (Data Out), dữ liệu chỉ được xuất ra ngoài khi đường RTS ở mức thấp.
Kết luận
Đồ án tốt nghiệp "Ứng dụng Xbee và Raspberry xây dựng hệ thống phòng cháy và giám sát an ninh" của sinh viên Trần Minh Dinh và Ung Văn Thuận đã hoàn thành việc thiết kế, chế tạo và thử nghiệm thành công mô hình giám sát đa cảm biến tích hợp xử lý hình ảnh ở quy mô thực nghiệm. Nghiên cứu giải quyết tốt bài toán phối hợp liên tầng giữa mạng cảm biến không dây Zigbee/Xbee tiết kiệm năng lượng, bo mạch vi điều khiển Arduino và máy tính nhúng Raspberry Pi chạy hệ điều hành Linux. Hệ thống đã chứng minh được tính khả thi qua việc đo đạc nhiệt độ, phát hiện rò rỉ khí gas, tự động kích hoạt rờ le xoay chiều và truyền tải hình ảnh cảnh báo theo mô hình Server-Client. Đây là tài liệu tham khảo có giá trị kỹ thuật thực tiễn cao cho sinh viên và kỹ sư phát triển các hệ thống nhúng và mạng cảm biến ứng dụng trong đời sống.