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

Đề tài được thực hiện trong bối cảnh nhu cầu làm vườn cảnh tại các hộ gia đình và mô hình kinh doanh cây cảnh quy mô nhỏ ngày càng phổ biến, trong khi việc chăm sóc thủ công đòi hỏi nhiều thời gian và công sức. Tác giả xác định rằng các hệ thống vườn thông minh—bao gồm tự tưới nước, đo đạc nhiệt độ, độ ẩm, điều chỉnh ánh sáng—đã bắt đầu được triển khai tại nhiều nơi nhưng vẫn còn xa lạ với phần đông người dùng cá nhân, đặc biệt ở quy mô không gian nhỏ như ban công hay sân vườn hẹp.

Mục tiêu đề tài được tác giả xác định là tạo ra một hệ thống chăm sóc cây cảnh thông minh có khả năng:

  1. Tự động vận hành dựa trên dữ liệu cảm biến môi trường (chế độ Auto).
  2. Cho phép điều khiển thủ công từ xa thông qua ứng dụng (chế độ Manual).
  3. Lưu trữ và theo dõi dữ liệu hệ thống qua Cloud Server ThingSpeak.

Nội dung nghiên cứu bao gồm: viết chương trình cho board Node MCU ESP8266, lập trình khối cảm biến, khối giao tiếp người dùng, khối lưu trữ và khối cách ly; lắp ráp mô hình vườn cảnh thực tế; chạy thử nghiệm và điều chỉnh hệ thống.

Đối tượng nghiên cứu: Hệ thống điều khiển và giám sát vườn cảnh dựa trên vi điều khiển ESP8266, các module cảm biến và nền tảng IoT Cloud.

Phạm vi: Ứng dụng ở quy mô nhỏ, hướng đến các khu vực có diện tích hẹp như ban công hoặc sân vườn gia đình. Mô hình được xây dựng trên một thùng đựng nhỏ chất liệu bằng xốp. Đề tài hoàn thành năm 2022 tại Khoa Công nghệ Điện tử, Trường Đại học Công nghiệp Thành phố Hồ Chí Minh.


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

Khung kỹ thuật và linh kiện sử dụng

Hệ thống được thiết kế theo cấu trúc sơ đồ khối gồm sáu thành phần: khối nguồn, khối vi xử lý, khối cảm biến, khối giao tiếp người dùng, khối hiển thị, khối cách ly và khối lưu trữ.

Khối vi điều khiển — Module Wi-Fi ESP8266 Node MCU: Là trung tâm xử lý toàn bộ hệ thống. ESP8266 hỗ trợ chuẩn Wi-Fi 802.11b/g/n 2.4GHz, WPA/WPA2, ba chế độ hoạt động (Client, Access Point, Both), hỗ trợ giao thức TCP và UDP, có khả năng kết nối đồng thời tối đa 5 thiết bị.

Khối cảm biến:

Cảm biến Thông số đo Thông số kỹ thuật chính
DHT22 Nhiệt độ, độ ẩm không khí Nguồn 3–5VDC; dải đo −40 đến 80°C (sai số ±0.x°C); độ ẩm 0–100%RH (sai số 2–5%); khoảng cách truyền 20m
Soil Moisture Sensor Độ ẩm đất Nguồn 3.xV; đầu ra Analog và Digital; tích hợp mạch so sánh LM393
Photoresistor (LDR) Ánh sáng môi trường Nguồn 3.xV; đầu ra Digital; điều chỉnh ngưỡng qua biến trở
Cảm biến mưa Phát hiện nước mưa Nguồn 5V; đầu ra Digital TTL (0VDC/5VDC) và Analog A0

Khối giao tiếp người dùng — App Blynk: Nền tảng IoT hỗ trợ ba thành phần chính là Blynk App (giao diện kéo thả widget), Blynk Server (xử lý trung tâm), và Blynk Library (hỗ trợ phần cứng). Cho phép điều khiển từ smartphone và máy tính, gửi thông báo real-time, lưu lịch sử dữ liệu.

Khối lưu trữ — ThingSpeak: Nền tảng cloud của MATLAB, cho phép thu thập, phân tích và hiển thị dữ liệu cảm biến theo thời gian thực. Hoạt động theo ba bước: thu thập dữ liệu → phân tích dữ liệu → thực hiện hành động. Kết hợp với MATLAB để phân tích dữ liệu chuyên sâu.

Khối hiển thị: Màn hình LCD 1602 xanh lá (điện áp hoạt động ổn định 2.xV; nhiệt độ hoạt động −30 đến 75°C).

Khối cách ly: Module Relay 12VDC 1 kênh H/L, hoạt động như công tắc điện từ để cách ly mạch điều khiển và mạch công suất.

Khối nguồn: Adapter AC-DC 5V–2A (điện áp vào AC 100V–220V 50–60Hz; công suất hiệu quả 95%).

Phương pháp nghiên cứu

Đề tài áp dụng phương pháp thiết kế và thi công hệ thống nhúng (embedded system design), bao gồm: phân tích sơ đồ khối, lựa chọn linh kiện, vẽ sơ đồ nguyên lý và sơ đồ kết nối từng khối, lập trình firmware cho Node MCU ESP8266, tích hợp nền tảng đám mây ThingSpeak và ứng dụng Blynk, sau đó thử nghiệm thực tế trên mô hình vật lý.


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

Chương 1: Tổng quan đề tài

Chương này trình bày lý do chọn đề tài xuất phát từ nhu cầu thực tiễn về chăm sóc vườn cảnh tự động tại quy mô hộ gia đình. Tác giả xác định rõ mục tiêu, đối tượng, phạm vi, giới hạn kỹ thuật (board Node MCU ESP8266; mô hình xốp; phạm vi ứng dụng nhỏ) và ý nghĩa thực tiễn của đề tài, đồng thời trình bày bố cục năm chương của báo cáo.

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

Chương này phân tích chi tiết sơ đồ khối tổng thể của hệ thống và đi sâu vào từng thành phần linh kiện. Mỗi module được trình bày gồm: hình ảnh thực tế, thông số kỹ thuật, sơ đồ chân và nguyên lý hoạt động. Đáng chú ý là phần giới thiệu ThingSpeak với các tính năng chính: cấu hình thiết bị gửi dữ liệu qua giao thức truyền thông, xem dữ liệu thời gian thực, sử dụng MATLAB để phân tích, và khả năng xây dựng hệ thống IoT không cần server riêng. Nền tảng Blynk được phân tích với ba chế độ kết nối: Wi-Fi, Bluetooth, USB, GSM.

Chương 3: Phân tích và thiết kế hệ thống

Chương này trình bày sơ đồ kết nối toàn mạch và sơ đồ kết nối từng khối cảm biến với vi điều khiển ESP8266. Cụ thể:

  • Khối giao tiếp người dùng: Tín hiệu từ cảm biến qua ESP8266 được đẩy lên Blynk App, hiển thị đồng thời trên smartphone và máy tính. Người dùng có thể điều khiển ngược lại từ app xuống vi điều khiển.
  • Cảm biến ánh sáng (LDR): Khi trời tối, tín hiệu gửi về ESP8266 → hệ thống tự bật đèn (chế độ Auto) hoặc thông báo để người dùng tự bật (chế độ Manual).
  • Cảm biến DHT22: Đo nhiệt độ, độ ẩm môi trường → hiển thị LCD 1602 + app + lưu ThingSpeak.
  • Cảm biến mưa: Khi nước tiếp xúc bề mặt cảm biến → cảnh báo mưa trên LCD và app → hệ thống tự ngắt bơm (Auto) hoặc chờ lệnh người dùng (Manual).
  • Cảm biến độ ẩm đất: Cắm vào đất vườn → đo độ ẩm liên tục → kích hoạt bơm tưới khi dưới ngưỡng cài đặt.

Phần cấu hình ThingSpeak mô tả chi tiết quy trình: tạo tài khoản tại thingspeak.com, thiết lập channel, cấu hình hiển thị các trường nhiệt độ (t), độ ẩm (h) và độ ẩm đất (value), lấy Channel ID, Write API Key và Read API Keys, khai báo lệnh code đẩy dữ liệu lên cloud với delay cập nhật 500ms.

Chương 4: Thi công hệ thống

Chương này mô tả kết quả vận hành thực tế của ba hệ thống con:

Hệ thống tưới tiêu: LCD 1602 hiển thị năm tham số T (nhiệt độ), H (độ ẩm), M (độ ẩm đất), L (đèn: 0=sáng/1=tắt), R (mưa: 0=mưa/1=không mưa). Tác giả cài ngưỡng độ ẩm đất M=15; khi cảm biến đo được M:1 (đất khô), bơm kích hoạt; sau khi tưới, giá trị đo được M:49 → bơm tự ngắt. Người dùng có thể điều chỉnh ngưỡng qua app Blynk.

Hệ thống điều hòa nhiệt độ: Mô hình trồng cây sen đá với dải nhiệt độ thích hợp 15–35°C và độ ẩm 30–70%. Cảm biến DHT22 đo được T:32.90°C; khi người dùng cài ngưỡng nhiệt độ 31°C trên app (thấp hơn giá trị thực tế), hệ thống nhận tín hiệu vượt ngưỡng → quạt kích hoạt.

Hệ thống thông báo: Gồm thông báo mưa (R:1 = không mưa; R:0 = đang mưa, hiển thị trên LCD và app) và thông báo đèn (cảm biến LDR phát hiện tối → đèn bật, biểu tượng trên app đổi màu).

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

Chương này tổng kết kết quả đạt được, chỉ ra nhược điểm của hệ thống và đề xuất hướng phát triển tiếp theo.


Thiết kế và triển khai

Kiến trúc hệ thống

Hệ thống hoạt động theo mô hình phân tán ba lớp:

  1. Lớp cảm biến và chấp hành: DHT22, LDR, Soil Moisture Sensor, cảm biến mưa kết nối trực tiếp với các chân GPIO của ESP8266; Module Relay 12VDC 1 kênh điều khiển bơm, quạt và đèn.
  2. Lớp vi điều khiển: Node MCU ESP8266 xử lý tín hiệu cảm biến, thực thi logic điều khiển Auto/Manual, truyền dữ liệu lên cloud và nhận lệnh từ app thông qua Wi-Fi.
  3. Lớp cloud và giao diện: ThingSpeak lưu trữ và hiển thị dữ liệu lịch sử; Blynk App cung cấp giao diện điều khiển thời gian thực trên smartphone và máy tính.

Công nghệ và giao thức

  • Vi điều khiển: ESP8266 Node MCU; giao thức UART (TX/RX) để nạp code.
  • Kết nối: Wi-Fi 802.11b/g/n; TCP/UDP.
  • Cloud: ThingSpeak (sản phẩm của MATLAB); xác thực qua Channel ID, Write API Key và Read API Keys.
  • Giao diện người dùng: Blynk App (Blynk Cloud Server); widget kéo thả; vòng tròn hiển thị trạng thái bơm, biểu tượng đèn và mưa đổi màu theo trạng thái.
  • Hiển thị nội bộ: LCD 1602 (giao tiếp với ESP8266).
  • Tần số cập nhật dữ liệu lên ThingSpeak: delay 500ms.

Chế độ vận hành

Hệ thống hỗ trợ hai chế độ song song:

  • Chế độ Auto: Hệ thống tự động ra quyết định dựa trên ngưỡng cài đặt (ngưỡng độ ẩm đất, ngưỡng nhiệt độ); bơm/quạt/đèn hoạt động mà không cần can thiệp của người dùng.
  • Chế độ Manual: Người dùng nhận thông báo qua Blynk App và điều khiển thủ công từng thiết bị.

Thử nghiệm thực tế

Toàn bộ hệ thống được lắp đặt và chạy thử trên mô hình vật lý (thùng xốp) trồng cây sen đá. Các kịch bản thử nghiệm đã được thực hiện bao gồm: kích hoạt và ngắt hệ thống tưới tiêu theo ngưỡng M=15; điều hòa nhiệt độ với ngưỡng T=31°C; phát hiện mưa qua giá trị R:0/R:1; bật/tắt đèn theo ánh sáng môi trường. Kết quả mỗi kịch bản được xác nhận qua LCD 1602, Blynk App và ThingSpeak Private View.


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

Kết quả chính:

  • Hệ thống tưới tiêu vận hành đúng theo ngưỡng cài đặt: cảm biến đo M:1 (đất khô) → bơm kích hoạt; sau khi tưới đo được M:49 → bơm tự ngắt.
  • Hệ thống điều hòa nhiệt độ hoạt động chính xác: DHT22 đo T:32.90°C; khi ngưỡng cài trên app là 31°C → quạt quay.
  • Hệ thống thông báo mưa (R:0 / R:1) và thông báo đèn hoạt động đồng bộ trên LCD 1602 và Blynk App.
  • Dữ liệu nhiệt độ, độ ẩm và độ ẩm đất được cập nhật liên tục lên ThingSpeak với chu kỳ 500ms và hiển thị dạng đồ thị theo thời gian thực.

Giải pháp đề xuất:

  • Sử dụng board Node MCU ESP8266 làm bộ điều khiển trung tâm, kết hợp ThingSpeak và Blynk để xây dựng hệ thống IoT không cần server riêng.
  • Cho phép người dùng tùy chỉnh các ngưỡng tham số (độ ẩm đất, nhiệt độ) phù hợp với từng loại cây cảnh thông qua app.
  • Hệ thống có thể cài đặt thêm các thông số riêng biệt theo đặc tính sinh trưởng của từng loại cây.

Đóng góp: Đề tài xây dựng hoàn chỉnh một mô hình vườn cảnh thông minh tích hợp cả hai chế độ Auto và Manual, kết hợp lưu trữ dữ liệu đám mây qua ThingSpeak, phù hợp với quy mô hộ gia đình và mô hình kinh doanh cây cảnh nhỏ — hướng đến thay thế phương thức làm vườn thủ công truyền thống.


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

Nhược điểm được tác giả ghi nhận: Đề tài còn hạn chế về kiến thức và thời gian thực hiện, dẫn đến những thiếu sót chưa được khắc phục triệt để. Hệ thống chỉ áp dụng ở quy mô nhỏ trên một mô hình thùng xốp, chưa được triển khai thực tế ở vườn diện tích lớn hơn.

Hướng phát triển: Tác giả đề xuất hoàn thiện và mở rộng hệ thống để có thể ứng dụng vào đời sống thực tế, khắc phục các nhược điểm hiện tại, đồng thời nâng cao khả năng đáp ứng của hệ thống với nhiều điều kiện môi trường và loại cây cảnh khác nhau.

Ngoài ra, dựa trên phạm vi hiện tại, có thể nhận thấy một số hướng mở tiềm năng như: mở rộng số lượng cảm biến và thiết bị chấp hành; tích hợp thêm tính năng phân tích dữ liệu lịch sử bằng MATLAB trên ThingSpeak; nâng cấp lên vi điều khiển mạnh hơn để xử lý nhiều luồng dữ liệu đồng thời; triển khai trên diện tích vườn lớn hơn.


Giá trị tham khảo

Đề tài có giá trị tham khảo chủ yếu cho các nhóm đối tượng sau:

  • Sinh viên ngành Điện tử – Viễn thông, Kỹ thuật điện và Công nghệ thông tin đang tìm hiểu về lập trình nhúng với ESP8266, tích hợp cảm biến môi trường và triển khai ứng dụng IoT thực tế.
  • Sinh viên làm đồ án tốt nghiệp về chủ đề nhà thông minh, nông nghiệp thông minh hoặc IoT quy mô nhỏ có thể tham khảo cấu trúc sơ đồ khối, cách kết hợp Blynk và ThingSpeak, và quy trình cấu hình API Key.
  • Người thực hiện đề tài tương tự có thể tham khảo phần Chương 2 (thông số kỹ thuật linh kiện và sơ đồ chân), Chương 3 (quy trình cấu hình ThingSpeak từng bước) và Chương 4 (kịch bản thử nghiệm thực tế với số liệu cụ thể).
  • Người đam mê DIY và làm vườn thông minh muốn tự xây dựng hệ thống tưới tiêu và giám sát cây cảnh tại nhà với chi phí thấp.

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

1. Hệ thống sử dụng ngưỡng độ ẩm đất như thế nào để kích hoạt bơm tưới? Người dùng tự cài đặt ngưỡng độ ẩm đất trên app Blynk. Trong thử nghiệm, tác giả cài ngưỡng M=15; khi cảm biến đo được M:1 (đất khô, dưới ngưỡng), bơm tự động bật. Sau khi tưới, giá trị đo được M:49 (vượt ngưỡng 15), hệ thống tự ngắt bơm.

2. Giá trị R:0 và R:1 trên LCD 1602 có ý nghĩa gì? R là ký hiệu cho trạng thái cảm biến mưa: R:1 biểu thị không có mưa (không có nước tiếp xúc bề mặt cảm biến); R:0 biểu thị trời đang mưa (giọt nước tiếp xúc bề mặt cảm biến). Thông tin này đồng thời được hiển thị trên app Blynk dưới dạng biểu tượng đổi màu.

3. Dữ liệu từ cảm biến được đẩy lên ThingSpeak với tần suất như thế nào và bằng cách nào? Dữ liệu được cập nhật lên ThingSpeak Private View liên tục với delay 500ms. Kết nối thực hiện qua ESP8266 sử dụng Wi-Fi và xác thực bằng Channel ID, Write API Key và Read API Keys lấy từ tài khoản ThingSpeak. Các biến được khai báo gồm: t (nhiệt độ), h (độ ẩm) và value (độ ẩm đất).

4. Loại cây được trồng trong mô hình thử nghiệm là gì và điều kiện môi trường thích hợp của nó? Mô hình trồng cây sen đá, với dải nhiệt độ thích hợp khoảng 15–35°C và độ ẩm môi trường trong khoảng 30–70%. Trong thử nghiệm, DHT22 đo được T:32.90°C, nằm trong ngưỡng thích hợp, nên quạt không kích hoạt cho đến khi người dùng cài ngưỡng nhiệt độ xuống 31°C trên app.

5. Hệ thống điều khiển đèn dựa trên nguyên tắc nào? Hệ thống sử dụng cảm biến ánh sáng Photoresistor (LDR). Khi ánh sáng môi trường thấp (trời tối), điện trở LDR tăng, tín hiệu gửi về ESP8266 → ở chế độ Auto, đèn tự động bật để hỗ trợ cây quang hợp; ở chế độ Manual, thông tin được gửi đến app Blynk và người dùng tự quyết định bật/tắt. Trạng thái đèn hiển thị trên LCD là L:0 (đèn sáng) và L:1 (đèn tắt).


Kết luận

Đề tài "Điều khiển và giám sát hệ thống chăm sóc cây cảnh sử dụng Cloud Server ThingSpeak" đã hoàn thiện một hệ thống IoT quy mô nhỏ tích hợp bốn loại cảm biến môi trường (DHT22, LDR, Soil Moisture, cảm biến mưa) với vi điều khiển ESP8266, nền tảng Blynk App và cloud ThingSpeak. Hệ thống vận hành được cả chế độ tự động (Auto) lẫn điều khiển thủ công (Manual), với kết quả thử nghiệm cụ thể trên mô hình trồng cây sen đá. Dữ liệu môi trường được lưu trữ và hiển thị theo thời gian thực trên ThingSpeak với chu kỳ cập nhật 500ms, đáp ứng yêu cầu giám sát từ xa qua smartphone và máy tính. Đề tài đặt nền tảng cho các hướng phát triển tiếp theo nhằm mở rộng quy mô và nâng cao khả năng thích ứng với nhiều loại cây cảnh khác nhau.