Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh nền nông nghiệp Việt Nam giữ vai trò trọng yếu trong nền kinh tế, việc chuyển đổi từ canh tác truyền thống sang mô hình nông nghiệp thông minh là một yêu cầu cấp thiết. Các phương thức chăm sóc cây trồng thủ công hoặc bán tự động hiện hành còn bộc lộ nhiều hạn chế về mặt nhân công, tính linh hoạt và khả năng kiểm soát lượng nước tưới theo nhu cầu thực tế của cây trồng.

Tình hình nghiên cứu trong và ngoài nước

  • Nghiên cứu ngoài nước: Từ đầu thập niên 1980, Liên Xô (cũ) đã chế tạo các thiết bị tưới tự động có khả năng quan trắc độ ẩm thổ nhưỡng, nhiệt độ không khí và sức gió để xác định phương pháp tưới. Gần đây, robot Droplet ứng dụng điện toán đám mây với vòi phun tự động có bán kính hoạt động 9m, cho phép tra cứu thông tin loài cây và dự báo thời tiết qua Internet để lập lịch tưới. Ngoài ra, các bộ điều khiển tưới tự động của Israel cũng cho phép người dùng lập trình lịch trình tưới nước theo thời gian.
  • Nghiên cứu trong nước: Hệ thống tưới phun tự động đa năng do TS. Lê Văn Luận và ThS. Lê Đình Hiếu (Trường Cao đẳng Công nghiệp Huế) triển khai tại nhà màng trồng hoa địa lan ở thôn Tiên Nộn, xã Phú Mậu, huyện Phú Vang sử dụng bộ điều khiển PLC S7-1200 kết hợp cảm biến nhiệt độ và độ ẩm đất. Khi phát hiện thiếu nước, hệ thống kích hoạt vòi phun và tự động ngắt sau thời gian mặc định là 5 phút.
Nhóm hệ thống Ưu điểm Nhược điểm
Nghiên cứu ngoài nước Thiết bị hiện đại, độ chính xác cao, tích hợp dự báo thời tiết, hoạt động ổn định. Chi phí đầu tư cao, tính tương thích thực tế tại địa phương chưa linh hoạt, chủ yếu phục vụ trang trại quy mô lớn.
Nghiên cứu trong nước Đáp ứng nhu cầu cấp nước cơ bản, chi phí sản xuất ở mức vừa phải, tính ứng dụng thực tế tốt. Còn phụ thuộc thời gian tưới cố định (chưa bám sát độ ẩm đất thực tế), hệ thống dây dẫn kết nối cảm biến còn rườm rà, thiếu tính năng không dây.

Mục tiêu và nhiệm vụ nghiên cứu

  1. Xây dựng một hệ thống vườn thông minh tự động tưới tiêu và thu thập dữ liệu môi trường (nhiệt độ, độ ẩm không khí, độ ẩm đất) với chi phí thấp, vận hành dễ dàng, giảm thiểu sức lao động và phù hợp với điều kiện khí hậu Việt Nam.
  2. Tìm hiểu và tích hợp kit máy tính nhúng Raspberry Pi B+ chạy hệ điều hành Linux để xây dựng Web Server quản trị.
  3. Nghiên cứu vi điều khiển ARM Cortex-M3 (STM32F103C8T6), thiết kế board mạch thu thập dữ liệu cảm biến và khối công suất điều khiển động cơ bơm.
  4. Triển khai mạng cảm biến không dây Zigbee (chuẩn IEEE 802.15.4) qua module thu phát RF DRF1605H để truyền nhận dữ liệu giữa các nút.
  5. Xây dựng cơ sở dữ liệu MySQL, lập trình script Python xử lý logic và giao diện Web (HTML, PHP, JavaScript) để giám sát và điều khiển thời gian thực.

Đối tượng và phạm vi nghiên cứu

  • Đối tượng nghiên cứu: Mạch vi điều khiển STM32F103C8T6, module truyền thông RF Zigbee DRF1605H, máy tính nhúng Raspberry Pi B+, cảm biến nhiệt độ và độ ẩm không khí DHT11, cảm biến độ ẩm đất, mạch thời gian thực DS1307 và hệ thống Web Server nhúng.
  • Phạm vi nghiên cứu: Giới hạn ở mô hình thực nghiệm một nhánh mạng gồm 01 nút Router (thu thập và điều khiển) và 01 nút Coordinator (nhận dữ liệu và chuyển tiếp về trung tâm điều khiển).

Cơ sở lý thuyết và phương pháp

Khung lý thuyết và kiến trúc phần cứng

  • Vi điều khiển ARM Cortex-M3 STM32F103C8T6: Cấu trúc 32-bit RISC, tập lệnh Thumb-2, đường ống lệnh 3 tầng (Fetch, Decode, Execute), tần số hoạt động tối đa 72 MHz (dòng Performance). Tích hợp 2 bộ biến đổi tương tự - số ADC 12-bit (18 kênh), bộ điều khiển vector ngắt lồng nhau NVIC, khối truyền thông USART, SPI, I2C, CAN, USB và các chế độ tiết kiệm năng lượng (SLEEP, STOP, STANDBY).
  • Mạng cảm biến không dây Zigbee / chuẩn IEEE 802.15.4: Hoạt động trên 3 dải tần chính với 27 kênh truyền: 868 MHz (1 kênh, 20 kbps), 915 MHz (10 kênh, 40 kbps), và 2.4 GHz (16 kênh, 250 kbps). Hỗ trợ hai loại thiết bị là FFD (Full-Function Device) và RFD (Reduced-Function Device), phân bổ thành 3 vai trò: Coordinator (điều phối mạng), Router (định tuyến gói tin), End Device (thiết bị đầu cuối). Mạng hỗ trợ 3 cấu trúc liên kết: Star (hình sao), Tree (hình cây), và Mesh (hình lưới) với cơ chế đa truy nhập cảm nhận sóng mang tránh xung đột CSMA/CA.
Dải tần số (MHz) Số lượng kênh Số hiệu kênh (k) Tần số trung tâm (MHz) Tốc độ truyền
868 1 0 868.3 20 kbps
915 10 1 – 10 $906 + 2(k-1)$ 40 kbps
2405 (2.4 GHz) 16 11 – 26 $2405 + 5(k-11)$ 250 kbps

Nền tảng phần mềm và giao thức

  • Hệ điều hành Linux: Chạy trên nền phần cứng Raspberry Pi B+, quản lý tiến trình, hệ thống tập tin và các luồng I/O.
  • Ngôn ngữ Python: Dùng để viết script tự động chạy nền trên Linux, thực thi các tác vụ đọc dữ liệu từ cổng nối tiếp (UART/Zigbee), phân tích chuỗi ký tự, truy vấn cơ sở dữ liệu và xử lý logic điều khiển.
  • Ngôn ngữ lập trình Web và Cơ sở dữ liệu:
    • HTML/CSS: Định dạng giao diện hiển thị bảng biểu và đồ thị.
    • PHP: Xử lý dữ liệu phía máy chủ (Server-side) và giao tiếp với hệ quản trị cơ sở dữ liệu.
    • SQL / MySQL: Lưu trữ dữ liệu cảm biến, lịch sử vận hành, tài khoản người dùng và trạng thái điều khiển.
    • JavaScript: Thực hiện lấy dữ liệu cập nhật theo thời gian thực (Real-time) và vẽ biểu đồ giám sát.

Thiết kế và triển khai hệ thống

Kiến trúc phần cứng và kết nối ngoại vi

Hệ thống được phân thành hai khối vật lý độc lập:

  1. Khối thu thập dữ liệu và điều khiển (Node Router): Vi điều khiển STM32F103C8T6 tiếp nhận tín hiệu từ cảm biến DHT11 (chuẩn 1-Wire) để đo nhiệt độ/độ ẩm không khí, cảm biến độ ẩm đất qua kênh ADC, giao tiếp với module Zigbee DRF1605H qua cổng USART để truyền dữ liệu về bộ trung tâm, đồng thời xuất tín hiệu điều khiển đóng/ngắt mạch động cơ bơm nước.
  2. Khối trung tâm và máy chủ (Node Coordinator / Gateway): Module Zigbee DRF1605H cấu hình Coordinator kết nối trực tiếp với Raspberry Pi B+ qua các chân GPIO (UART) để nhận chuỗi dữ liệu. Raspberry Pi kết nối với module thời gian thực DS1307 qua chuẩn I2C nhằm duy trì thời gian thực chuẩn xác.
Thiết bị điều khiển Chân kết nối STM32 Chân kết nối Raspberry Pi Chức năng ngoại vi
Cảm biến DHT11 Chân GPIO (Data) — Thu thập nhiệt độ và độ ẩm không khí (1-Wire)
Cảm biến độ ẩm đất Chân ADC (Analog In) — Đọc giá trị điện áp tương ứng độ ẩm đất
Mạch điều khiển động cơ Chân GPIO (Out) — Điều khiển Relay/Transistor kích hoạt bơm
Zigbee Router (DRF1605H) Chân USART (TX/RX) — Gửi chuỗi dữ liệu môi trường và nhận lệnh
Zigbee Coordinator — Chân GPIO TX/RX (UART) Nhận dữ liệu mạng và truyền lệnh điều khiển
Mạch RTC DS1307 — Chân I2C (SDA/SCL) Cung cấp thông tin ngày/giờ cho Web Server

Cấu trúc cơ sở dữ liệu MySQL

Cơ sở dữ liệu được tổ chức thành 4 bảng dữ liệu chính:

  • user: Lưu trữ tài khoản người dùng, mật khẩu đã mã hóa và quyền truy cập quản trị.
  • testtable: Lưu trữ bản ghi dữ liệu cảm biến định kỳ (nhiệt độ, độ ẩm không khí, độ ẩm đất, thời gian thu thập).
  • control: Lưu trữ trạng thái điều khiển thiết bị (chế độ Tự động/Thủ công, trạng thái bơm Bật/Tắt, các ngưỡng kích hoạt).
  • chart: Tổ chức dữ liệu chuyên biệt phục vụ truy vấn và kết xuất biểu đồ trực quan trên giao diện web.

Giải thuật phần mềm

  • Giải thuật trên STM32: Khởi tạo các ngoại vi (ADC, Timer, USART, GPIO); quét tín hiệu DHT11 qua hàm đọc byte chuyên biệt; đọc giá trị ADC từ cảm biến đất; đóng gói chuỗi dữ liệu định dạng chuẩn và gửi qua UART đến Zigbee Router. Đồng thời, cấu hình ngắt nhận UART để nhận diện lệnh điều khiển bơm tức thời từ Coordinator.
  • Giải thuật Python trên Raspberry Pi: Khởi tạo kết nối cổng Serial kết nối module Zigbee Coordinator; liên tục lắng nghe dữ liệu đến; trích xuất các giá trị nhiệt độ, độ ẩm; so sánh với thời gian thực từ DS1307 và các ngưỡng cài đặt trong bảng control; thực thi hàm timgiotat để tự động tính toán thời gian ngắt bơm; cập nhật dữ liệu vào bảng testtable và chart.

Nội dung chính theo từng chương

Chương 1: Giới thiệu

Chương này tổng thuật bức tranh phát triển của công nghệ Internet of Things (IoT) và tiềm năng ứng dụng trong nông nghiệp thông minh. Tác giả phân tích chi tiết tình hình nghiên cứu tưới tự động trên thế giới (máy tưới Liên Xô, Robot Droplet, thiết bị Israel) và trong nước (hệ thống nhà màng PLC S7-1200 tại Huế). Đánh giá tổng quan làm rõ khoảng trống kỹ thuật: các hệ thống hiện có hoặc quá đắt đỏ, hoặc còn phụ thuộc vào dây dẫn và thời gian tưới cố định, từ đó xác lập mục tiêu thiết kế một hệ thống tưới tự động dùng mạng Zigbee và máy tính nhúng giá thành thấp.

Chương 2: Cơ sở lý thuyết

Nội dung chương tập trung trình bày các nền tảng lý thuyết cốt lõi phục vụ đồ án:

  • Kiến trúc ARM Cortex-M3 trên dòng vi điều khiển STM32F103 (tập lệnh Thumb-2, NVIC, các chế độ công suất SLEEP, STOP, STANDBY, khối ngoại vi ADC, USART, I2C, SPI).
  • Chuẩn mạng Zigbee / IEEE 802.15.4, phân tích chi tiết các dải tần số, 27 kênh truyền sóng, cấu trúc các tầng giao thức (PHY, MAC, NWK, Application, ZDO), các mô hình mạng (Sao, Cây, Lưới) và cơ chế tiết kiệm năng lượng, chống xung đột CSMA/CA.
  • Lý thuyết về ngôn ngữ lập trình Python, mô hình Web động (HTML, PHP, JavaScript), hệ quản trị cơ sở dữ liệu quan hệ MySQL và cấu trúc hệ điều hành Linux.

Chương 3: Thiết kế hệ thống

Chương 3 trình bày toàn bộ quá trình hiện thực hóa phần cứng và phần mềm của đồ án:

  • Sơ đồ khối tổng thể hệ thống, phân tích chỉ tiêu kỹ thuật của từng linh kiện: vi điều khiển STM32F103C8T6, module RF Zigbee DRF1605H, Raspberry Pi B+, cảm biến DHT11, cảm biến độ ẩm đất, mạch RTC DS1307 và mạch lái động cơ.
  • Thiết kế mạch in cho Board thu thập dữ liệu / điều khiển động cơ và Board truyền dữ liệu Zigbee.
  • Xây dựng lưu đồ giải thuật cho chương trình chính trên STM32, chương trình ngắt UART nhận lệnh điều khiển.
  • Cấu hình mạng Zigbee qua phần mềm chuyên dụng và giao thức truyền thông nối tiếp.
  • Lập trình hệ thống Web Server trên Raspberry Pi: cấu hình SSH qua PuTTY, lập trình script Python xử lý luồng dữ liệu và xây dựng cơ sở dữ liệu MySQL với 4 bảng dữ liệu (user, testtable, control, chart).

Chương 4: Kết quả thực hiện

Chương này công bố và đánh giá các kết quả thực nghiệm của hệ thống:

  • Dữ liệu thu thập từ cảm biến DHT11 và cảm biến độ ẩm đất được STM32 xử lý và truyền qua Zigbee chính xác.
  • Khảo sát tầm phủ sóng và độ ổn định của kết nối không dây Zigbee DRF1605H giữa Router và Coordinator trong các điều kiện môi trường có vật cản.
  • Kiểm thử giao diện Web Server nhúng: màn hình đăng nhập bảo mật, bảng điều khiển trạng thái thời gian thực, biểu đồ hiển thị trực quan thông số môi trường.
  • Đánh giá khả năng đáp ứng của mạch công suất điều khiển động cơ bơm nước và độ chính xác của các thuật toán tưới tự động theo ngưỡng thông số.

Chương 5: Kết luận và hướng phát triển

Tác giả đúc kết những nội dung đã hoàn thành của đồ án: làm chủ công nghệ thu thập dữ liệu bằng ARM Cortex-M3, thiết lập mạng truyền thông không dây Zigbee, xây dựng thành công Web Server nhúng trên Raspberry Pi phục vụ giám sát và điều khiển tưới tự động. Đồng thời, chương này chỉ ra các hạn chế về quy mô thử nghiệm và vạch ra lộ trình mở rộng hệ thống trong tương lai.


Kết quả và đóng góp

Kết quả kỹ thuật đạt được

  • Thu thập và truyền dữ liệu: Đo đạc ổn định các thông số nhiệt độ, độ ẩm không khí và độ ẩm đất. Chuỗi dữ liệu được truyền tải không dây qua module Zigbee DRF1605H ở dải tần 2.4 GHz về trung tâm điều phối không xảy ra xung đột dữ liệu.
  • Vận hành Web Server và điều khiển: Máy chủ nhúng trên Raspberry Pi B+ duy trì hoạt động liên tục, cho phép người dùng truy cập giao diện giám sát, xem biểu đồ theo thời gian thực và thực thi 2 chế độ điều khiển:
    • Chế độ tự động: Hệ thống tự kích hoạt bơm khi độ ẩm đất xuống dưới ngưỡng cài đặt và tự ngắt khi độ ẩm đạt chuẩn hoặc thông qua thuật toán tính thời gian ngắt timgiotat.
    • Chế độ thủ công: Người dùng có thể trực tiếp bật/tắt bơm từ giao diện Web.

Đóng góp của đề tài

  • Ứng dụng thành công giải pháp mạng cảm biến không dây Zigbee vào nông nghiệp, loại bỏ hoàn toàn hệ thống dây cáp tín hiệu phức tạp vốn dễ bị hư hại trong môi trường vườn trồng diện tích lớn.
  • Khắc phục nhược điểm của các hệ thống tưới hẹn giờ cố định trong nước bằng cách kết hợp giám sát trực tiếp thông số độ ẩm đất, giúp tiết kiệm nguồn nước và nâng cao hiệu quả chăm sóc cây trồng.
  • Xây dựng một mô hình hệ thống nhúng IoT hoàn chỉnh từ tầng thu thập phần cứng, tầng truyền thông mạng đến tầng ứng dụng web quản trị với chi phí linh kiện thấp.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế của đề tài

  • Do giới hạn về mặt thời gian, kiến thức và kinh phí, đề tài mới chỉ hiện thực hóa thử nghiệm một nhánh mạng đơn giản gồm 01 nút Coordinator và 01 nút Router/thu thập dữ liệu, chưa kiểm thử mạng Mesh quy mô lớn với nhiều nút phân tán.
  • Chưa đi sâu vào ứng dụng chuyên biệt cho một loại cây trồng cụ thể với các thuật toán nông nghiệp phức tạp.
  • Chưa đóng gói sản phẩm hoàn thiện để vận hành dài hạn ngoài trời trong các điều kiện thời tiết khắc nghiệt.

Hướng phát triển

  • Mở rộng số lượng nút cảm biến (End Device và Router) theo cấu trúc mạng lưới (Mesh Topology) để mở rộng phạm vi bao phủ cho các trang trại diện tích lớn.
  • Tích hợp thêm các cảm biến chuyên dụng khác như đo cường độ ánh sáng, độ pH đất, nồng độ dinh dưỡng để tối ưu hóa quy trình chăm sóc.
  • Tối ưu hóa các chế độ tiết kiệm năng lượng của vi điều khiển (SLEEP, STOP, STANDBY) và module Zigbee nhằm kéo dài tuổi thọ pin cho các nút cảm biến hoạt động độc lập bằng năng lượng mặt trời.

Giá trị tham khảo

Báo cáo khóa luận là tài liệu học thuật và kỹ thuật có giá trị tham khảo cho:

  • Sinh viên ngành Điện tử Truyền thông, Kỹ thuật Máy tính và Tự động hóa: Tham khảo phương pháp lập trình vi điều khiển ARM Cortex-M3 (STM32F103) qua các chuẩn giao tiếp USART, ADC, I2C, 1-Wire và kỹ thuật thiết kế mạch nhúng.
  • Người nghiên cứu về Mạng cảm biến không dây (WSN) và IoT: Cung cấp tài liệu tham khảo thực tế về cấu hình module Zigbee DRF1605H, thiết lập giao thức mạng IEEE 802.15.4 và giải pháp chống xung đột CSMA/CA.
  • Kỹ sư phát triển hệ thống Web Server nhúng: Tham khảo kiến trúc kết hợp giữa phần cứng máy tính nhúng (Raspberry Pi, Linux), ngôn ngữ lập trình Python chạy script nền và hệ quản trị cơ sở dữ liệu MySQL phục vụ giám sát thời gian thực.

Câu hỏi thường gặp

1. Vi điều khiển chính trên nút thu thập dữ liệu của hệ thống là gì và có những đặc tính kỹ thuật nào nổi bật?

Nút thu thập dữ liệu sử dụng vi điều khiển 32-bit ARM Cortex-M3 STM32F103C8T6 (dòng Performance). Vi điều khiển này hoạt động ở tần số xung nhịp tối đa 72 MHz, sở hữu bộ nhớ Flash lên đến 128 KB, SRAM 20 KB, tích hợp 2 bộ ADC 12-bit với 18 kênh chuyển đổi, bộ điều khiển ngắt NVIC và hỗ trợ đầy đủ các ngoại vi USART, SPI, I2C cùng 3 chế độ công suất thấp (SLEEP, STOP, STANDBY).

2. Module Zigbee nào được sử dụng trong đề tài và hoạt động theo chuẩn truyền thông nào?

Đề tài sử dụng module thu phát RF Zigbee DRF1605H, hoạt động trên nền tảng chuẩn IEEE 802.15.4 ở dải tần số 2.4 GHz với tốc độ truyền dữ liệu tối đa 250 kbps, hỗ trợ 16 kênh truyền từ kênh 11 đến kênh 26 và sử dụng cơ chế đa truy nhập cảm nhận sóng mang tránh xung đột CSMA/CA.

3. Máy chủ trung tâm Web Server được triển khai trên nền tảng phần cứng và phần mềm nào?

Web Server được xây dựng trên máy tính nhúng Raspberry Pi B+ chạy hệ điều hành Linux. Phần mềm máy chủ sử dụng ngôn ngữ lập trình Python để viết các script tự động giao tiếp UART với Zigbee Coordinator, ngôn ngữ PHP xử lý phía server, hệ quản trị cơ sở dữ liệu MySQL để lưu trữ bảng dữ liệu và HTML/JavaScript để hiển thị giao diện thời gian thực.

4. Cơ sở dữ liệu MySQL của hệ thống bao gồm những bảng nào và chức năng của từng bảng là gì?

Cơ sở dữ liệu gồm 4 bảng chính:

  • user: Quản lý tài khoản và thông tin xác thực đăng nhập người dùng.
  • testtable: Lưu trữ các giá trị đo môi trường định kỳ gồm nhiệt độ, độ ẩm không khí và độ ẩm đất.
  • control: Lưu trữ các thông số cài đặt điều khiển và trạng thái bơm tưới.
  • chart: Lưu trữ và trích xuất dữ liệu phục vụ vẽ biểu đồ giám sát trên trang web.

5. Khác biệt lớn nhất giữa hệ thống này và mô hình tưới phun tự động của Cao đẳng Công nghiệp Huế được nhắc đến là gì?

Hệ thống của Trường CĐCN Huế sử dụng bộ điều khiển PLC S7-1200 kết nối cảm biến bằng dây dẫn vật lý và vận hành theo cơ chế tưới trong một khoảng thời gian mặc định cố định (5 phút). Trong khi đó, hệ thống trong khóa luận này sử dụng mạng không dây Zigbee loại bỏ dây dẫn, đồng thời tích hợp Web Server trên Raspberry Pi cho phép giám sát từ xa và kiểm soát tưới linh hoạt dựa trên ngưỡng độ ẩm đất thực tế hoặc điều khiển thủ công qua mạng.


Kết luận

Đồ án tốt nghiệp "Thiết kế hệ thống tưới nước tự động ứng dụng mạng Zigbee" của sinh viên Nguyễn Minh Thiện và Võ Vĩnh Hoàng đã hoàn thành trọn vẹn mục tiêu thiết kế và chế tạo một mô hình nông nghiệp thông minh kết hợp IoT. Hệ thống làm chủ việc thu thập thông số môi trường bằng vi điều khiển ARM Cortex-M3 STM32F103C8T6, truyền dữ liệu không dây ổn định qua mạng Zigbee DRF1605H và quản trị tập trung thông qua Web Server nhúng trên Raspberry Pi B+. Kết quả thực nghiệm khẳng định tính khả thi của giải pháp trong việc tự động hóa tưới tiêu, tiết kiệm nước và giảm thiểu nhân công, tạo nền tảng vững chắc để tiếp tục mở rộng mô hình mạng cảm biến diện rộng trong thực tế.