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

Quá trình đô thị hóa nhanh chóng tại Việt Nam đang thu hẹp diện tích đất nông nghiệp truyền thống, dự kiến tỷ lệ dân số đô thị đạt khoảng 80% và quỹ đất nông nghiệp chỉ còn 20–30%. Trong khi đó, nhu cầu tiêu thụ thực phẩm an toàn của người dân thành thị ngày càng tăng cao trước thực trạng ngộ độc thực phẩm và tồn dư hóa chất bảo vệ thực vật, kim loại nặng, vi sinh vật gây hại. Theo số liệu của Tổ chức Lao động Quốc tế (ILO) được tác giả trích dẫn, hằng năm có hơn 40.000 trường hợp tử vong trên tổng số 2 triệu ca ngộ độc rau trên thế giới; tại Việt Nam, số ca ngộ độc nhập viện do rau củ không an toàn ghi nhận hơn 700 trường hợp trong những năm gần đây.

Mô hình nông nghiệp đô thị tại các hộ gia đình với diện tích ban công, sân thượng từ 3–4 $\text{m}^2$ mở ra khả năng tự cung cấp rau sạch. Tuy nhiên, các giải pháp kỹ thuật trồng rau trong nhà như thủy canh tĩnh bằng hộp xốp hay khí canh thường đòi hỏi quy trình chăm sóc tỉ mỉ, kỹ thuật phức tạp và chưa được tích hợp công nghệ tự động hóa. Đề tài "Thiết kế và thi công hệ thống giám sát thủy canh trên nền tảng Internet of Things" được thực hiện nhằm giải quyết bài toán tự động hóa việc theo dõi, cân bằng nồng độ pH và điều tiết quang kỳ cho hệ thống thủy canh hồi lưu quy mô gia đình.

Mục tiêu nghiên cứu của đề tài bao gồm:

  1. Ứng dụng module ESP8266 kết nối Wi-Fi phối hợp với vi điều khiển Arduino để giám sát hệ thống thủy canh từ xa.
  2. Đảm bảo độ ổn định nồng độ pH của dung dịch dinh dưỡng thủy canh.
  3. Kiểm soát thời gian chiếu sáng nhân tạo cho cây trồng qua mạng Internet.
  4. Xây dựng giao diện website thân thiện cho phép giám sát và điều khiển nhiều thiết bị dựa trên địa chỉ MAC.

Nhiệm vụ nghiên cứu được xác định qua 10 nội dung cụ thể:

  1. Thiết kế và thi công mô hình hệ thống thủy canh.
  2. Thiết kế giao diện giám sát và điều khiển qua mạng.
  3. Khảo sát module Wi-Fi ESP8266 NodeMCU.
  4. Thiết kế và lập trình kết nối Arduino với module Wi-Fi.
  5. Nghiên cứu giao thức MQTT ứng dụng cho IoT.
  6. Nghiên cứu và tính toán phương pháp hiệu chỉnh pH.
  7. Lắp ráp các khối điều khiển vào mô hình phần cứng.
  8. Chạy thử nghiệm hệ thống thủy canh.
  9. Cân chỉnh hoạt động của hệ thống.
  10. Tổng hợp và báo cáo đề tài tốt nghiệp.

Đối tượng nghiên cứu là hệ thống thủy canh màng dinh dưỡng hồi lưu (Nutrient Film Technique - NFT) quy mô nhỏ, kết hợp hệ thống nhúng thu thập dữ liệu cảm biến và máy chủ web điều khiển qua Internet. Phạm vi nghiên cứu giới hạn tại mô hình thử nghiệm trong nhà, chưa tích hợp mạch đo độ dẫn điện EC, chưa triển khai giải thuật điều khiển tự động thích nghi cho pH và giao diện web chưa tối ưu hóa cho thiết bị di động.

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

Nghiên cứu tích hợp cơ sở lý thuyết liên ngành giữa kỹ thuật điện tử - truyền thông, công nghệ phần mềm và khoa học nông nghiệp:

Nhóm lý thuyết Nội dung và thông số kỹ thuật tác giả sử dụng
Phần cứng vi điều khiển & Cảm biến - Arduino Uno R3: Vi điều khiển ATmega328P (8-bit, 16 MHz, 32 KB Flash, 2 KB SRAM, 1 KB EEPROM, 14 chân I/O Digital với 6 kênh PWM, 6 kênh ADC 10-bit).
- ESP8266 NodeMCU: SoC Wi-Fi chuẩn 802.11 b/g/n, điện áp 3.3V, dòng đỉnh 215 mA, tích hợp giao thức TCP/IP, công suất phát +19.5 dBm.
- Module pH DFRobot: Dải đo 0–14 pH, điện áp 5V, nhiệt độ hoạt động 0–60°C, độ chính xác $\pm 0.1\text{ pH}$ ở 25°C, thời gian đáp ứng $\le 1\text{ phút}$, chuyển đổi tín hiệu mV sang giá trị pH.
- Module thời gian thực DS3231: Điện áp 3.5V, tích hợp thạch anh bù nhiệt độ, giao tiếp I2C tốc độ tối đa 400 kHz.
Chuẩn truyền thông & Giao thức mạng - UART: Truyền nối tiếp không đồng bộ giữa Arduino và ESP8266 (khung truyền: Start bit, 8 bit dữ liệu LSB trước, Parity bit, Stop bit).
- I2C: Bus 2 dây (SDA, SCL) kết nối Arduino với DS3231 và mạch điều khiển LCD, điện trở kéo lên nguồn 4.7 k$\Omega$, địa chỉ 7-bit.
- JSON: Chuỗi định dạng trao đổi dữ liệu có cấu trúc key-value giữa mạch nhúng và máy chủ.
- MQTT: Kiến trúc Publish/Subscribe thông qua Broker; hệ thống sử dụng mức dịch vụ QoS 0 (chuyển giao bản tin một lần qua TCP/IP).
Công nghệ phần mềm máy chủ - PHP 7 & Module Session: Xử lý logic phía máy chủ và quản lý phiên người dùng.
- MySQL & Thư viện MySQLi: Hệ quản trị cơ sở dữ liệu quan hệ, lưu trữ thông tin tài khoản, cấu hình loại cây trồng và trạng thái trạm.
- HTML, CSS, JavaScript: Xây dựng giao diện web động phục vụ giám sát và cấu hình.
Lý thuyết sinh học nông nghiệp - Quang kỳ & Quang phổ: Chu kỳ chiếu sáng 16 giờ sáng / 8 giờ tối cho giai đoạn sinh trưởng sinh dưỡng và 12 giờ sáng / 12 giờ tối cho giai đoạn sinh sản; phân loại cây ngày dài, ngày ngắn, trung tính.
- Nồng độ pH: Ảnh hưởng đến khả năng hấp thụ khoáng chất, dải tối ưu của phần lớn cây trồng từ 6.0 đến 8.5.
- Độ dẫn điện (EC): Nồng độ ion hòa tan, mức chuẩn cho rau ăn lá là 1.6–1.8 mS/cm, rau ăn quả là 2.0–2.2 mS/cm.
- Kỹ thuật thủy canh: Mô hình màng dinh dưỡng hồi lưu (NFT); giá thể trơ sinh học gồm xơ dừa, đá perlite, sỏi đất sét nung.
- Tiêu chuẩn rau sạch: Quy định dư lượng thuốc bảo vệ thực vật, nitrat ($\text{NO}_3^-$), kim loại nặng (Cu, Pb, Hg, Cd, As) và vi sinh vật ($\textit{E. coli}$, $\textit{Salmonella sp.}$, trứng giun $\textit{Ascaris}$) theo chuẩn FAO/WHO.

Phương pháp nghiên cứu bao gồm:

  • Phương pháp nghiên cứu tài liệu: Tổng hợp các tài liệu kỹ thuật về kiến trúc phần cứng vi điều khiển, tập lệnh AT của ESP8266, giao thức MQTT và tài liệu nông nghiệp về dinh dưỡng cây trồng.
  • Phương pháp thiết kế và thi công kỹ thuật: Thiết kế sơ đồ nguyên lý, vẽ mạch in, lập trình nhúng C/C++ trên Arduino IDE và xây dựng website bằng PHP/MySQL.
  • Phương pháp thực nghiệm: Kiểm thử đo lường cảm biến pH trên các dung dịch mẫu (dung dịch thủy canh, nước cốt chanh), kiểm tra khả năng truyền nhận dữ liệu qua Wi-Fi và đóng cắt tải relay thực tế.

Thiết kế và triển khai

Hệ thống được thiết kế theo cấu trúc module hóa phân tầng, gồm phần cứng thu thập - chấp hành tại chỗ và hệ thống máy chủ giám sát qua Internet.

Kiến trúc phần cứng

Sơ đồ khối phần cứng bao gồm 7 khối chức năng chính:

  • Khối nguồn: Cung cấp các mức điện áp DC 12V (cho máy bơm, đèn chiếu sáng), 5V (cho Arduino, cảm biến pH, module relay) và 3.3V (cho ESP8266).
  • Khối điều khiển trung tâm (Arduino Uno): Đọc tín hiệu tương tự từ cảm biến pH, giao tiếp I2C với module thời gian thực DS3231 và màn hình LCD, xử lý logic điều khiển tải và truyền nhận dữ liệu với ESP8266 qua cổng nối tiếp UART. Để thuận tiện khi nạp code, đường truyền UART giữa Arduino và ESP8266 được bố trí qua 2 jumper tháo rời.
  • Khối giao tiếp Wi-Fi (ESP8266 NodeMCU): Đóng vai trò cầu nối truyền thông, kết nối mạng Wi-Fi cục bộ, gửi dữ liệu lên MQTT Broker và nhận lệnh điều khiển từ website về Arduino.
  • Khối cảm biến pH: Bao gồm đầu dò điện cực thủy tinh kết nối với mạch chuyển đổi tín hiệu DFRobot, xuất điện áp tương tự tỷ lệ nghịch với độ pH về chân Analog của Arduino.
  • Khối thời gian thực (RTC DS3231): Lưu giữ thời gian chính xác độc lập với nguồn điện chính để định thời bật/tắt bơm và đèn theo chu kỳ sinh trưởng.
  • Khối hiển thị (LCD 16x2 qua I2C): Hiển thị trạng thái khởi động, thông số mạng và chế độ hoạt động tại chỗ.
  • Khối tải chấp hành: Sử dụng module relay 5V kích mức cao để điều khiển 3 động cơ bơm 12V (gồm bơm cấp dung dịch hồi lưu, bơm dung dịch hiệu chỉnh pH) và dàn đèn LED chiếu sáng quang kỳ.

Kiến trúc phần mềm và quy trình hoạt động

Hệ thống điều khiển vận hành qua hai chế độ chính:

  • Chế độ tự động (Auto Mode): Arduino tự động so sánh giá trị pH đo được với ngưỡng thiết lập của loại cây trồng được chọn trong cơ sở dữ liệu. Nếu pH lệch chuẩn, vi điều khiển kích hoạt relay điều khiển bơm cân chỉnh. Thời gian bật tắt đèn và chu kỳ bơm tuần hoàn được quản lý tự động dựa trên thời gian thực đọc từ RTC DS3231.
  • Chế độ thủ công (Manual Mode): Người dùng trực tiếp bật/tắt máy bơm, đèn chiếu sáng và kích hoạt bơm cân chỉnh dung dịch thông qua các nút bấm trên giao diện web.

Quy trình kết nối mạng của thiết bị diễn ra qua cơ chế Access Point (AP): Khi chưa được cấu hình, ESP8266 phát mạng Wi-Fi riêng để người dùng truy cập vào giao diện Web Setup nhập SSID và mật khẩu của router nhà mạng. Khi kết nối thành công, module sẽ gửi địa chỉ MAC lên hệ thống máy chủ để gán định danh phần cứng với tài khoản người dùng tương ứng.

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

Chương 1: Tổng quan

Trình bày tính cấp thiết của đề tài trong bối cảnh diện tích đất đô thị thu hẹp và thực trạng mất an toàn vệ sinh thực phẩm. Tác giả nêu rõ mục tiêu ứng dụng IoT vào việc giám sát và tự động hóa hệ thống thủy canh, xác định 10 nhiệm vụ kỹ thuật và công bố 3 giới hạn nghiên cứu chính (chưa đo EC, chưa có giải thuật điều khiển pH tối ưu, giao diện chưa hỗ trợ smartphone).

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

Nội dung chương được chia thành hai mảng kiến thức lớn:

  • Lý thuyết điện tử và truyền thông: Khảo sát chi tiết thông số vi điều khiển ATmega328P, tập lệnh AT và các chế độ nghỉ của ESP8266, nguyên lý chuyển đổi tín hiệu của cảm biến pH DFRobot, cấu trúc khung truyền UART, bus I2C, định dạng bản tin JSON, giao thức MQTT với các mức QoS 0, 1, 2 và phương thức lập trình web với PHP/MySQL.
  • Lý thuyết nông nghiệp: Trình bày các giai đoạn sinh trưởng của cây trồng, ảnh hưởng của quang kỳ (16/8 và 12/12), bảng nhu cầu EC cho từng loại cây, tiêu chuẩn an toàn thực phẩm theo FAO/WHO, kỹ thuật màng dinh dưỡng NFT và đặc tính các loại giá thể thủy canh (xơ dừa, đá perlite, sỏi nhẹ đất nung).

Bảng đối chiếu nhu cầu độ dẫn điện (EC) của một số loại cây trồng được tác giả tổng hợp như sau:

Loại cây trồng Chỉ số EC (mS/cm) Loại cây trồng Chỉ số EC (mS/cm)
Cẩm chướng 2.4 – 5.0 Xà lách xoong 0.6 – 1.5
Địa lan 2.4 – 5.0 Dứa 2.4 – 5.0
Hoa hồng 1.5 – 2.4 Dâu tây 1.5 – 2.4
Cà chua 2.4 – 5.0 Ớt 1.5 – 2.4
Xà lách 0.6 – 1.5 Chuối 1.5 – 2.4

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

Chi tiết hóa sơ đồ khối phần cứng, sơ đồ nguyên lý toàn mạch và thiết kế mạch in PCB. Chương này trình bày chi tiết các lưu đồ thuật toán: lưu đồ chương trình chính cho Arduino, lưu đồ cho ESP8266, lưu đồ xử lý tín hiệu ADC từ cảm biến pH, lưu đồ giải thuật hiệu chỉnh pH tự động và lưu đồ truyền nhận gói tin JSON qua UART. Đồng thời, chương 3 mô tả cấu trúc cơ sở dữ liệu MySQL và giao diện các trang chức năng trên nền tảng web.

Chương 4: Kết quả

Ghi nhận kết quả thi công phần cứng thực tế sau khi gia công và đóng hộp mạch. Tác giả trình bày kết quả thử nghiệm từng tính năng:

  • Quy trình cấu hình Wi-Fi cho ESP8266 qua chế độ AP và hiển thị địa chỉ MAC trên màn hình LCD.
  • Giao diện đăng ký, đăng nhập tài khoản, thêm/xóa profile loại cây trồng trên website.
  • Kết quả đo thử nghiệm giá trị pH thực tế trong bồn chứa dung dịch thủy canh và đo kiểm chứng dung dịch nước cốt chanh có tính axit cao.
  • Kết quả đáp ứng đóng/ngắt các rơ-le điều khiển máy bơm và dàn đèn ở cả hai chế độ Auto và Manual.

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

Đánh giá mức độ hoàn thành nhiệm vụ nghiên cứu, tổng kết các kết quả kỹ thuật đạt được và chỉ ra các hạn chế thực tế cần được tiếp tục hoàn thiện trong các giai đoạn sau.

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

Kết quả thử nghiệm thực tế

  • Chế tạo hoàn chỉnh bo mạch điều khiển tích hợp Arduino Uno, ESP8266, module RTC DS3231, mạch chuyển đổi pH DFRobot và module relay công suất.
  • Mạch hoạt động ổn định với nguồn DC đa điện áp (12V, 5V, 3.3V).
  • Giao thức MQTT QoS 0 cho phép truyền nhận dữ liệu đo pH và trạng thái thiết bị giữa mạch nhúng và máy chủ web qua mạng Wi-Fi ổn định.
  • Chức năng cấu hình mạng qua điểm truy cập AP hoạt động chính xác, cho phép người dùng thay đổi SSID/mật khẩu mà không cần nạp lại mã nguồn.
  • Hệ thống máy chủ PHP/MySQL quản lý thành công các trạm điều khiển độc lập thông qua địa chỉ MAC của từng module ESP8266.
  • Đo đạc chính xác nồng độ pH dung dịch dinh dưỡng và thực nghiệm phản ứng điều khiển bơm cân chỉnh khi dung dịch thay đổi độ chua.

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

  • Hiện thực hóa mô hình giám sát thủy canh hồi lưu ứng dụng công nghệ IoT với chi phí thấp, tận dụng linh kiện phần cứng nguồn mở sẵn có.
  • Cung cấp giải pháp quản trị tập trung nhiều thiết bị thủy canh trên cùng một nền tảng website thông qua cơ chế định danh địa chỉ vật lý MAC.
  • Tích hợp kiểm soát đồng thời cả hai yếu tố nông nghiệp then chốt trong canh tác trong nhà: độ pH của dung dịch dinh dưỡng và quang kỳ chiếu sáng nhân tạo.

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

Theo công bố của tác giả, hệ thống còn tồn tại các hạn chế kỹ thuật sau:

  • Chưa thiết kế và tích hợp được mạch đo độ dẫn điện EC (Electrical Conductivity) để giám sát tổng nồng độ khoáng chất dinh dưỡng hòa tan.
  • Giải thuật cân chỉnh pH mới dừng ở mức điều khiển ngưỡng đóng/ngắt rơ-le cơ bản, chưa áp dụng được các giải thuật điều khiển chuyên sâu (như PID hoặc mờ) để định lượng chính xác thể tích dung dịch đệm cần bơm.
  • Giao diện điều khiển website chỉ mới tối ưu cho trình duyệt máy tính, chưa tương thích giao diện cảm ứng trên các thiết bị di động (smartphone/tablet).

Hướng phát triển tiếp theo được đề xuất:

  • Nghiên cứu thiết kế bổ sung mạch đo chỉ số EC và cảm biến nhiệt độ dung dịch.
  • Ứng dụng giải thuật điều khiển tự động để tối ưu hóa quá trình pha chế dung dịch dinh dưỡng.
  • Phát triển ứng dụng chuyên dụng trên điện thoại thông minh (Android/iOS) hoặc thiết kế giao diện web responsive để tối ưu hóa trải nghiệm người dùng.

Giá trị tham khảo

Đồ án tốt nghiệp là tài liệu kỹ thuật có giá trị tham khảo chuyên môn cho:

  • Sinh viên ngành Kỹ thuật Điện tử, Tự động hóa và IoT: Tham khảo phương pháp kết nối UART giữa Arduino và ESP8266, kỹ thuật sử dụng jumper tách biệt đường nạp, giải pháp hiển thị LCD qua giao tiếp I2C và cách thức hiện thực hóa giao thức MQTT với mức QoS 0.
  • Sinh viên ngành Công nghệ Phần mềm/Hệ thống Thông tin: Tham khảo mô hình kiến trúc web PHP kết nối CSDL MySQL để quản lý và định danh thiết bị IoT qua địa chỉ MAC.
  • Người nghiên cứu nông nghiệp công nghệ cao: Tham khảo các thông số quang kỳ (16/8, 12/12), bảng định mức EC cho từng loại rau quả và sơ đồ kết nối thủy canh màng dinh dưỡng hồi lưu NFT.

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

1. Hệ thống phân biệt và quản lý nhiều bộ điều khiển thủy canh khác nhau bằng cơ chế nào?
Hệ thống sử dụng địa chỉ MAC (Media Access Control) duy nhất của module Wi-Fi ESP8266 NodeMCU trên mỗi thiết bị để làm mã định danh phần cứng trên máy chủ, cho phép người dùng gán nhiều profile và quản lý nhiều trạm thủy canh riêng biệt qua một tài khoản web.

2. Tại sao cần bố trí 2 jumper trên đường truyền UART giữa Arduino Uno và ESP8266?
Do cổng nạp chương trình qua USB của Arduino Uno dùng chung chân phần cứng Serial (Tx/Rx) với cổng giao tiếp của ESP8266, nên 2 jumper được sử dụng để ngắt kết nối vật lý giữa hai vi điều khiển khi nạp code, tránh xung đột tín hiệu đường truyền.

3. Mức chất lượng dịch vụ (QoS) nào của giao thức MQTT được sử dụng trong đề tài và nguyên lý hoạt động là gì?
Đề tài sử dụng mức QoS 0. Ở mức này, bản tin chỉ được gửi đi đúng một lần từ client đến broker mà không yêu cầu gói tin xác nhận phản hồi từ phía nhận, tối ưu hóa tốc độ và giảm băng thông truyền nhận cho vi điều khiển.

4. Khối tải chấp hành của hệ thống bao gồm những thiết bị nào và được điều khiển bằng điện áp bao nhiêu?
Khối tải gồm 3 động cơ máy bơm 12V DC (dùng cho bơm hồi lưu màng dinh dưỡng và bơm dung dịch cân chỉnh pH) cùng hệ thống đèn chiếu sáng quang kỳ 12V, tất cả được đóng cắt gián tiếp thông qua module relay 5V kích mức cao nhận tín hiệu từ Arduino.

5. Cảm biến pH DFRobot sử dụng trong đồ án có các thông số kỹ thuật hoạt động chính xác ra sao?
Cảm biến hoạt động ở điện áp 5V DC, dải đo từ 0 đến 14 pH, nhiệt độ hoạt động 0–60°C, độ chính xác đạt $\pm 0.1\text{ pH}$ tại 25°C và thời gian đáp ứng tín hiệu không quá 1 phút.

Kết luận

Đồ án tốt nghiệp đã thiết kế và thi công hoàn chỉnh hệ thống giám sát thủy canh hồi lưu ứng dụng công nghệ IoT, kết hợp hiệu quả giữa vi điều khiển Arduino Uno và module ESP8266. Hệ thống thực hiện thành công các chức năng đo đạc nồng độ pH, điều khiển tự động chu kỳ chiếu sáng và bơm tuần hoàn, đồng thời cho phép người dùng theo dõi và điều khiển từ xa thông qua nền tảng web dựa trên địa chỉ MAC. Mặc dù còn giới hạn ở việc chưa tích hợp mạch đo chỉ số EC và giải thuật định lượng dung dịch đệm tối ưu, kết quả của đề tài đã chứng minh tính khả thi trong việc ứng dụng công nghệ nhúng nguồn mở vào phát triển mô hình nông nghiệp sạch tại các đô thị.