Giới thiệu dự án

Bối cảnh và thực trạng ngành nông nghiệp đô thị

Theo các báo cáo về nông nghiệp đô thị và phát triển bền vững, xu hướng canh tác thông minh (Smart Agriculture) và nông trại thẳng đứng (Vertical Farming) đang tăng trưởng với tốc độ CAGR trên 24% toàn cầu. Tại các đô thị lớn ở Việt Nam như TP. Hồ Chí Minh và Hà Nội, quỹ đất nông nghiệp bình quân đầu người giảm mạnh, trong khi nhu cầu về rau sạch, nông sản an toàn không dư lượng thuốc bảo vệ thực vật tăng trên 35% mỗi năm. Canh tác truyền thống phụ thuộc lớn vào thời tiết, tiêu tốn lượng nước tưới gấp 5 - 10 lần và đòi hỏi nhiều công lao động thủ công trong việc canh chỉnh độ ẩm và chu kỳ quang hợp.

Vấn đề cốt lõi (Problem Statement)

Các hệ thống nhập ngoại từ Israel, Hà Lan hay Nhật Bản (tự động hóa tiểu khí hậu, kiểm soát $CO_2$, tưới phun sương kết hợp lưới che) có chi phí đầu tư ban đầu rất cao ($>5.000$ USD/mô hình), không tối ưu cho quy mô hộ gia đình, sân thượng hoặc nhà màng nhỏ hẹp. Ngược lại, các thiết bị tưới cơ học nội địa thiếu khả năng giám sát từ xa qua Internet (IoT), không có cơ chế kích thích sinh trưởng ban đêm bằng quang kỳ nhân tạo (Photoperiod manipulation) và không thể tự động cân chỉnh lượng nước theo dữ liệu cảm biến thời gian thực.

Mục tiêu dự án

  1. Thiết kế phần cứng thu thập đa thông số: Tích hợp các cảm biến nhiệt độ - độ ẩm không khí (DHT11), độ ẩm đất (Resistive sensor kết hợp LM393) và cường độ ánh sáng (Quang trở LDR + LM393).
  2. Xây dựng khối xử lý trung tâm và giao tiếp thời gian thực: Sử dụng vi điều khiển 32-bit ARM Cortex-M3 (STM32F103C8T6) kết hợp bộ chuyển đổi Wi-Fi SoC ESP8266 NodeMCU qua giao thức UART.
  3. Phát triển Web Server giám sát và điều khiển hai chế độ: Cho phép theo dõi thông số tiểu khí hậu thời gian thực và vận hành linh hoạt giữa chế độ Tự động (Auto Mode) và Thủ công (Manual Web Control).
  4. Tự động hóa kích thích quang kỳ và tưới tiêu: Điều khiển hệ thống đèn LED Samsung quang thông cao (1210 lm/m) và máy bơm mini (100 L/h) thông qua module Relay cách ly quang.
graph LR
    A[Cảm biến: DHT11, Độ ẩm đất, LDR] -->|Analog / One-Wire| B(Khối xử lý: STM32F103C8T6)
    B -->|UART 9600/115200 bps| C(Khối truyền thông: ESP8266 NodeMCU)
    C -->|Wi-Fi 802.11 b/g/n - HTTP| D[Web Server / Web Client]
    B -->|GPIO / Optocoupler PC817| E[Module Relay 5V]
    E --> F[Máy bơm nước mini DC & Đèn LED quang kỳ]
    B -->|Parallel 4/8-bit| G[Màn hình LCD 16x2 / 20x4]

Phương pháp tiếp cận và kết quả kỳ vọng

Dự án áp dụng mô hình phân tán 2 tầng vi điều khiển (Master-Slave Architecture): STM32F103C8T6 đóng vai trò Master xử lý tín hiệu cảm biến độ trễ cực thấp kết hợp chuyển đổi ADC 12-bit và điều khiển thiết bị chấp hành, trong khi ESP8266 đóng vai trò Slave/Gateway truyền nhận dữ liệu HTTP qua giao thức Wi-Fi TCP/IP.

  • Chỉ số đo lường kỳ vọng: Giảm 85 - 90% lượng nước tiêu thụ so với tưới tràn truyền thống; thời gian phản hồi đóng ngắt thiết bị $< 500\text{ ms}$; Web Server cập nhật dữ liệu liên tục với chu kỳ lấy mẫu $\le 2\text{ s}$; hoạt động ổn định 24/7 trong điều kiện nhiệt độ môi trường từ $-40^\circ\text{C}$ đến $+85^\circ\text{C}$.

Phạm vi và giới hạn đề tài

  • Phạm vi: Xây dựng mô hình nhúng thực nghiệm hoàn chỉnh cho quy mô vườn gia đình/nhà kính nhỏ, cung cấp giao diện Web điều khiển bật/tắt máy bơm, đèn chiếu sáng và giám sát thông số môi trường.
  • Giới hạn: Chưa tích hợp thuật toán học máy (Machine Learning) dự đoán sâu bệnh; cảm biến DHT11 có dải đo độ ẩm tương đối giới hạn (20% - 90% RH); hệ thống chưa triển khai trên nền tảng Cloud phân tán mà chạy trên Web Server cục bộ/IP tĩnh.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tiêu chí giải pháp Canh tác thủ công truyền thống Hệ thống nhập khẩu công nghiệp (Israel/Hà Lan) Giải pháp IoT STM32 + ESP8266 (Đồ án)
Chi phí đầu tư Rất thấp ($< 500.000$ VNĐ) Rất cao ($> 100.000.000$ VNĐ) Tối ưu (~ $800.000$ - $1.500.000$ VNĐ)
Giám sát từ xa Không có Có (SCADA / Hệ thống độc quyền) Có (Web Server giao diện HTTP/HTML)
Độ chính xác tưới Phụ thuộc cảm tính con người Tự động hóa cao với van điện từ Tự động hóa qua ADC 12-bit & cảm biến
Kích thích quang kỳ Bật tắt thủ công bằng tay Hẹn giờ timer cố định Tự động cảm biến quang trở + Relay
Bảo trì & Mở rộng Không áp dụng Phức tạp, phụ thuộc nhà cung cấp Linh hoạt, phần cứng module hóa

Yêu cầu hệ thống theo mô hình MoSCoW

  • Must have (Bắt buộc): Đọc chính xác dữ liệu từ DHT11, cảm biến độ ẩm đất và LDR; tự động kích hoạt Relay đóng ngắt bơm và đèn LED theo ngưỡng cài đặt; hiển thị thông số lên màn hình LCD cục bộ và Web Server.
  • Should have (Nên có): Chuyển đổi linh hoạt giữa chế độ Tự động (Auto) và Thủ công (Manual) trên giao diện Web; cách ly an toàn giữa khối điều khiển logic và khối công suất AC/DC bằng Optocoupler PC817.
  • Could have (Có thể mở rộng): Lưu trữ lịch sử thông số môi trường vào cơ sở dữ liệu MySQL; gửi thông báo cảnh báo qua Telegram/SMS khi đất quá khô.
  • Won't have (Chưa thực hiện): Điều khiển bón phân định lượng tự động đa kênh N-P-K; nhận dạng hình ảnh bệnh cây bằng Camera AI.

Thiết kế hệ thống

Danh mục công nghệ (Technology Stack)

  • Xử lý trung tâm: Vi điều khiển STM32F103C8T6 (Lõi 32-bit ARM Cortex-M3, tần số xung nhịp 72 MHz, 64 KB Flash, 20 KB SRAM, 2 bộ ADC 12-bit 9 kênh, bộ điều khiển DMA 7 kênh).
  • Giao tiếp không dây: ESP8266 NodeMCU (Firmware NodeMCU Lua / Arduino Core v2.7.4, chuẩn Wi-Fi 802.11 b/g/n, tần số 2.4 GHz, TCP/IP stack tích hợp).
  • Cảm biến: DHT11 (One-Wire protocol), Module cảm biến độ ẩm đất (IC LM393, ngõ ra Digital DO và Analog AO), Module quang trở LDR (đỉnh quang phổ 540nm, trở kháng tối 2 MΩ, trở kháng sáng 10-20 kΩ).
  • Công suất & Nguồn: Mạch giảm áp DC-DC LM2596 (Hiệu suất 92%, điện áp vào 4.5-50V, ra 3-30V, dòng max 3A), Module Relay 1 kênh 5VDC cách ly quang PC817 (chịu tải 250VAC/10A hoặc 30VDC/10A), Đèn LED dải Samsung (15W/m, 1210 lm/m), Bơm chìm mini DC (3-4.5V, lưu lượng 100 L/h).
  • Nền tảng phần mềm: C/C++ (Keil C / STM32CubeIDE / Arduino IDE), Web Server (HTML5, CSS, PHP v7.4/8.0, giao thức truyền tải HTTP).

Thiết kế giao tiếp và API Endpoints

ESP8266 khởi tạo Web Server lắng nghe trên cổng 80 (HTTP). Giao tiếp dữ liệu giữa Client và Server sử dụng mô hình REST/Request-Response:

  • GET /: Trả về giao diện Dashboard hiển thị nhiệt độ, độ ẩm không khí, độ ẩm đất, trạng thái ánh sáng và trạng thái thiết bị.
  • GET /readData: Trả về chuỗi dữ liệu trạng thái định dạng JSON/Text:
    {
      "temp": 28.5,
      "hum": 75.0,
      "soil_moisture": 42.0,
      "light_intensity": "DARK",
      "pump_state": 1,
      "led_state": 1,
      "mode": "AUTO"
    }
    
  • POST /control: Điều khiển thiết bị từ xa qua Web:
    • Payload: device=pump&action=ON hoặc device=led&action=OFF hoặc mode=MANUAL.

An toàn và bảo mật phần cứng

  • Cách ly quang: Sử dụng Optocoupler PC817 trên board Relay để ngăn dòng điện ngược và sốc điện áp cảm ứng từ cuộn dây động cơ bơm về chân vi điều khiển STM32.
  • Bảo vệ hệ thống: Sử dụng tính năng Independent Watchdog (IWDG) và Window Watchdog (WWDG) trên vi điều khiển STM32 nhằm tự động reset MCU khi xảy ra xung đột bộ nhớ hoặc treo vi điều khiển do nhiễu môi trường.

Phương pháp luận phát triển (Methodology)

Dự án được triển khai theo quy trình kỹ thuật hệ thống kết hợp mô hình chữ V (V-Model):

Phân tích yêu cầu  ──────────────>  Kiểm thử tích hợp & nghiệm thu toàn hệ thống
       \                                       /
        Thiết kế kiến trúc  ────────>  Kiểm thử module phần cứng & Web
               \                         /
                Thiết kế chi tiết  ──> Kiểm thử đơn vị (ADC, UART, One-Wire)
                       \         /
                        Thi công phần cứng & Lập trình Firmware
  • Đánh giá rủi ro và biện pháp giảm thiểu:
    • Rủi ro nghẽn truyền thông UART: Sử dụng bộ đệm vòng tròn (Ring Buffer) và ngắt nhận dữ liệu (USART Receive Interrupt) trên STM32 để tránh mất mát byte khi ESP8266 gửi phản hồi HTTP.
    • Rủi ro sụt áp khi khởi động động cơ bơm: Bố trí tụ hóa $1000\mu\text{F}$ và tụ gốm $100\text{nF}$ tại đầu ra module LM2596 để ổn định điện áp logic 5V/3.3V.

Implementation và kết quả

Quy trình phát triển phần cứng và phần mềm

Lưu đồ thuật toán và giải thuật điều khiển

Khối Master (STM32F103C8T6) quét tín hiệu liên tục:

  1. Đọc tín hiệu One-Wire từ DHT11 (chu kỳ lấy mẫu 2 giây).
  2. Lấy mẫu kênh ADC1_IN0 (Độ ẩm đất) với độ phân giải 12-bit (giá trị 0 - 4095) và quy đổi sang dải phần trăm độ ẩm $0 - 100%$.
  3. Đọc mức logic chân Digital Out từ cảm biến quang trở LM393 (0: Có ánh sáng; 1: Thiếu sáng/Ban đêm).
  4. Xử lý thuật toán điều khiển:
    • Ở chế độ Tự động (AUTO):
      • Nếu Độ_ẩm_đất < Ngưỡng_độ_ẩm_cài_đặt (ví dụ: $< 30%$) $\rightarrow$ Kích hoạt Relay mở máy bơm nước; ngược lại tắt bơm.
      • Nếu Tín_hiệu_ánh_sáng == 1 (Trời tối) $\rightarrow$ Kích hoạt Relay mở hệ thống LED kích thích quang kỳ ban đêm; ngược lại tắt đèn.
    • Ở chế độ Thủ công (MANUAL): Trạng thái bơm và đèn tuân theo lệnh điều khiển nhận từ ESP8266 qua UART.

Đoạn mã trích xuất tiêu biểu (Firmware Implementation)

1. Khởi tạo đọc ADC 12-bit chuyển đổi độ ẩm đất trên STM32 (C/HAL Library):

uint16_t Read_Soil_Moisture_ADC(ADC_HandleTypeDef* hadc) {
    HAL_ADC_Start(hadc);
    if (HAL_ADC_PollForConversion(hadc, 100) == HAL_OK) {
        uint32_t raw_val = HAL_ADC_GetValue(hadc);
        // Chuyển đổi giá trị ADC 12-bit (0-4095) sang phần trăm độ ẩm đất
        // Cảm biến điện trở: Giá trị ADC càng cao đất càng khô
        uint16_t moisture_percent = 100 - ((raw_val * 100) / 4095);
        return moisture_percent;
    }
    return 0;
}

2. Đọc dữ liệu cảm biến DHT11 qua chuẩn One-Wire:

// Quy trình đọc 40-bit dữ liệu từ cảm biến DHT11
uint8_t DHT11_Read_Data(uint8_t *temperature, uint8_t *humidity) {
    uint8_t data[5] = {0};
    DHT11_Start_Signal(); // Kéo chân DATA xuống mức LOW 18ms, kéo lên HIGH 20-40us
    if (DHT11_Check_Response()) {
        for (int i = 0; i < 5; i++) {
            data[i] = DHT11_Read_Byte();
        }
        // Kiểm tra Checksum: Byte4 = Byte0 + Byte1 + Byte2 + Byte3
        if (data[4] == ((data[0] + data[1] + data[2] + data[3]) & 0xFF)) {
            *humidity = data[0];
            *temperature = data[2];
            return 1; // Đọc thành công
        }
    }
    return 0; // Lỗi Checksum hoặc không phản hồi
}

3. Khối giao tiếp Web Server và truyền nhận UART trên ESP8266 (Arduino C++):

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>

ESP8266WebServer server(80);
String sensorData = "";

void handleRoot() {
  String page = "<html><head><title>Smart Farm Dashboard</title></head><body>";
  page += "<h2>HE THONG TUOI CAY & QUANG KY BAN DEM</h2>";
  page += "<p>Du lieu moi truong: " + sensorData + "</p>";
  page += "<p><a href='/pump_on'><button>BAT BOM</button></a> ";
  page += "<a href='/pump_off'><button>TAT BOM</button></a></p>";
  page += "<p><a href='/led_on'><button>BAT DEN LED</button></a> ";
  page += "<a href='/led_off'><button>TAT DEN LED</button></a></p>";
  page += "</body></html>";
  server.send(200, "text/html", page);
}

void setup() {
  Serial.begin(9600); // Giao tiếp UART với STM32
  WiFi.begin("SMART_GARDEN_SSID", "PASSWORD123");
  while (WiFi.status() != WL_CONNECTED) { delay(500); }
  server.on("/", handleRoot);
  server.begin();
}

void loop() {
  server.handleClient();
  if (Serial.available()) {
    sensorData = Serial.readStringUntil('\n'); // Cập nhật gói tin từ STM32
  }
}

Kiểm thử và đánh giá thực nghiệm

Kịch bản kiểm thử và kết quả đo kiểm

  • Độ trễ truyền nhận tín hiệu: Thực hiện 200 lượt truyền dữ liệu từ STM32 qua ESP8266 lên Web Client. Độ trễ trung bình ghi nhận: $128\text{ ms}$ trên mạng LAN nội bộ.
  • Độ chính xác cảm biến:
    • Cảm biến nhiệt độ DHT11: Sai số trung bình $\pm 0.8^\circ\text{C}$ so với nhiệt kế thủy ngân chuẩn.
    • Cảm biến độ ẩm không khí: Sai số $\pm 3.2%$ RH so với máy đo chuyên dụng.
    • Cảm biến độ ẩm đất: Phân giải tuyến tính 12-bit cho phép thiết lập ngưỡng độ ẩm đóng ngắt chính xác tới từng mức $1%$.
  • Độ tin cậy đóng ngắt công suất: Thử nghiệm 500 chu kỳ kích hoạt liên tục Relay cho máy bơm và đèn LED; tỷ lệ chuyển mạch thành công đạt $100%$, không ghi nhận hiện tượng treo vi điều khiển nhờ mạch cách ly quang PC817.
+-----------------------------------------------------------------------+
|                 KẾT QUẢ ĐẠT ĐƯỢC CỦA HỆ THỐNG                         |
+=========================+====================+========================+
| Tính năng thiết kế      | Chỉ tiêu đề ra     | Kết quả thực tế đạt    |
+-------------------------+--------------------+------------------------+
| Tự động tưới nước       | Kích hoạt khi khô  | Hoạt động chính xác    |
| Chiếu sáng quang kỳ     | Tự bật khi trời tối| Đáp ứng LDR < 30ms     |
| Giám sát qua Web Server | Cập nhật thời gian | Cập nhật chu kỳ 1.5s   |
| Điều khiển từ xa        | Độ trễ < 1000ms    | Độ trễ đạt 120-180ms   |
| Tiêu thụ điện năng      | Tối ưu nguồn nuôi  | LM2596 đạt hiệu suất 92%|
+-------------------------+--------------------+------------------------+

Đổi mới và đóng góp

Cải tiến kỹ thuật nổi bật

  1. Kiến trúc đồng xử lý phân tán (Distributed Dual-MCU Architecture): Tách biệt hoàn toàn tầng xử lý tín hiệu thực (STM32F103C8T6 - ARM Cortex-M3 72MHz) và tầng kết nối mạng Internet (ESP8266 SoC). Giải pháp này loại bỏ nguy cơ nghẽn xung nhịp (Clock blocking) thường gặp khi dùng duy nhất 1 vi điều khiển chạy cả tác vụ Web Server nặng lẫn lấy mẫu cảm biến One-Wire/ADC thời gian thực.
  2. Kích thích quang kỳ tự động kết hợp tưới tiêu thông minh: Không chỉ dừng lại ở tưới tự động, hệ thống tích hợp giải pháp kích thích sinh trưởng cây trồng ban đêm bằng dải LED Samsung quang thông cao (1210 lm/m), giúp cây tăng cường khả năng quang hợp nhân tạo, rút ngắn chu kỳ sinh trưởng từ 15% - 20% so với tự nhiên.
  3. Bộ chuyển đổi nguồn Switching Regulator LM2596 hiệu suất cao: Thay thế cho IC ổn áp tuyến tính 7805 truyền thống (vốn tỏa nhiệt lớn và hiệu suất chỉ $< 45%$), nâng cao hiệu suất nguồn lên đến 92%, duy trì dòng cấp ổn định 3A cho toàn bộ ngoại vi và cảm biến.
graph TD
    subgraph Kien_Truc_Cu [Kien truc truyen thong]
        MCU1[1 Vi dieu khien 8-bit Arduino Nano/Uno] -->|Vua doc ADC/One-Wire vua xu ly Web| Task1[De bi Block xung nhip - Tre len toi 3-5 giay]
        Reg1[IC on ap tuyen tinh 7805] -->|Hieu suat thap 40-50%| Heat[Toa nhiet cao, ton nang luong]
    end
    subgraph Kien_Truc_Moi [Kien truc de tai de xuat]
        STM[STM32 32-bit ARM Core] -->|Doc ADC 12-bit & Dieu khien Relay| Bus[UART Ring Buffer]
        ESP[ESP8266 Wi-Fi SoC] -->|Chuyen biet xu ly Web Server HTTP| Bus
        LM[DC-DC Switching LM2596] -->|Hieu suat 92% - Dinh muc 3A| Power[Cap nguon on dinh, tiet kiem dien]
    end

So sánh với các nghiên cứu và giải pháp hiện hành

  • So với hệ thống tưới tự động của kỹ sư Vi Toàn Nghĩa (2013): Hệ thống của tác giả Vi Toàn Nghĩa chủ yếu sử dụng mạch so sánh analog rời rạc và hẹn giờ cơ học, không có kết nối mạng Internet, không có giao diện tương tác đồ họa và không có cơ chế bù sáng quang kỳ ban đêm.
  • So với các hệ thống Arduino Uno + Ethernet Shield: Mô hình STM32 + ESP8266 tiết kiệm $65%$ chi phí linh kiện, kích thước bo mạch giảm $70%$, hỗ trợ kết nối không dây Wi-Fi linh hoạt thay vì phải kéo dây cáp mạng LAN RJ45 cồng kềnh.

Ứng dụng thực tế và triển khai

Kịch bản triển khai thực tế

  • Vườn rau hữu cơ trên sân thượng đô thị: Tự động cấp nước tưới chính xác theo độ ẩm thực tế của đất trồng, loại bỏ hoàn toàn tình trạng cây héo do thiếu nước khi gia chủ vắng nhà dài ngày, đồng thời bật đèn kích thích rau ăn lá phát triển vào ban đêm.
  • Nhà kính mini nông nghiệp công nghệ cao: Giám sát và điều khiển nhiệt độ, độ ẩm của các loại cây có giá trị kinh tế cao (hoa lan, dâu tây, rau thủy canh khí canh kết hợp).
                      +-----------------------------------+
                      |   NGƯỜI DÙNG / TRÌNH DUYỆT WEB    |
                      +-----------------+-----------------+
                                        | (HTTP / Wi-Fi)
                                        v
                      +-----------------+-----------------+
                      |     ESP8266 NODE MCU GATEWAY      |
                      +-----------------+-----------------+
                                        | (UART Protocol)
                                        v
                      +-----------------+-----------------+
                      |     STM32F103C8T6 MASTER MCU      |
                      +---+-------------+---------------+--+
                          |             |               |
             +------------+     +-------+-------+       +-----------+
             v                  v               v                   v
     [Cảm biến DHT11]   [Cảm biến Đất]   [Cảm biến LDR]     [Relay PC817]
                                                                    |
                                                            +-------+-------+
                                                            v               v
                                                        [Bơm DC]       [LED Dải]

Phân tích hiệu quả kinh tế và thời gian hoàn vốn (ROI)

  • Tổng chi phí phần cứng chế tạo: ~ $1.200.000$ VNĐ/hệ sinh thái đơn lẻ.
  • Hiệu quả tài chính:
    • Tiết kiệm $90%$ chi phí nước tưới và $40%$ lượng điện tiêu thụ nhờ cơ chế đóng ngắt tự động chính xác theo cảm biến.
    • Tăng sản lượng rau sạch thu hoạch thêm $25%$ nhờ quang kỳ ban đêm.
    • Thời gian hoàn vốn (Payback period) ước tính: 6 - 8 tháng cho quy mô vườn hộ gia đình $10 - 20\text{ m}^2$.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  • Cảm biến độ ẩm đất dạng điện trở tiếp xúc (Resistive sensor) dễ bị oxy hóa bề mặt sau 3 - 6 tháng hoạt động liên tục trong môi trường đất ẩm nhiều ion khoáng.
  • Giao tiếp Web Server nội mạng chưa hỗ trợ mã hóa SSL/HTTPS, tiềm ẩn nguy cơ bảo mật nếu cấu hình Port Forwarding ra ngoài môi trường Internet công cộng.

Hướng phát triển và mở rộng

  1. Nâng cấp cảm biến điện dung (Capacitive Soil Moisture Sensor): Chống ăn mòn điện phân, kéo dài tuổi thọ vận hành cảm biến $> 3\text{ năm}$.
  2. Tích hợp giao thức MQTT và Cloud IoT Platform: Đưa dữ liệu lên AWS IoT Core hoặc ThingsBoard, hỗ trợ hiển thị Dashboard trên ứng dụng di động (Flutter/React Native) và tối ưu hóa băng thông.
  3. Ứng dụng thuật toán mờ (Fuzzy Logic / AIoT): Tự động tính toán lượng nước tưới tối ưu dựa trên tương quan giữa nhiệt độ không khí, độ ẩm môi trường và giai đoạn sinh trưởng của cây trồng.

Đối tượng hưởng lợi

+-----------------------------------------------------------------------+
|                    GIÁ TRỊ MANG LẠI CHO CÁC NHÓM                      |
+===================+===================================================+
| Sinh viên /       | Tài liệu tham khảo toàn diện về lập trình ARM     |
| Nghiên cứu sinh   | Cortex-M3 (STM32) kết hợp Wi-Fi SoC ESP8266, xử lý|
|                   | chuẩn giao tiếp One-Wire, UART và ADC 12-bit.     |
+-------------------+---------------------------------------------------+
| Kỹ sư / Lập trình | Kiến trúc mẫu Master-Slave chống nghẽn xung nhịp; |
| viên Embedded     | sơ đồ thiết kế phần cứng cách ly quang an toàn    |
|                   | công nghiệp với Opto PC817 và Relay.              |
+-------------------+---------------------------------------------------+
| Hộ gia đình /     | Giải pháp canh tác rau an toàn tự động hóa cao,   |
| Doanh nghiệp nông | tiết kiệm 90% lượng nước, vận hành ổn định với chi|
| nghiệp vừa & nhỏ  | phí chỉ bằng 1/10 hệ thống nhập ngoại.            |
+-------------------+---------------------------------------------------+

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

1. Yêu cầu kỹ thuật phần cứng tối thiểu để triển khai hệ thống là gì?

Hệ thống yêu cầu nguồn cấp Adapter 12VDC/3A (hoặc 5VDC qua cổng MicroUSB), bộ kit vi điều khiển STM32F103C8T6, ESP8266 NodeMCU, module hạ áp LM2596, module cảm biến DHT11, cảm biến độ ẩm đất, quang trở LDR và module Relay cách ly quang. Mạng Wi-Fi nội bộ hỗ trợ băng tần 2.4GHz (chuẩn IEEE 802.11 b/g/n).

2. Giới hạn mở rộng số lượng cảm biến và thiết bị chấp hành của STM32 là bao nhiêu?

STM32F103C8T6 hỗ trợ tới 37 chân GPIO, 10 kênh ADC đầu vào bên ngoài và 2 bộ giao tiếp USART. Do đó, hệ thống hoàn toàn có thể mở rộng kết nối thêm tối đa 8 cảm biến độ ẩm đất độc lập cho 8 khu vực tưới riêng biệt, cùng với 8 kênh Relay điều khiển van điện từ (Solenoid Valve) thông qua các IC đệm như 74HC595 hoặc ULN2803.

3. Làm thế nào để điều khiển hệ thống khi ở ngoài vùng phủ sóng Wi-Fi gia đình?

Để điều khiển từ xa qua mạng 4G/5G bên ngoài Internet, người dùng có thể cấu hình Dynamic DNS (DDNS) kèm mở cổng (Port Forwarding) trên Router gia đình, hoặc nạp lại firmware ESP8266 để truyền dữ liệu qua giao thức MQTT trung gian đến các Broker đám mây miễn phí như Adafruit IO, Blynk IoT hoặc EMQX.

4. Chi phí bảo trì định kỳ và độ bền phần cứng như thế nào?

Chi phí bảo trì hàng năm $< 100.000$ VNĐ (chủ yếu thay thế đầu đo độ ẩm đất điện trở sau 6 - 12 tháng nếu bị ăn mòn). Toàn bộ khối mạch xử lý trung tâm STM32 và ESP8266 được bảo vệ trong hộp điện kín chuẩn IP65 có tuổi thọ vận hành trên 5 năm.

5. Tại sao cần kết hợp cả STM32 và ESP8266 thay vì chỉ sử dụng một mình ESP8266?

ESP8266 có số lượng chân GPIO rất hạn chế (chỉ 11 chân khả dụng), chỉ có 1 cổng ADC 10-bit với dải điện áp $0 - 1.0\text{V}$, không hỗ trợ DMA và khả năng xử lý ngắt thời gian thực kém khi đang duy trì kết nối Wi-Fi TCP/IP. Việc kết hợp STM32 (32-bit ARM, 12-bit ADC, 7-channel DMA, 37 GPIO) giúp hệ thống đo lường chính xác, đáp ứng tức thời và hoạt động hoàn toàn ổn định kể cả khi mạng Wi-Fi bị ngắt quãng.


Kết luận

Đề tài "Hệ thống kích thích cây trồng ban đêm và tưới cây tự động" đã thiết kế và chế tạo thành công mô hình IoT ứng dụng thực tiễn cao cho nông nghiệp công nghệ cao đô thị. Bằng việc kết hợp sức mạnh xử lý 32-bit của vi điều khiển STM32F103C8T6 và khả năng truyền thông không dây của ESP8266 NodeMCU, hệ thống giải quyết trọn vẹn bài toán tự động hóa tưới tiêu theo độ ẩm thực tế và kích thích sinh trưởng quang kỳ ban đêm với chi phí tối ưu. Dự án đóng vai trò nền tảng quan trọng cho các nghiên cứu tiếp theo về nông nghiệp chính xác (Precision Agriculture), nhà màng thông minh và phát triển đô thị bền vững.