Giới thiệu dự án

Khí canh (Aeroponics) là một trong những phương pháp canh tác nông nghiệp công nghệ cao tiên tiến nhất hiện nay, trong đó bộ rễ của cây được treo lơ lửng trong không khí và hấp thụ chất dinh dưỡng thông qua hệ thống phun sương tự động hoặc màng mỏng dinh dưỡng (độ dày 1 mm trên các trụ đứng). Theo các nghiên cứu nông nghiệp quốc tế, kỹ thuật khí canh giúp tiết kiệm tới 98% lượng nước, 95% phân bón99% thuốc bảo vệ thực vật so với phương pháp trồng đất truyền thống, đồng thời tăng năng suất sinh khối lên từ 30% đến 50%.

Tuy nhiên, rào cản lớn nhất khiến khí canh khó mở rộng quy mô thương mại tại Việt Nam là yêu cầu kiểm soát dinh dưỡng và vi khí hậu khắt khe 24/7. Vì rễ cây không có giá thể giữ nước, chỉ cần hệ thống bơm ngưng hoạt động trong thời gian ngắn hoặc nồng độ dinh dưỡng (TDS/EC) sai lệch, rễ cây sẽ nhanh chóng bị khô héo dẫn đến chết hàng loạt. Bên cạnh đó, các hệ thống IoT nông nghiệp hiện hữu thường dựa vào bộ hẹn giờ cố định (timer-based) hoặc kết nối không dây tầm ngắn (Wi-Fi, Zigbee), thiếu khả năng thích ứng thông minh theo chu kỳ sinh trưởng và hoàn toàn thiếu cơ chế bảo mật trước các cuộc tấn công mạng công nghiệp (spoofing cảm biến, tiêm mã điều khiển độc hại).

+-----------------------------------------------------------------------------------+
|                            BÀI TOÁN KHÍ CANH THÔNG MINH                           |
+------------------------------------+----------------------------------------------+
| THÁCH THỨC VẬN HÀNH & KỸ THUẬT     | GIẢI PHÁP ĐỀ XUẤT TRONG ĐỒ ÁN                |
+------------------------------------+----------------------------------------------+
| Giám sát thủ công 24/7 nồng độ     | Mô hình Graph Attention Networks (GATs) dự   |
| dinh dưỡng và chu kỳ phun sương    | đoán thời gian bơm tối ưu cho 49 loại cây.   |
| Tầm phủ sóng Wi-Fi/Zigbee hẹp      | Mạng diện rộng công suất thấp LoRa SX1278    |
| (<500m), suy hao trong trang trại  | truyền xa đến 3000m, tiết kiệm điện năng.    |
| Lỗ hổng bảo mật giả mạo dữ liệu,   | Kiến trúc Zero-Trust kết hợp HMAC SHAKE-256  |
| rủi ro trước điện toán lượng tử    | ở mạng biên và Kyber1024 + AES-256 CTR Cloud.|
+------------------------------------+----------------------------------------------+

Mục tiêu của dự án

  1. Thiết kế và hiện thực hệ thống phần cứng AIoT kết hợp tính toán cận biên (Edge Computing): Sử dụng vi điều khiển Vietduno Uno (ATmega328P) làm Node cảm biến/chấp hành, module LoRa SX1278 (433 MHz) truyền thông tầm xa, và Raspberry Pi 4 Model B đảm nhiệm vai trò kép 2-trong-1 (LoRa Gateway & Edge Server).
  2. Xây dựng mô hình học sâu GATs (Graph Attention Networks): Tự động hóa lập lịch phun dinh dưỡng tuần hoàn (2 giờ/chu kỳ) và cảnh báo bất thường môi trường (nhiệt độ, độ ẩm, TDS, EC) cho 49 loại cây trồng khác nhau.
  3. Hiện thực khung bảo mật Zero-Trust toàn diện (End-to-End): Ứng dụng hàm băm mở rộng HMAC SHAKE-256 xác thực thiết bị biên và mật mã kháng lượng tử CRYSTALS-Kyber1024 kết hợp AES-256 CTR thiết lập đường truyền bảo mật (Zero-Trust Tunnel).

Phạm vi và giới hạn

  • Phạm vi triển khai: Mô hình thử nghiệm khí canh trụ đứng BATRIVINA tại Phòng thí nghiệm E3.1, Khoa Mạng máy tính và Truyền thông, Trường Đại học Công nghệ Thông tin - ĐHQG TP.HCM.
  • Tập dữ liệu huấn luyện: Dữ liệu cảm biến thu thập từ hệ thống Smart Botanic Farm (AgriConnect) tại Nông Trại Xanh (TP. Thủ Đức, TP.HCM) từ 14/02/2020 đến 06/01/2023.
  • Giới hạn: Hệ thống thử nghiệm tập trung vào tối ưu hóa dinh dưỡng và vi khí hậu vi mô; chưa tích hợp nguồn điện dự phòng UPS tự động kích hoạt khi mất lưới điện cục bộ.

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

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

Tiêu chí kỹ thuật Hệ thống khí canh cơ bản (Timer/Wi-Fi) Giải pháp IoT đám mây thông thường Giải pháp AIoT Edge Zero-Trust (Đề xuất)
Cơ chế lập lịch Bộ hẹn giờ cố định (Static Timer) Rule-based tự động từ Cloud Học sâu GATs suy luận thời gian thực tại Edge
Giao thức mạng biên Wi-Fi (2.4 GHz) / RF 433 MHz không mã hóa Zigbee / Wi-Fi / NB-IoT LoRa LPWAN 433 MHz tầm xa (lên đến 3000m)
Độ trễ & Offline mode Hoạt động độc lập nhưng không thông minh Mất kết nối Internet sẽ ngừng điều khiển AI Edge Server xử lý offline 100% không phụ thuộc Internet
Bảo mật mạng biên Không có (Dễ bị can thiệp RF/Wi-Fi) TLS/SSL cơ bản lên Cloud Zero-Trust HMAC SHAKE-256 + Entropic Vector
Bảo mật kênh truyền Không có / Mật khẩu tĩnh RSA-2048 / ECC thông thường Kháng lượng tử Kyber1024 KEM + AES-256 CTR Tunnel
Hỗ trợ đa dạng cây 1 loại cố định theo cấu hình cứng 3 - 5 loại cơ bản Tối ưu hóa ma trận đặc trưng cho 49 loại cây

Yêu cầu kỹ thuật theo mô hình MoSCoW:

  • Must have: Thu thập chính xác chỉ số nhiệt độ, độ ẩm, EC, TDS; tự động điều khiển Relay bơm dinh dưỡng; xác thực dữ liệu cảm biến trước khi ghi vào Database; hoạt động liên tục tại mạng biên khi mất kết nối ngoài.
  • Should have: Giao diện Dashboard trực quan hóa theo thời gian thực (Grafana); cảnh báo lệch ngưỡng nồng độ khoáng chất; kênh hầm mã hóa dữ liệu đẩy lên Cloud (Viettel VPS).
  • Could have: Tự động học thích nghi khi người dùng bổ sung thêm giống cây mới vào ma trận quan hệ đồ thị.
  • Won't have: Tự động pha chế dung dịch dinh dưỡng cấp độ công nghiệp lớn thông qua van xả định lượng (được quy hoạch cho giai đoạn phát triển tiếp theo).

Thiết kế hệ thống

Kiến trúc giải pháp được thiết kế phân lớp chặt chẽ nhằm tối ưu hóa tính toán và đảm bảo an toàn thông tin:

+-----------------------------------------------------------------------------------+
|                                KIẾN TRÚC TỔNG THỂ AIoT                            |
+-----------------------------------------------------------------------------------+
| [LỚP CẢM BIẾN & CHẤP HÀNH]                                                        |
|   - Vietduno Uno (ATmega328P) + DFRobot Gravity TDS + DHT22 Temp/Humidity         |
|   - Module Relay kích hoạt Máy bơm dinh dưỡng & Đèn LED quang hợp                 |
|   - Module LoRa EBYTE E32-433T20D (SX1278, 433 MHz)                              |
+----------------------------------------+------------------------------------------+
                                         | LoRa Link (Xác thực HMAC SHAKE-256)
+----------------------------------------v------------------------------------------+
| [LỚP TÍNH TOÁN CẬN BIÊN (EDGE SERVER & LORA GATEWAY 2-IN-1)]                      |
|   - Raspberry Pi 4 Model B (8GB RAM, Ubuntu 22.04 LTS aarch64)                   |
|   - Docker Compose Service Stack:                                                 |
|     * LoRa Gateway & Zero-Trust Tunnel Agent (Viết bằng Golang)                   |
|     * Local MQTT Broker (Eclipse Mosquitto v2.0)                                  |
|     * Time-Series Database (InfluxDB v2.x) + Telegraf Collector                   |
|     * Edge Visualization Dashboard (Grafana v9.x)                                 |
|     * AI Engine: GATs Inference Module (TensorFlow Lite Runtime)                  |
+----------------------------------------+------------------------------------------+
                                         | Internet / Zero-Trust Tunnel
                                         | (Kyber1024 KEM + AES-256 CTR)
+----------------------------------------v------------------------------------------+
| [LỚP ĐÁM MÂY & ĐIỀU KHIỂN TỪ XA (BACKEND SERVER & CLIENT AGENT)]                  |
|   - Viettel Virtual Cloud Server (Ubuntu 20.04 LTS, Public IP)                    |
|   - Global InfluxDB Backup + Global MQTT Broker                                   |
|   - Agent KyberTunnel Client (Desktop / Laptop Windows/Linux/macOS)               |
+-----------------------------------------------------------------------------------+

Danh mục công nghệ và phiên bản phần mềm:

  • Phần cứng: Vietduno Uno USB-B (ATmega328P 16MHz, 32KB Flash, 2KB SRAM); Raspberry Pi 4 Model B 8GB; Module LoRa EBYTE E32-433T20D (20dBm, 410-441MHz).
  • Hệ điều hành: Ubuntu Server 22.04 LTS (Edge Server); Ubuntu Server 20.04 LTS (Viettel Cloud VPS).
  • Phần mềm & Thư viện: Docker Engine v24.0.5, Docker Compose v2.20.2, Golang v1.20, TensorFlow v2.11.0, TensorFlow Lite v2.11.0, InfluxDB v2.7, Eclipse Mosquitto v2.0.15, Grafana v9.5.3, Supervisor v4.2.

Implementation và kết quả

Quy trình phát triển và thuật toán cốt lõi

1. Tính toán lý thuyết chỉ số nhiệt độ và chu kỳ phun sương

Chỉ số nhiệt ẩm (Heat Index - $HI$) được chuẩn hóa thông qua đa thức bậc hai từ nhiệt độ ($T$ - °C) và độ ẩm tương đối ($R$ - %): $$HI = c_1 + c_2 T + c_3 R + c_4 TR + c_5 T^2 + c_6 R^2 + c_7 T^2 R + c_8 T R^2 + c_9 T^2 R^2$$

Dựa vào độ lệch giữa giá trị thực đo và giá trị tối ưu: $$\Delta T = T_t - T_{\text{optimal}}, \quad \Delta H = H_t - H_{\text{optimal}}, \quad \Delta D = D_t - D_{\text{optimal}}$$ Hàm tính toán số phút kích hoạt bơm $P(t)$ trong chu kỳ 2 giờ được mô hình hóa: $$P(t) = X + 9\pi - 9\pi \cos(t - 12) + \frac{5(e^\gamma - 1)}{e^\gamma + 1} - \frac{2(e^\delta - 1)}{e^\delta + 1} - \frac{3(e^\beta - 1)}{e^\beta + 1} \cdot \frac{t^2 - 24t + 144}{144}$$ Trong đó: $X$ là số phút bật tối thiểu theo từng giống cây, $t$ là thời điểm trong ngày ($0 \le t \le 24$).

+-----------------------------------------------------------------------------------+
|                      CẤU TRÚC ĐỒ THỊ ĐẦU VÀO CỦA MÔ HÌNH GATs                     |
+-----------------------------------------------------------------------------------+
|               [Nhiệt độ (T)] <---------> [Độ ẩm (H)]                              |
|                     ^                          ^                                  |
|                     |                          |                                  |
|                     v                          v                                  |
|             [Thời gian (Time)] <-----> [Tuổi cây (Day)]                           |
|                     ^                          ^                                  |
|                     |                          |                                  |
|                     v                          v                                  |
|               [Chỉ số TDS] <-----------> [Chỉ số EC]                              |
|                     \                          /                                  |
|                      \                        /                                   |
|                       v                      v                                    |
|                             [Loại cây (Plant)]                                    |
+-----------------------------------------------------------------------------------+

2. Kiến trúc Graph Attention Networks (GATs)

Mô hình GATs được thiết kế để giải quyết bài toán hồi quy đa biến có mối quan hệ tương hỗ:

  • Ma trận kề có trọng số: $\tilde{A} = A + I_N$, ma trận bậc $\tilde{D}{ii} = \sum_j \tilde{A}{ij}$.
  • Trích xuất đặc trưng đồ thị: $$\hat{A} = \tilde{D}^{-\frac{1}{2}} \tilde{A} \tilde{D}^{-\frac{1}{2}}$$ $$H' = \tanh \left( H \cdot \hat{A} \cdot (I + A) \cdot W \right)$$ $$Y_{\text{Graph}} = \text{Concat}\left( H', I_{\text{plant}}[i] \cdot W_{\text{plant}} \right)$$
  • Graph Node Self-Attention: $$Q = Y_{\text{Graph}} W^Q, \quad K = Y_{\text{Graph}} W^K, \quad V = Y_{\text{Graph}} W^V$$ $$Y_{\text{GSA}} = \text{Softmax}\left(\frac{Q K^T}{\sqrt{d_k}}\right) V W^O$$
  • Đầu ra hồi quy (Feed Forward): $$\text{Output} = \text{ReLU}(Y_{\text{FF}} W_1 + b_1)$$ Gồm 6 giá trị dự đoán: Thời gian bật bơm (phút), $TDS_{\min}$, $TDS_{\max}$, cờ kiểm tra TDS, cờ kiểm tra nhiệt độ, cờ kiểm tra độ ẩm.
# Trích đoạn định nghĩa Graph Feature Extraction trong TensorFlow/Keras
import tensorflow as tf
from tensorflow.keras import layers

class GraphFeatureExtraction(layers.Layer):
    def __init__(self, num_nodes, units, num_plants=49):
        super(GraphFeatureExtraction, self).__init__()
        self.w = self.add_weight(shape=(units, units), initializer="glorot_uniform", trainable=True)
        self.w_plant = self.add_weight(shape=(num_plants, units), initializer="glorot_uniform", trainable=True)
        self.i_plant = tf.eye(num_plants)

    def call(self, inputs, adj_matrix, plant_id):
        # adj_matrix shape: [batch, N, N], inputs: [batch, N, features]
        a_tilde = adj_matrix + tf.eye(adj_matrix.shape[1])
        d_tilde = tf.linalg.diag(tf.reduce_sum(a_tilde, axis=-1) ** -0.5)
        a_norm = tf.matmul(tf.matmul(d_tilde, a_tilde), d_tilde)
        
        # Lan truyền đặc trưng đồ thị
        h_prime = tf.nn.tanh(tf.matmul(tf.matmul(inputs, a_norm), self.w))
        plant_embedding = tf.matmul(tf.gather(self.i_plant, plant_id), self.w_plant)
        
        # Kết hợp thông tin giống cây trồng
        y_graph = tf.concat([h_prime, tf.expand_dims(plant_embedding, axis=1)], axis=-1)
        return y_graph

3. Quy trình xác thực Zero-Trust tại mạng biên

  1. Thiết lập Khóa (Key Exchange): Vietduno Uno lưu vector entropy ($EV \in \mathbb{R}^{255}$) trong bộ nhớ EEPROM. Khi khởi động, Edge Server và Node cảm biến trao đổi giá trị ngẫu nhiên $e_u, e_{eu}$ (32 bytes) để sinh khóa phiên bí mật $K_{eu} = \text{ComputeKey}(e_u, e_{eu}, EV)$.
  2. Ký và Kiểm tra Dữ liệu Cảm biến (Data Verification): $$\text{Tag} = \text{HMAC_SHAKE-256}(K_{eu}, SD \parallel \text{padding} \parallel T_i)$$ Gói tin được truyền qua sóng LoRa chỉ được Edge Server chấp nhận khi $\text{Verify}(\text{Sig}, \text{Tag}) \equiv \text{True}$.
+-----------------------------------------------------------------------------------+
|                 QUY TRÌNH BẮT TAY XÁC THỰC LORA ZERO-TRUST                        |
+-----------------------------------------------------------------------------------+
|  [VIETDUNO UNO (NODE)]                                 [RASPBERRY PI 4 (EDGE)]    |
|   EEPROM: EV_u, ID_u                                    Table: (ID_u, EV_u), ID_e |
|                                                                                   |
|   1. Sinh e_u = Random(32)                                                        |
|      Gửi: ID_u || e_u || T_i  ------------ LoRa ----------->                      |
|                                                         Nhận e_u, lấy EV_u        |
|                                                         Sinh e_eu = Random(32)    |
|                                                         K_eu = Calc(e_u,e_eu,EV)  |
|                                                         Tag = HMAC(K_eu, e_eu...) |
|                               <----------- LoRa ----------- Gửi: ID_e || ID_u ||  |
|                                                             e_eu || T_i+1 || Tag  |
|   K_eu = Calc(e_u,e_eu,EV)                                                        |
|   Verify(HMAC(K_eu), Tag) == True                                                 |
|                                                                                   |
|   2. Gửi dữ liệu cảm biến:                                                        |
|      Tag_sd = HMAC(K_eu, SD || Pad || T_j)                                        |
|      Gửi: ID_e || ID_u || SD || Pad || Tag_sd ---> LoRa --> Xác thực & Lưu InfluxDB |
+-----------------------------------------------------------------------------------+

4. Kênh hầm Zero-Trust kháng lượng tử (Kyber1024 + AES-256 CTR)

Quá trình đóng gói khóa (Key Encapsulation Mechanism - KEM) giữa Client Agent và Edge Server thông qua Backend Cloud:

  • Khóa công khai Kyber1024: $PK = (A, t)$ với $t = As + e$.
  • Bản mã đóng gói khóa bí mật $SS \in {0, 1}^{256}$: $(u, v) = (A^T r + e_1, , t^T r + e_2 + m(x))$.
  • Dữ liệu điều khiển từ xa truyền qua giao thức MQTT được mã hóa dòng an toàn bằng $\text{AES-256-CTR}(SS, \text{Payload})$.
// Trích đoạn hiện thực bắt tay gói khóa Kyber-1024 trong Zero-Trust Tunnel Agent (Golang)
package tunnel

import (
	"crypto/aes"
	"crypto/cipher"
	"github.com/cloudflare/circl/kem/kyber/kyber1024"
)

type KyberSession struct {
	SharedKey []byte
	Stream    cipher.Stream
}

func EstablishServerSession(clientPKBytes []byte) ([]byte, *KyberSession, error) {
	scheme := kyber1024.Scheme()
	clientPK, err := scheme.UnmarshalBinaryPublicKey(clientPKBytes)
	if err != nil {
		return nil, nil, err
	}

	ct := make([]byte, scheme.CiphertextSize())
	ss := make([]byte, scheme.SharedKeySize())
	scheme.EncapsulateTo(ct, ss, clientPK)

	block, err := aes.NewCipher(ss)
	if err != nil {
		return nil, nil, err
	}

	iv := make([]byte, aes.BlockSize) // 16-byte initial counter
	stream := cipher.NewCTR(block, iv)

	return ct, &KyberSession{SharedKey: ss, Stream: stream}, nil
}

Thử nghiệm và đánh giá kết quả

Mô hình GATs được huấn luyện trên 3 bộ dữ liệu chuẩn (Xà Lách Pháp, Cải Xanh, Cà Chua Bi) với 100 epochs, Adam optimizer, loss function MSE.

+-----------------------------------------------------------------------------------+
|               SO SÁNH SAI SỐ DỰ BÁO LẬP LỊCH PHUN DINH DƯỠNG (MAE)                |
+-----------------------------------------------------------------------------------+
|  Mô hình AI             | Sai số tuyệt đối trung bình (MAE) | Đánh giá khả thi    |
+-------------------------+-----------------------------------+---------------------+
|  Artificial NN (ANN)    | ± 1013.42                         | Không thể sử dụng   |
|  LSTM Recurrent Net     | ± 1024.18                         | Hội tụ kém          |
|  Transformer (Self-Attn)| ± 892.30                          | Quá khớp (Overfit)  |
|  GATs (Đề xuất)         | ± 5.2651                          | Tối ưu xuất sắc     |
+-------------------------+-----------------------------------+---------------------+

MAE Error Comparison:
ANN         [==================================================] 1013.4
LSTM        [==================================================] 1024.2
Transformer [============================================] 892.3
GATs (Ours) [==] 5.26

Nhờ cấu trúc liên kết đồ thị biểu diễn chính xác mối tương quan phi tuyến giữa Nhiệt độ - Độ ẩm - Nồng độ dinh dưỡng và Giai đoạn phát triển, GATs đạt độ chính xác vượt trội so với các mạng nơ-ron thông thường.

Đánh giá hiệu năng an ninh mạng biên

  • Bộ nhớ Flash Vietduno: Sử dụng 18.4 KB / 32 KB (57.5%).
  • Bộ nhớ RAM tĩnh (SRAM): Sử dụng 1.1 KB / 2 KB (55.0%).
  • Thời gian xử lý HMAC SHAKE-256 trên ATmega328P: 14.2 ms / chu kỳ xác thực gói tin.
  • Thời gian thiết lập hầm Kyber1024 giữa Agent và Edge Server: 128 ms (trên hạ tầng mạng 4G/Wi-Fi thông thường).

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

  1. Ứng dụng học sâu trên đồ thị (Graph Neural Network) cho bài toán nông nghiệp chính xác: Chuyển đổi thành công bài toán lập lịch tưới tiêu truyền thống sang mô hình hồi quy đa biến trên cấu trúc đồ thị động, giải quyết trọn vẹn sự tương tác qua lại giữa 49 giống rau củ và điều kiện khí hậu vi mô.
  2. Kiến trúc Edge-centric 2-trong-1 siêu tiết kiệm chi phí: Tích hợp LoRa Gateway và Edge Server trực tiếp trên bo mạch Raspberry Pi 4 chạy Docker stack, loại bỏ hoàn toàn nhu cầu đầu tư Gateway công nghiệp đắt tiền mà vẫn đảm bảo tính toán cục bộ độc lập khi mất mạng Internet.
  3. Giao thức xác thực cảm biến nhẹ kháng giả mạo ở tầng vật lý LPWAN: Khắc phục triệt để lỗ hổng không có xác thực của sóng vô tuyến truyền thống trên nền tảng 8-bit ATmega328P bằng HMAC SHAKE-256 kết hợp vector phân tán (Entropic Vector).
  4. Hệ thống IoT nông nghiệp đầu tiên tích hợp mật mã hậu lượng tử (Post-Quantum Cryptography): Đi tiên phong trong việc hiện thực hóa chuẩn NIST Kyber1024 KEM kết hợp AES-256 CTR trong kết nối hầm đảo chiều (Reverse Tunneling), bảo vệ an toàn tuyệt đối dữ liệu nông trại trước nguy cơ giải mã bởi siêu máy tính lượng tử trong tương lai.

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

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

+-----------------------------------------------------------------------------------+
|                        MÔ HÌNH TRIỂN KHAI TẠI TRANG TRẠI                          |
+-----------------------------------------------------------------------------------+
|                                                                                   |
|  [Trang trại khí canh 2.000m²]                       [Phòng Giám sát Trung tâm]   |
|   +--------------------------+                         +----------------------+   |
|   | 20 Trụ khí canh đứng     |                         | Desktop Agent        |   |
|   | 04 Node Vietduno Uno     |                         | (Kyber Tunnel Client)|   |
|   +------------+-------------+                         +----------^-----------+   |
|                | LoRa RF (Tầm xa 3000m)                           |               |
|   +------------v-------------+                                    |               |
|   | 01 Raspberry Pi 4 Edge   |                                    |               |
|   | (LoRa Gateway + AI GATs) |                                    |               |
|   +------------+-------------+                                    |               |
|                |                                                  |               |
|                +====== Zero-Trust Encrypted Tunnel ===============+               |
|                        (Thông qua Viettel Cloud Server VPS)                       |
+-----------------------------------------------------------------------------------+

Hướng dẫn cài đặt và triển khai

1. Nạp mã nguồn cho Node cảm biến Vietduno Uno

  • Cài đặt Arduino IDE 2.x và cấu hình thư viện DFRobot_TDS, DHT_sensor_library.
  • Cấu hình ID định danh thiết bị (DEVICE_ID = 0x01) và ghi mảng Entropic Vector 255-byte vào EEPROM.
  • Kết nối phần cứng: Cảm biến TDS (Chân A1), Cảm biến DHT22 (Chân D4), Module LoRa EBYTE E32 (Chân D2/D3 - SoftwareSerial), Relay máy bơm (Chân D7).

2. Cài đặt Edge Server trên Raspberry Pi 4

  • Cài đặt hệ điều hành Ubuntu Server 22.04 LTS (64-bit) lên thẻ MicroSD 64GB Class 10 U3.
  • Cài đặt Docker & Docker Compose:
    sudo apt update && sudo apt install -y docker.io docker-compose git
    sudo systemctl enable --now docker
    
  • Khởi chạy toàn bộ hệ sinh thái dịch vụ cận biên:
    git clone https://github.com/uit-network-lab/smart-aeroponics-edge.git
    cd smart-aeroponics-edge
    docker-compose up -d
    

3. Phân tích tài chính và tỷ suất hoàn vốn (ROI)

  • Chi phí phần cứng cho 1 module 4 trụ khí canh (160 hốc trồng):
    • Trụ khí canh BATRIVINA + Bơm áp lực + Khung: 4.500.000 VNĐ
    • Bo mạch Vietduno Uno + Cảm biến TDS/DHT22 + LoRa: 850.000 VNĐ
    • Raspberry Pi 4 Model B (Dùng chung cho tối đa 50 trụ): 2.200.000 VNĐ
  • Hiệu quả kinh tế:
    • Giảm 90% chi phí nhân công đo đạc và pha chế dinh dưỡng thủ công.
    • Hạn chế rủi ro thất thoát mùa vụ do quên bật bơm hoặc cháy rễ từ 15% xuống dưới 0.5%.
    • Thời gian thu hồi vốn đầu tư công nghệ (ROI) ước tính đạt từ 8 - 11 tháng trên quy mô trang trại đô thị 100 trụ.

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

Hạn chế kỹ thuật hiện tại

  • Phụ thuộc dữ liệu khí hậu cục bộ: Dữ liệu huấn luyện của mô hình GATs được thu thập tại khu vực TP. Thủ Đức (TP.HCM), do đó khi triển khai tại các vùng có biên độ nhiệt độ khắc nghiệt (như mùa đông miền Bắc hoặc vùng cao nguyên Đà Lạt), mô hình cần được nạp thêm dữ liệu để tái tinh chỉnh (fine-tuning).
  • Rủi ro mất nguồn cấp điện: Mặc dù hệ sinh thái điều khiển vận hành liên tục tại biên, nhưng nếu lưới điện lưới bị ngắt hoàn toàn và không có máy phát/UPS, máy bơm cơ học sẽ không thể phun dưỡng chất.

Hướng phát triển trong tương lai

  • Học liên kết (Federated Learning): Xây dựng cơ chế cho phép các Edge Server tại các nông trại khác nhau cùng huấn luyện mô hình GATs toàn cục mà không cần chia sẻ dữ liệu cảm biến thô, bảo mật tối đa bí quyết canh tác của từng trang trại.
  • Tích hợp thị giác máy tính (Edge Computer Vision): Lắp đặt camera Raspberry Pi NoIR để nhận diện sâu bệnh, phân tích màu lá cây theo thời gian thực kết hợp cùng chỉ số TDS/EC.
  • Nguồn năng lượng độc lập: Tích hợp hệ thống pin năng lượng mặt trời và pin lưu trữ Lithium LiFePO4 có mạch giao tiếp nạp xả thông minh nối trực tiếp với Vietduno.

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

+-----------------------------------------------------------------------------------+
|                        GIÁ TRỊ MANG LẠI CHO CÁC NHÓM ĐỐI TƯỢNG                    |
+-----------------------------------------------------------------------------------+
| [SINH VIÊN & NGHIÊN CỨU SINH]                                                     |
|  - Tài liệu tham khảo chuẩn mực về tích hợp AIoT, Edge Computing và Cryptography. |
|  - Mã nguồn mẫu về Graph Attention Networks và thuật toán lượng tử Kyber1024.     |
+-----------------------------------------------------------------------------------+
| [LẬP TRÌNH VIÊN NHÚNG & IoT]                                                      |
|  - Mẫu kiến trúc triển khai TIG Stack (Telegraf-InfluxDB-Grafana) qua Docker.    |
|  - Phương thức tối ưu hóa vi điều khiển 8-bit thực thi hàm băm HMAC SHAKE-256.   |
+-----------------------------------------------------------------------------------+
| [DOANH NGHIỆP & CHỦ TRANG TRẠI KHÍ CANH]                                          |
|  - Giải pháp chuyển đổi số nông nghiệp chi phí thấp, tin cậy cao, dễ bảo trì.    |
|  - Giảm 98% nước, 95% phân bón, bảo vệ bí mật công nghệ trước tấn công mạng.     |
+-----------------------------------------------------------------------------------+

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

1. Cấu hình phần cứng tối thiểu để triển khai Edge Server là gì?

Hệ thống yêu cầu tối thiểu một máy tính nhúng Raspberry Pi 4 Model B (bản 4GB hoặc 8GB RAM), thẻ nhớ MicroSD dung lượng tối thiểu 32GB (tốc độ đọc ghi Class 10/UHS-I trở lên) chạy hệ điều hành Ubuntu Server 22.04 LTS aarch64.

2. Khi mất kết nối Internet, hệ thống có tiếp tục bơm dinh dưỡng không?

Có. Toàn bộ logic dự báo GATs, lưu trữ InfluxDB và điều khiển Relay đều được thực thi trực tiếp tại Edge Server (Raspberry Pi 4) thông qua mạng LoRa nội bộ. Hệ thống vận hành bình thường 100% khi mất mạng Internet; dữ liệu sẽ tự động đồng bộ lên Viettel Cloud khi có mạng trở lại.

3. Tại sao không dùng giao thức TLS/SSL thông thường mà phải dùng Kyber1024?

Các thuật toán mã hóa công khai phổ biến như RSA hay ECC đều có nguy cơ bị bẻ khóa hoàn toàn khi máy tính lượng tử thực tế xuất hiện (theo thuật toán Shor). CRYSTALS-Kyber1024 là chuẩn mật mã hậu lượng tử (PQC) được Viện Tiêu chuẩn và Kỹ thuật Quốc gia Hoa Kỳ (NIST) chuẩn hóa năm 2022, đảm bảo hệ thống an toàn dài hạn trong tương lai.

4. Hệ thống có thể mở rộng tối đa bao nhiêu trụ khí canh trên một Edge Server?

Với băng thông của module LoRa SX1278 (tần số 433 MHz, chu kỳ gửi dữ liệu 2 phút/lần) và tài nguyên của Raspberry Pi 4 (8GB RAM), một Edge Server duy nhất có thể quản lý ổn định từ 50 đến 80 Node cảm biến Vietduno, tương đương diện tích trang trại khoảng 2.500 m².

5. Chi phí duy trì dịch vụ đám mây hàng tháng là bao nhiêu?

Chi phí Cloud duy nhất là phí thuê VPS (1 vCPU, 2GB RAM, 30GB SSD) tại Viettel IDC để lưu trữ dữ liệu sao lưu tập trung và chuyển tiếp gói tin hầm, dao động từ 80.000 đến 130.000 VNĐ/tháng.


Kết luận

Đề tài khóa luận "Xây dựng giải pháp khí canh thông minh dựa trên kỹ thuật học sâu, tính toán cận biên, và mô hình bảo mật Zero-Trust" của tác giả Nguyễn Tấn Thắng (Trường Đại học Công nghệ Thông tin - ĐHQG TP.HCM) đã giải quyết trọn vẹn và thực tế các nút thắt lớn nhất của ngành khí canh công nghệ cao:

  • Tính tự động hóa và thích ứng cao: Mô hình GATs trên TensorFlow Lite đạt sai số cực thấp ($MAE = \pm 5.2651$), tự động lập lịch phun sương và kiểm soát dinh dưỡng tối ưu cho 49 loại cây trồng.
  • Kiến trúc bền bỉ, tiết kiệm: Kết hợp LoRa diện rộng (3.000m) và giải pháp Edge Computing 2-trong-1 giúp giảm chi phí hạ tầng mạng và duy trì tính tự trị khi mất Internet.
  • An ninh mạng chuẩn công nghiệp: Hiện thực hóa thành công kiến trúc Zero-Trust với xác thực HMAC SHAKE-256 ở biên và đường truyền mật mã kháng lượng tử CRYSTALS-Kyber1024 KEM + AES-256 CTR.

Nghiên cứu đã được hiện thực hóa và kiểm chứng thành công trên mô hình thực nghiệm, mang lại giá trị ứng dụng thực tiễn to lớn cho nền nông nghiệp số thông minh, bền vững và an toàn thông tin tại Việt Nam.