Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh khoa học và công nghệ ngày càng phát triển, kỹ thuật điện tử và hệ thống vi xử lý đóng vai trò thiết yếu trong công cuộc công nghiệp hóa, hiện đại hóa. Tại Việt Nam, ngành nông nghiệp đang là một trong những hướng đi mang lại giá trị kinh tế quan trọng. Tuy nhiên, các phương pháp canh tác nông nghiệp truyền thống đang bộc lộ nhiều hạn chế do phụ thuộc lớn vào điều kiện tự nhiên, năng suất và hiệu quả kinh tế chưa cao. Cùng với đó, tình trạng biến đổi khí hậu diễn biến phức tạp khiến việc người nông dân tự theo dõi thời tiết, chăm sóc cây trồng thủ công trở nên tốn kém nhiều thời gian, công sức mà không đạt được độ chính xác kịp thời.
Trước thực tiễn đó, việc ứng dụng công nghệ Internet of Things (IoT) và hệ thống cảm biến vào nông nghiệp – đặc biệt là mô hình nhà vườn – là giải pháp kỹ thuật cần thiết. Đồ án tốt nghiệp "Phát triển hệ thống IoT cho nông nghiệp thông minh" do sinh viên Phan Ngọc Hiểu và Trần Nguyễn Hoài Nam thực hiện (chuyên ngành Điện tử công nghiệp, Lớp DH16DT, Trường Đại học Bà Rịa – Vũng Tàu, dưới sự hướng dẫn của ThS. Nguyễn Lương Thanh Tùng, bảo vệ tháng 5/2020) tập trung giải quyết bài toán giám sát môi trường và điều khiển thiết bị tự động qua mạng Internet.
Mục tiêu và nhiệm vụ nghiên cứu của đề tài được xác định cụ thể như sau:
- Nghiên cứu nguyên lý hoạt động và phương pháp ghép nối các cảm biến môi trường bao gồm: cảm biến nhiệt độ - độ ẩm DHT11, cảm biến cường độ ánh sáng Photodiode Light Sensor, cảm biến nước mưa Rain Water Sensor và cảm biến siêu âm HC-SR04.
- Thiết kế và thi công hệ thống điều khiển các thiết bị chấp hành công suất: máy bơm nước tưới cây, máy bơm nước vào bồn chứa, quạt hút thông gió, quạt làm mát, hệ thống đèn chiếu sáng, đèn sưởi nhiệt, hệ thống động cơ kéo rèm che mưa và rèm che nắng.
- Xây dựng hệ thống IoT hoàn chỉnh tích hợp Webserver trên vi điều khiển ESP32, cho phép giám sát các thông số môi trường và điều khiển thiết bị từ xa qua giao diện web với hai chế độ: thủ công (MAN) và tự động (AUTO).
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Hệ thống phần cứng nhúng dựa trên vi điều khiển ESP32 NodeMCU, các module cảm biến môi trường, mạch công suất Relay 8 kênh và ứng dụng Webserver nhúng.
- Phạm vi ứng dụng: Tập trung chính vào mô hình nông nghiệp nhà vườn thông minh; đồng thời tác giả mở rộng đối chiếu phạm vi ứng dụng của công nghệ IoT trong các lĩnh vực công nghiệp, môi trường khí tượng, dân dụng, giao thông, nghiên cứu khoa học, viễn thông, quân sự và vũ trụ.
Cơ sở lý thuyết và phương pháp
Đồ án xây dựng nền tảng lý thuyết dựa trên các khái niệm kỹ thuật cốt lõi về IoT, cảm biến, hệ thống mạng và kiến trúc phần mềm máy chủ:
- Khái niệm và đặc trưng cảm biến: Cảm biến (sensor) là thiết bị cảm nhận và chuyển đổi các đại lượng vật lý hoặc hóa học không có tính chất điện ($m$) thành các đặc trưng mang tính chất điện ($s$) như điện áp, dòng điện, điện tích hoặc trở kháng theo hàm truyền đạt:
$$s = F(m)$$
- Kiến trúc mạng IoT và các nền tảng phát triển: Tổng quan các nền tảng phát triển IoT tiêu biểu gồm:
- Social / Firmware: Cộng đồng mã nguồn mở Arduino.
- Mobile: Nền tảng Blynk hỗ trợ xây dựng giao diện điều khiển trên iOS/Android kết nối đa nền tảng (Arduino, ESP8266, Raspberry Pi).
- Data Analytics: Nền tảng mở ThingSpeak hỗ trợ thu thập, phân tích và lưu trữ dữ liệu cảm biến qua HTTP/LAN (do ioBridge phát triển).
- Cloud / Hardware: Nền tảng Particle Cloud với các phần cứng tích hợp như Spark Core, Photon (chip ARM kết hợp Wi-Fi) hỗ trợ lập trình Webhook và REST API.
- Kiến trúc ứng dụng Web và Webserver:
- Mô hình 3 thành phần: Web server, Application content (nội dung ứng dụng) và Datastore (lưu trữ dữ liệu).
- Các giao thức mạng: Giao thức truyền tải siêu văn bản HTTP (phi trạng thái - stateless, cấu trúc HTTP Header dạng Request/Response qua cổng 80) và giao thức truyền tệp FTP.
- Cơ chế quản lý phiên và an ninh mạng: Session, Cookie (tệp dữ liệu cấu trúc dưới 4KB lưu tại client), Proxy Server và Firewall.
- Khảo sát các phần mềm Web Server phổ biến: Apache HTTP Server (chiếm 60% thị phần máy chủ web vào năm 2007, phát hành theo Apache License), Microsoft IIS (IIS 1.0 đến IIS 7.0 trên Windows Server), Sun Java System Web Server (JSWS - iPlanet).
Phương pháp nghiên cứu được áp dụng trong đề tài là phương pháp thiết kế kỹ thuật (Engineering Design) kết hợp thực nghiệm phần cứng và lập trình tích hợp hệ thống nhúng. Tác giả tiến hành tính toán mạch điện tử, ghép nối module phần cứng thực tế, lập trình nhúng C/C++ trên nền vi điều khiển ESP32 và xây dựng giao diện web động bằng HTML, CSS, JavaScript tương tác thông qua các yêu cầu AJAX (XMLHttpRequest). Nguồn dữ liệu thực nghiệm được thu thập trực tiếp từ các đầu đo cảm biến theo thời gian thực.
Thiết kế và triển khai
Hệ thống được thiết kế theo cấu trúc module hoàn chỉnh gồm khối xử lý trung tâm, khối thu thập dữ liệu (cảm biến), khối chấp hành công suất (relay), khối nguồn và khối giao diện người dùng Webserver.
+-------------------------------------------------------------+
| NGUỒN CẤP HỆ THỐNG |
| - Nguồn xung HIECUBE HD0512P36SR (12VDC/3A & 5VDC/0.5A) |
| - Nguồn tổ ong 12V - 5A (60W) |
+------------------------------+------------------------------+
|
v
+-----------------------------------------------------------------------------+
| KHỐI CẢM BIẾN (INPUT) |
| - DHT11 (Nhiệt độ, Độ ẩm) ---> Chân DATA: GPIO27 |
| - HC-SR04 (Siêu âm đo mức nước) ---> TRIG: GPIO5 | ECHO: GPIO18 |
| - Rain Water Sensor (Cảm biến mưa) ---> Ngõ AO: GPIO35 |
| - Photodiode Light Sensor (Ánh sáng) ---> Ngõ AO: GPIO34 |
+-------------------------------------+---------------------------------------+
|
v
+-----------------------------------------------------------------------------+
| KHỐI XỬ LÝ TRUNG TÂM (ESP32) |
| - Vi điều khiển: ESP32 NodeMCU LuaNode32 (ESP-WROOM-32) |
| - Kết nối: Wi-Fi 802.11 b/g/n, BLE, UART CP2102 |
| - Xử lý giải mã tín hiệu cảm biến & thuật toán điều khiển AUTO / MAN |
| - Lưu trữ cấu hình cài đặt người dùng vào ROM |
+----------------------+------------------------------+-----------------------+
| |
v v
+-------------------------------+ +------------------------------------------+
| KHỐI CHẤP HÀNH (8 RELAY OPTO)| | GIAO DIỆN GIÁM SÁT & ĐIỀU KHIỂN |
| 1. Bơm bồn 5. Quạt mát | | - Webserver tích hợp trên ESP32 |
| 2. Bơm tưới 6. Quạt hút | | - AJAX XMLHttpRequest (giao tiếp JSON) |
| 3. Đèn sáng 7. Rèm mưa | | - Màn hình LCD 20x4 hiển thị tại chỗ |
| 4. Đèn sưởi 8. Rèm nắng | | - Cài đặt ngưỡng môi trường / hẹn giờ |
+-------------------------------+ +------------------------------------------+
1. Thông số kỹ thuật các linh kiện phần cứng
Hệ thống sử dụng các linh kiện phần cứng tiêu chuẩn công nghiệp và module nhúng chuyên dụng:
| Linh kiện / Thiết bị |
Thông số kỹ thuật chính |
Chức năng trong hệ thống |
| ESP32 NodeMCU LuaNode32 |
SoC ESP-WROOM-32, tích hợp Wi-Fi, BLE, giao tiếp nạp UART CP2102, nguồn nuôi 5VDC Micro USB, chuẩn chân 2.54mm. |
Bộ vi xử lý trung tâm, tiếp nhận dữ liệu cảm biến, chạy Webserver, xuất tín hiệu điều khiển. |
| Cảm biến DHT11 |
Điện áp 3–5V, dải nhiệt độ 0–55°C (±2°C), dải độ ẩm 20–90% (±5%), tần số lấy mẫu 1Hz, chuẩn giao tiếp 1 dây (1-Wire). |
Đo nhiệt độ và độ ẩm không khí môi trường nuôi trồng. |
| Cảm biến ánh sáng (Photodiode) |
Điện áp 3.3–5VDC, tích hợp Opamp so sánh, kích thước 30x16mm, ngõ ra Digital (DO) và Analog (AO). |
Xác định cường độ sáng môi trường, hỗ trợ điều khiển đèn và rèm che nắng. |
| Cảm biến nước mưa (Rain Sensor) |
Điện áp 5VDC, tấm cảm biến 54x40mm, mạch PCB 30x16mm, ngõ ra TTL (DO) và điện áp tuyến tính (AO). |
Phát hiện hạt mưa trên bề mặt để kích hoạt rèm che mưa bảo vệ cây trồng. |
| Cảm biến siêu âm HC-SR04 |
Điện áp 5VDC, dòng 10–40mA, tần số phát 40kHz, góc quét <15°, dải đo 2–450cm (chính xác nhất <100cm). |
Đo khoảng cách mực nước trong bồn chứa phục vụ bơm tự động. |
| Module 8 Relay Opto cách ly |
Điện áp 5VDC, kích mức thấp (0VDC), dòng nuôi 80mA/relay, tiếp điểm đóng ngắt tối đa AC 250V/10A hoặc DC 30V/10A (khuyến nghị tải <100W). |
Đóng ngắt 8 thiết bị điện công suất trong hệ thống nhà vườn. |
| Nguồn xung HIECUBE HD0512P36SR |
Đầu vào 85–265VAC (50/60Hz), đầu ra kép 12VDC (3A) và 5VDC (0.5A), công suất cực đại 36W, kích thước 23x48x36mm. |
Cấp nguồn một chiều ổn định cho vi điều khiển, cảm biến và relay. |
| Bộ nguồn tổ ong 12V 5A |
Đầu vào 100–250VAC, công suất 60W, dòng tải 5A, hiệu suất >85%, bảo vệ quá tải 105–150%, kích thước 110x78x36mm. |
Cấp nguồn động lực cho các thiết bị tải 12VDC công suất lớn. |
| Màn hình LCD 20x4 |
Chuẩn hiển thị 4 dòng x 20 ký tự. |
Hiển thị thông số giám sát trực tiếp tại tủ điều khiển. |
2. Sơ đồ kết nối chân vi điều khiển ESP32
Các chân giao tiếp giữa ESP32 NodeMCU và các module cảm biến được đấu nối theo bảng quy hoạch phần cứng:
| Tên cảm biến / Module |
Chân tín hiệu trên cảm biến |
Chân kết nối trên ESP32 NodeMCU |
Chân cấp nguồn |
| Cảm biến nhiệt độ - độ ẩm DHT11 |
DATA |
GPIO 27 |
VCC $\rightarrow$ 5V, GND $\rightarrow$ Mass |
| Cảm biến siêu âm HC-SR04 |
TRIG ECHO |
GPIO 5 GPIO 18 |
VCC $\rightarrow$ 5V, GND $\rightarrow$ Mass |
| Cảm biến nước mưa (Rain Sensor) |
AO (Analog Output) |
GPIO 35 |
VCC $\rightarrow$ 5V, GND $\rightarrow$ Mass |
| Cảm biến ánh sáng (Light Sensor) |
AO (Analog Output) |
GPIO 34 |
VCC $\rightarrow$ 5V, GND $\rightarrow$ Mass |
3. Nguyên lý tính toán và điều khiển
- Đo khoảng cách mực nước bằng HC-SR04: Vi điều khiển phát một xung ngắn có độ rộng $5\ \mu\text{s}$ trên chân TRIG. HC-SR04 phát chuỗi sóng siêu âm 40kHz và kéo chân ECHO lên mức HIGH cho đến khi nhận được sóng phản xạ. Với vận tốc âm thanh trong không khí là $340\text{ m/s}$, thời gian sóng truyền đi và về cho $1\text{ cm}$ là:
$$\text{Thời gian} = \frac{10^6\ \mu\text{s}}{340 \times 100\text{ cm}} \approx 29{,}412\ \mu\text{s/cm}$$
Khoảng cách đo được tính theo công thức: $\text{Khoảng cách (cm)} = \frac{\text{Thời gian xung ECHO tính bằng }\mu\text{s}}{29{,}412}$.
- Giải mã tín hiệu cảm biến DHT11: Dữ liệu truyền về vi điều khiển qua chân DATA gồm 40 bit tuần tự: 8 bit nguyên độ ẩm + 8 bit thập phân độ ẩm + 8 bit nguyên nhiệt độ + 8 bit thập phân nhiệt độ + 8 bit checksum.
(Ví dụ tính toán kiểm tra: Dữ liệu nhị phân
0011 0101 0000 0000 0001 1000 0000 0000 0100 1101 $\rightarrow$ Checksum: $35\text{H} + 00\text{H} + 18\text{H} + 00\text{H} = 4D\text{H}$; Độ ẩm = $35\text{H} = 53%$; Nhiệt độ = $18\text{H} = 24^\circ\text{C}$).
4. Thiết kế giao diện và cơ chế truyền thông Webserver
Giao diện Web được lưu trữ và phục vụ trực tiếp bởi ESP32, chia thành các phân hệ quản lý:
- Phân hệ hiển thị giám sát: Cập nhật thời gian thực giá trị Nhiệt độ (°C), Độ ẩm (%), Ánh sáng (%), Nước mưa (%) và Mực nước bồn chứa. Ngoài ra, giao diện hiển thị trạng thái hoạt động của 8 thiết bị chấp hành bằng mã màu quy ước: Bật (ON: màu xanh
#00FF40), Tắt (OFF: màu xám #C0C0C0).
- Phân hệ điều khiển 8 thiết bị chấp hành:
- Thiết bị 0 (
DEV0MD0): Bơm bồn
- Thiết bị 1 (
DEV1MD1): Bơm tưới
- Thiết bị 2 (
DEV2MD2): Đèn sáng
- Thiết bị 3 (
DEV3MD3): Đèn sưởi
- Thiết bị 4 (
DEV4MD4): Quạt mát
- Thiết bị 5 (
DEV5MD5): Quạt hút
- Thiết bị 6 (
DEV6MD6): Rèm che mưa
- Thiết bị 7 (
DEV7MD7): Rèm che nắng
- Phân hệ cấu hình tham số (Trang cài đặt - Setting): Cho phép người dùng thiết lập các thông số môi trường mong muốn rồi gửi xuống ESP32 để ghi nhớ vào bộ nhớ ROM:
- Bơm bồn: Cài đặt
Level Min (cm), Level Max (cm), chiều cao bồn PumHeight (cm).
- Bơm tưới: Cài đặt thời gian bắt đầu chạy
Time Start Run (Giờ:Phút:Giây), khoảng thời gian tưới Running Time (Giờ:Phút:Giây), chế độ tự động Mode for Auto.
- Ngưỡng môi trường nuôi trồng: Nhiệt độ tối thiểu
Temperature Min (ví dụ 27°C), tối đa Temperature Max (ví dụ 33°C); Độ ẩm tối thiểu Humi Min (40%), tối đa Humi Max (80%); Cường độ ánh sáng tối thiểu Light Min (10%), tối đa Light Max (10%).
Chương trình điều khiển phía WebClient sử dụng JavaScript khởi tạo đối tượng XMLHttpRequest để gửi dữ liệu định dạng JSON qua phương thức HTTP POST đến ESP32 khi người dùng nhấn nút chuyển trạng thái hoặc thay đổi chế độ:
var DevOn = 0;
var DevOff = 1;
var MAN = 0; // Mode manual
var AUTO = 1; // Mode auto
var ColorButton = ["#00FF40", "#C0C0C0"];
var ColorOn = "#00FF40";
var ColorOff = "";
var DevState = [DevOff, DevOff, DevOff, DevOff, DevOff, DevOff, DevOff, DevOff];
var ModeState = [MAN, MAN, MAN, MAN, MAN, MAN, MAN, MAN];
function PressDevice(p) {
runDev = 1;
loadXmlHttp();
if (xh) {
obj = {"Dev": p};
dbParam = JSON.stringify(obj);
xh.open("POST", "Dev", true);
UpdateOneStateChange();
}
}
Nội dung chính theo từng chương
Chương 1: Mở đầu
Chương 1 trình bày lý do chọn đề tài, sự cần thiết của việc hiện đại hóa nông nghiệp thông qua công nghệ vi xử lý và hệ thống cảm biến tự động. Tác giả nêu bật vai trò của cảm biến như "giác quan" của hệ thống điều khiển tự động nhằm giảm thiểu sức lao động thủ công trong điều kiện thời tiết khắc nghiệt. Chương này cũng phân định 8 mục tiêu ứng dụng và phạm vi đề tài, tập trung vào giám sát 4 thông số môi trường chính (nhiệt độ, độ ẩm, mưa, ánh sáng) và điều khiển các thiết bị bơm, quạt, đèn, rèm qua mạng Internet.
Chương 2: Giới thiệu về Internet of Things (IoT)
Chương 2 khái quát hóa định nghĩa IoT là mạng lưới kết nối vạn vật qua Internet mà không cần sự tương tác trực tiếp người - người hoặc người - máy. Tác giả dẫn chứng dự báo của hãng Cisco về mốc 50 tỷ thiết bị kết nối vào năm 2020 (quy mô toàn cầu đạt 4 ngàn tỷ USD doanh thu, 25 triệu ứng dụng, 50 ngàn tỷ GB dữ liệu). Đồng thời, chương này khảo sát các nền tảng công nghệ IoT hiện hữu gồm:
- Arduino & C++: Nền tảng lập trình nhúng cơ bản.
- Particle (Photon & Spark Core): Module chip ARM tích hợp Wi-Fi, hỗ trợ RESTful API, Particle Cloud, Webhook; dẫn chứng ứng dụng thực tế trên máy pha cà phê Keurig và hệ sinh thái vườn thông minh Grove Labs.
- Blynk: Nền tảng xây dựng ứng dụng di động điều khiển IoT trên iOS/Android thông qua Blynk Cloud.
- ThingSpeak: Nền tảng máy chủ lưu trữ và phân tích dữ liệu cảm biến qua giao thức HTTP (do ioBridge phát triển).
Chương 3: Tổng quan về các linh kiện được sử dụng
Chương 3 trình bày chi tiết cấu tạo, nguyên lý làm việc và bảng thông số kỹ thuật của từng thành phần phần cứng được lựa chọn trong đề tài:
- Vi điều khiển trung tâm ESP32 NodeMCU LuaNode32 tích hợp nhân ARM SoC, Wi-Fi, BLE và IC nạp CP2102.
- Nguyên lý hoạt động của Rơle điện cơ (các tiếp điểm COM, NC, NO; phân biệt 2 loại transistor kích mức cao NPN và kích mức thấp PNP) và module 8 Relay Opto cách ly 5VDC kích Low.
- Cảm biến nhiệt độ - độ ẩm không khí DHT11 (chuẩn 1-Wire, cấu trúc gói tin 40 bit, tần số lấy mẫu 1Hz).
- Cảm biến ánh sáng Photodiode Light Sensor (ngõ ra DO điều chỉnh qua biến trở và ngõ ra tuyến tính AO).
- Cảm biến nước mưa Rain Water Sensor (so sánh điện thế bề mặt tiếp xúc nước, ngõ ra TTL và Analog).
- Cảm biến siêu âm HC-SR04 (tần số 40kHz, cặp chân Trigger/Echo, vận tốc âm thanh 340 m/s).
- Khối cấp nguồn: Nguồn xung AC-DC HIECUBE HD0512P36SR (ra 12VDC và 5VDC) và bộ nguồn tổ ong 12V 5A (công suất 60W, hiệu suất >85%).
Chương 4: Giới thiệu về Webserver
Chương 4 cung cấp nền tảng lý thuyết về công nghệ phần mềm mạng và máy chủ phục vụ cho việc xây dựng Webserver nhúng:
- Khái niệm ứng dụng Web (Web Application), kiến trúc 3 thành phần (Web server, Application content, Datastore) và 3 phương pháp giao tiếp cơ sở dữ liệu phổ biến (Native database APIs, ODBC, JDBC).
- Các khái niệm an toàn và truyền thông web: Cấu trúc HTTP Header (phân tích chi tiết trường Header của HTTP Request và HTTP Response mã trạng thái 200 OK), Session, Cookie (tệp văn bản dưới 4KB), máy chủ Proxy và tường lửa Firewall.
- Giao thức mạng: HTTP (giao thức phi trạng thái thuộc bộ TCP/IP) và giao thức truyền tệp FTP.
- So sánh các phần mềm Web Server thông dụng trên thế giới: Apache HTTP Server (mã nguồn mở của Apache Software Foundation, chiếm 60% thị phần năm 2007), Microsoft IIS (từ IIS 1.0 trên Windows NT đến IIS 6.0/7.0 trên Windows Server) và Sun Java System Web Server (JSWS/iPlanet phục vụ các doanh nghiệp lớn như BMW, E*TRADE).
Chương 5: Thiết kế mạch và chương trình điều khiển
Chương 5 là nội dung thực nghiệm kỹ thuật trọng tâm của đồ án:
- Trình bày nguyên lý phối hợp hoạt động giữa các khối cảm biến và 8 tải chấp hành trong mô hình nông nghiệp thông minh.
- Thiết lập sơ đồ ghép nối chân phần cứng chi tiết giữa ESP32 với các cảm biến DHT11 (GPIO27), HC-SR04 (Trig GPIO5, Echo GPIO18), Rain Sensor (GPIO35) và Light Sensor (GPIO34).
- Thiết kế giao diện Web giám sát thời gian thực và trang cài đặt thông số (
Setting) lưu trực tiếp vào ROM của ESP32.
- Xây dựng thuật toán và mã nguồn điều khiển: Lập trình JavaScript xử lý sự kiện nút bấm trên giao diện Web, đóng gói dữ liệu JSON và truyền nhận bất đồng bộ bằng
XMLHttpRequest qua phương thức POST tới địa chỉ /Dev.
Chương 6: Kết luận và hướng phát triển đề tài
Chương 6 tổng kết toàn bộ quá trình nghiên cứu, đánh giá mức độ hoàn thành mục tiêu thiết kế phần cứng, phần mềm và đề ra các định hướng hoàn thiện hệ thống trong tương lai.
Kết quả và đóng góp
1. Kết quả thực nghiệm đạt được
- Về phần cứng: Chế tạo thành công mô hình mạch phần cứng tích hợp hoàn chỉnh gồm khối vi điều khiển ESP32, màn hình LCD 20x4, mạch 8 Relay cách ly quang và các cảm biến DHT11, HC-SR04, cảm biến quang, cảm biến nước mưa. Mạch nguồn xung kép HIECUBE kết hợp nguồn tổ ong 12V 5A đảm bảo cấp nguồn liên tục, an toàn cho cả mạch điều khiển và tải công suất.
- Về tính năng thu thập và hiển thị: Hệ thống đo đạc chính xác các thông số môi trường (nhiệt độ, độ ẩm, ánh sáng, nước mưa, mức nước bồn chứa) và hiển thị đồng thời trên màn hình LCD tại chỗ lẫn giao diện Webserver.
- Về khả năng điều khiển: Thực thi tin cậy việc đóng ngắt 8 thiết bị ngoại vi (bơm tưới, bơm bồn, quạt hút, quạt mát, đèn chiếu sáng, đèn sưởi, rèm che mưa, rèm che nắng).
- Về tính năng phần mềm:
- Hỗ trợ 2 chế độ làm việc linh hoạt: chế độ thủ công (MAN) theo lệnh trực tiếp của người dùng và chế độ tự động (AUTO) theo thuật toán so sánh ngưỡng môi trường.
- Tích hợp trang cấu hình tham số trực quan, dữ liệu cài đặt được ghi trực tiếp vào ROM của ESP32 giúp duy trì trạng thái cài đặt ngay cả khi mất nguồn điện.
2. Đóng góp của đề tài
- Hiện thực hóa thành công giải pháp Webserver nhúng trực tiếp trên vi điều khiển ESP32, giúp hệ thống hoạt động độc lập qua mạng Wi-Fi cục bộ hoặc Internet mà không bắt buộc phải duy trì một máy chủ máy tính độc lập (PC Server) tốn kém điện năng.
- Tích hợp toàn diện các khâu giám sát và can thiệp môi trường nhà vườn (từ tưới tiêu, chiếu sáng, sưởi ấm đến che chắn thời tiết) trong một hệ thống điều khiển tập trung, đưa ra quy trình thiết kế kỹ thuật rõ ràng từ tính toán phần cứng đến lập trình truyền thông web.
Hạn chế và hướng nghiên cứu tiếp
- Hạn chế được ghi nhận từ văn bản:
- Tác giả tự đánh giá do giới hạn về mặt kiến thức chuyên sâu và thời gian thực hiện đồ án gấp rút nên hệ thống vẫn còn một số sai sót cần tiếp tục hoàn thiện.
- Về mặt phần cứng, cảm biến DHT11 có dải đo và độ chính xác ở mức cơ bản (sai số nhiệt độ $\pm 2^\circ\text{C}$, độ ẩm $\pm 5%$, tần số trích mẫu $1\text{Hz}$); cảm biến siêu âm HC-SR04 hoạt động tối ưu nhất trong không gian hẹp dưới $100\text{ cm}$.
- Hướng phát triển tiếp:
- Nâng cấp các đầu đo cảm biến công nghiệp có độ chính xác cao hơn, chịu được môi trường ẩm ướt khắc nghiệt ngoài trời trong thời gian dài.
- Mở rộng thêm các giải thuật điều khiển thông minh tự động thích ứng với từng giai đoạn sinh trưởng của từng loại cây trồng cụ thể.
- Tối ưu hóa giao diện người dùng và nâng cao tính bảo mật cho Webserver nhúng khi kết nối công khai ra môi trường Internet.
Giá trị tham khảo
Đồ án là tài liệu tham khảo kỹ thuật hữu ích cho:
- Đối tượng: Sinh viên các ngành Điện tử công nghiệp, Kỹ thuật Điện - Điện tử, Kỹ thuật Điều khiển & Tự động hóa, Công nghệ Thông tin và Kỹ thuật Máy tính đang thực hiện đồ án môn học, khóa luận tốt nghiệp hoặc các dự án nghiên cứu về IoT trong nông nghiệp công nghệ cao.
- Nội dung giá trị:
- Tài liệu cung cấp bảng thông số kỹ thuật chi tiết và cách đấu nối chân GPIO thực tế giữa ESP32 với các module ngoại vi phổ biến (DHT11, HC-SR04, Rain Sensor, Light Sensor, Module 8 Relay Opto).
- Phương pháp tính toán thời gian truyền sóng siêu âm theo hằng số vật lý ($340\text{ m/s} \approx 29{,}412\ \mu\text{s/cm}$) và thuật toán phân tích khung dữ liệu 40 bit của cảm biến 1-Wire DHT11.
- Cấu trúc xây dựng giao diện Web động nhúng trong vi điều khiển và phương thức truyền thông AJAX (
XMLHttpRequest) gửi nhận dữ liệu định dạng JSON để điều khiển thiết bị hai chiều.
Câu hỏi thường gặp
1. Vi điều khiển ESP32 giao tiếp với các cảm biến trong đồ án qua các chân GPIO cụ thể nào?
Theo bảng phân công phần cứng tại Chương 5, các chân kết nối được quy định như sau:
- Cảm biến nhiệt độ - độ ẩm DHT11: Chân DATA kết nối với GPIO 27.
- Cảm biến siêu âm HC-SR04: Chân TRIG kết nối với GPIO 5, chân ECHO kết nối với GPIO 18.
- Cảm biến nước mưa (Rain Sensor): Chân ngõ ra tương tự AO kết nối với GPIO 35.
- Cảm biến ánh sáng (Light Sensor): Chân ngõ ra tương tự AO kết nối với GPIO 34.
2. Gói dữ liệu 40 bit truyền về của cảm biến DHT11 có cấu trúc như thế nào và cách tính toán kiểm tra checksum ra sao?
Gói tin 40 bit của DHT11 được chia thành 5 nhóm byte liên tiếp:
- 8 bit biểu thị phần nguyên của độ ẩm.
- 8 bit biểu thị phần thập phân của độ ẩm.
- 8 bit biểu thị phần nguyên của nhiệt độ.
- 8 bit biểu thị phần thập phân của nhiệt độ.
- 8 bit checksum (kiểm tra tính toàn vẹn dữ liệu).
Giá trị Checksum hợp lệ phải thỏa mãn: $\text{Checksum} = (\text{Nguyên độ ẩm} + \text{Thập phân độ ẩm} + \text{Nguyên nhiệt độ} + \text{Thập phân nhiệt độ}) \pmod{256}$.
3. Hệ thống hỗ trợ những chế độ vận hành nào và nguyên lý hoạt động của từng chế độ là gì?
Hệ thống hỗ trợ 2 chế độ làm việc:
- Chế độ thủ công (MAN): Người dùng trực tiếp bật/tắt từng thiết bị thông qua các nút nhấn điều khiển trên giao diện Web dựa trên kinh nghiệm cá nhân.
- Chế độ tự động (AUTO): Vi điều khiển tự động so sánh dữ liệu thực tế từ các cảm biến với các ngưỡng cài đặt lưu trong ROM (như ngưỡng nhiệt độ
Temperature Min - Max, độ ẩm Humi Min - Max, ánh sáng Light Min - Max, mực nước Level Min - Max và khung giờ hẹn giờ tưới) để tự động kích hoạt các relay tương ứng.
4. Module 8 Relay Opto cách ly sử dụng trong hệ thống có thông số kích và khả năng chịu tải như thế nào?
Module sử dụng điện áp nuôi 5VDC, dòng tiêu thụ khoảng 80mA cho mỗi rơle. Mạch được kích đóng bằng tín hiệu mức thấp (Low - 0VDC) và ngắt ở mức cao (High - TTL 3.3–5VDC). Tiếp điểm rơle cho phép đóng ngắt điện thế tối đa là AC 250V ~ 10A hoặc DC 30V ~ 10A, tác giả khuyến nghị sử dụng an toàn cho các tải điện có công suất dưới 100W.
5. Cơ chế gửi và nhận tín hiệu điều khiển giữa giao diện Web và ESP32 được thực hiện bằng phương thức nào?
Giao diện Web sử dụng đối tượng JavaScript XMLHttpRequest để gửi các yêu cầu bất đồng bộ HTTP POST chứa chuỗi dữ liệu định dạng JSON (ví dụ: {"Dev": p}) đến máy chủ nhúng ESP32 tại đường dẫn /Dev. ESP32 tiếp nhận yêu cầu, thay đổi trạng thái chân điều khiển rơle và phản hồi dữ liệu trạng thái để giao diện Web cập nhật màu sắc hiển thị nút nhấn (màu xanh #00FF40 khi ON, màu xám khi OFF).
Kết luận
Đồ án tốt nghiệp "Phát triển hệ thống IoT cho nông nghiệp thông minh" của hai sinh viên Phan Ngọc Hiểu và Trần Nguyễn Hoài Nam đã hoàn thành việc thiết kế và chế tạo mô hình giám sát, điều khiển tự động phục vụ môi trường nhà vườn. Đề tài tích hợp thành công vi điều khiển ESP32 với các module cảm biến nhiệt độ, độ ẩm, ánh sáng, nước mưa, mực nước siêu âm và mạch công suất 8 relay để tự động hóa toàn diện các tải chấp hành như bơm tưới, quạt thông gió, đèn sưởi và rèm che. Thông qua máy chủ Web nhúng kết hợp lưu trữ tham số vào ROM, hệ thống mang lại giải pháp điều khiển linh hoạt ở cả hai chế độ thủ công và tự động, tạo nguồn tài liệu tham khảo kỹ thuật rõ ràng và có tính ứng dụng thực tiễn cao cho các nghiên cứu IoT nông nghiệp.