Bối cảnh và vấn đề nghiên cứu
Trong giai đoạn đầu của cuộc Cách mạng công nghiệp lần thứ tư, mạng lưới vạn vật kết nối Internet (Internet of Things - IoT) đang phát triển mạnh mẽ và mở ra tiềm năng ứng dụng rộng lớn trong sản xuất, công nghiệp và đời sống. Tại Việt Nam, công nghệ IoT đang được khuyến khích nghiên cứu và ứng dụng nhằm rút ngắn khoảng cách phát triển công nghệ. Trong lĩnh vực nông nghiệp đô thị và đời sống hàng ngày, rau xanh là nguồn thực phẩm thiết yếu cung cấp vitamin, chất khoáng, chất xơ và axit hữu cơ. Tuy nhiên, thực trạng mất an toàn vệ sinh thực phẩm, tình trạng lạm dụng hóa chất bảo vệ thực vật, thuốc kích thích tăng trưởng và nông sản không rõ nguồn gốc đang gây lo ngại lớn cho người tiêu dùng.
Nhu cầu sử dụng rau sạch tự trồng tại các hộ gia đình ngày càng tăng cao, nhưng việc chăm sóc thủ công gặp nhiều trở ngại do người trồng thiếu thời gian. Phương thức tưới tiêu và chiếu sáng thủ công dễ dẫn đến tình trạng thừa hoặc thiếu nước và ánh sáng, không đáp ứng kịp thời nhu cầu sinh trưởng của cây trồng và tốn nhiều công sức. Xuất phát từ thực tế đó, đề tài "Thiết kế và thi công hệ thống điều khiển vườn qua mạng Internet" được thực hiện nhằm tự động hóa quá trình chăm sóc vườn rau, tối ưu hóa việc sử dụng tài nguyên nước và điện năng.
Mục tiêu nghiên cứu của đồ án bao gồm 4 mục tiêu cụ thể:
- Sử dụng máy tính nhúng Raspberry Pi để thu thập các thông số môi trường gồm nhiệt độ không khí, độ ẩm không khí, độ ẩm đất và cường độ ánh sáng; đồng thời điều khiển các thiết bị ngoại vi theo 2 chế độ: tự động (bật/tắt thiết bị dựa trên các giá trị ngưỡng môi trường) và bằng tay (bật/tắt trực tiếp thiết bị).
- Xây dựng Website tương tác cho phép người dùng giám sát các thông số vi khí hậu của khu vườn, điều khiển thiết bị và cài đặt các giá trị ngưỡng vận hành từ xa qua mạng Internet.
- Quản lý và lưu trữ dữ liệu bằng hệ quản trị cơ sở dữ liệu MySQL Database nhằm phục vụ việc theo dõi trạng thái thiết bị và các thông số môi trường theo thời gian thực cũng như xem lại dữ liệu trong quá khứ.
- Xây dựng khối điều khiển trực tiếp tại chỗ bằng bàn phím ma trận và hiển thị trực quan các thông số trên màn hình LCD để người dùng dễ quan sát và thao tác tại phần cứng.
Nhiệm vụ nghiên cứu để hoàn thành các mục tiêu trên gồm:
- Lập trình điều khiển trung tâm trên máy tính nhúng Raspberry Pi.
- Thiết kế giao tiếp giữa bộ xử lý với bàn phím ma trận và màn hình LCD.
- Thiết kế và xây dựng giao diện Website tương tác người dùng.
- Thiết kế cấu trúc và quản lý cơ sở dữ liệu với SQL.
- Xây dựng giao thức truyền nhận dữ liệu đồng bộ giữa Raspberry Pi và hệ thống máy chủ Website.
Đối tượng nghiên cứu của đồ án tập trung vào: máy tính nhúng Raspberry Pi 2 Model B+ V1.2 (phần cứng, phần mềm hệ điều hành Raspbian); cảm biến nhiệt độ và độ ẩm DHT11; cảm biến độ ẩm đất; cảm biến ánh sáng quang trở; vi mạch chuyển đổi tương tự - số MCP3008; màn hình LCD 20x4; bàn phím ma trận 4x4; các chuẩn giao tiếp nối tiếp SPI, I2C, 1-wire; module Relay công suất; ngôn ngữ lập trình Python (module Thread, module Requests); các công nghệ phát triển Web (HTML, CSS, JavaScript, jQuery, AJAX, PHP) và cơ sở dữ liệu MySQL. Phạm vi nghiên cứu giới hạn trong việc thiết kế, thi công và thử nghiệm mô hình hệ thống giám sát, điều khiển tưới tiêu và chiếu sáng cho vườn rau quy mô gia đình thông qua mạng cục bộ và mạng Internet.
Cơ sở lý thuyết và phương pháp
Hệ thống dựa trên nền tảng tích hợp giữa phần cứng nhúng, mạng cảm biến vi khí hậu và nền tảng dịch vụ web. Về phần cứng xử lý trung tâm, đồ án sử dụng board mạch Raspberry Pi 2 Model B+ V1.2 tích hợp vi xử lý SoC Broadcom BCM2835 (lõi ARM1176JZF-S xung nhịp 700 MHz, GPU Dual Core VideoCore IV, bộ nhớ RAM 512MB SDRAM), hoạt động trên hệ điều hành Raspbian (nhánh Debian Linux tối ưu hóa cho phần cứng Raspberry Pi, hỗ trợ giao diện dòng lệnh text console và giao diện đồ họa LXDE thông qua X-server).
Các thành phần cảm biến và phần cứng ngoại vi được sử dụng gồm:
- Cảm biến nhiệt độ và độ ẩm không khí DHT11: Điện áp hoạt động 3.3V - 5V; dải đo nhiệt độ 0 - 50°C (độ chính xác ±2°C); dải đo độ ẩm 20 - 90% RH (độ chính xác ±5%). Cảm biến sử dụng giao thức truyền thông nối tiếp 1 dây (1-wire), dữ liệu truyền về MCU gồm 40 bit (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 Parity check).
- Cảm biến độ ẩm đất: Hoạt động ở điện áp 3.3V - 5V, tích hợp IC so sánh LM393 và chiết áp điều chỉnh độ nhạy; cung cấp 2 ngõ ra gồm ngõ ra số (DO) và ngõ ra tương tự (AO).
- Cảm biến ánh sáng quang trở: Hoạt động dựa trên hiện tượng quang điện trong; điện áp cực đại 250VDC, công suất cực đại 200mW, bước sóng đỉnh phổ 540nm; điện trở sáng 10 - 20 kΩ (ở 10 lux), điện trở tối 2 MΩ, thời gian đáp ứng 30ms; tích hợp IC so sánh LM393 để xuất tín hiệu tương tự và số.
- IC chuyển đổi tương tự - số MCP3008: Do Raspberry Pi không có khối ADC nội, MCP3008 được sử dụng làm cầu nối chuyển đổi tín hiệu điện áp tương tự từ cảm biến độ ẩm đất và quang trở sang dữ liệu số 10-bit với 8 kênh ngõ vào, hoạt động ở dải điện áp 2.7V - 5.5V, giao tiếp với Raspberry Pi qua chuẩn SPI.
- Màn hình hiển thị LCD 20x4: Sử dụng chip điều khiển HD44780 với cấu trúc 4 hàng x 20 ký tự, tích hợp 2 thanh ghi 8-bit (thanh ghi lệnh IR, thanh ghi dữ liệu DR) cùng các bộ nhớ DDRAM (80 ký tự), CGROM và CGRAM; kết nối với Raspberry Pi qua module chuyển đổi I2C.
- Bàn phím ma trận 4x4: Gồm 16 phím bấm, kết nối qua 8 đường GPIO (4 chân hàng R1-R4 và 4 chân cột C1-C4), sử dụng thuật toán quét mức logic thấp để xác định phím nhấn.
Về lý thuyết truyền thông phần cứng, đồ án phân tích và so sánh chi tiết hai chuẩn giao tiếp nối tiếp tầm ngắn SPI và I2C:
| Tiêu chí so sánh |
Chuẩn SPI |
Chuẩn I2C |
| Cấu trúc Master / Slave |
Cho phép có nhiều Master |
Chỉ cho phép 1 Master duy nhất |
| Điều khiển Clock |
Master tạo và kiểm soát Clock cho tất cả Slave |
Slave có khả năng kéo dài/thay đổi Clock |
| Chế độ truyền dữ liệu |
Song công toàn phần (Full-duplex) |
Bán song công (Half-duplex) |
| Đường truyền vật lý |
4 đường: MOSI, MISO, SCLK, SS |
2 đường: SDA (dữ liệu), SCL (xung nhịp) |
| Cơ chế bắt đầu truyền |
Master tạo xung cạnh xuống trên chân SS |
Master tạo điều kiện Start (SDA chuyển từ High sang Low khi SCL ở High) |
| Cơ chế kết thúc truyền |
Master tạo xung cạnh lên trên chân SS |
Master tạo điều kiện Stop (SDA chuyển từ Low sang High khi SCL ở High) |
| Tiến trình đọc dữ liệu |
Chỉ cần 1 tiến trình: gửi địa chỉ, số thanh ghi và nhận dữ liệu qua byte giả |
Cần 2 tiến trình: gửi địa chỉ thiết bị, số thanh ghi, sau đó tiến hành đọc/ghi dữ liệu |
Về lý thuyết phần mềm và truyền thông mạng:
- Lập trình Python: Ứng dụng module
Thread để thực thi đa luồng cấp thấp nhằm xử lý đồng thời việc đọc cảm biến, quét phím, cập nhật màn hình và điều khiển thiết bị; sử dụng module Requests để gửi và nhận dữ liệu qua các phương thức HTTP GET/POST với định dạng JSON.
- Phát triển giao diện và Web Server: Sử dụng HTML, CSS định dạng trang; JavaScript và thư viện jQuery thao tác trên cây DOM và xử lý sự kiện giao diện; kỹ thuật AJAX trao đổi dữ liệu không đồng bộ giữa trình duyệt và máy chủ; ngôn ngữ PHP thông dịch kịch bản phía server; hệ quản trị cơ sở dữ liệu MySQL lưu trữ thông tin người dùng và các bản ghi thông số vườn.
Phương pháp nghiên cứu được áp dụng gồm: phương pháp tổng hợp tài liệu chuyên ngành mạch điện tử, hệ thống nhúng và mạng truyền dữ liệu; phương pháp kế thừa và tham khảo đồ án khóa trước; phương pháp tham vấn giảng viên hướng dẫn; phương pháp khảo sát thực tế và phương pháp thực nghiệm thiết kế - đo kiểm mạch phần cứng kết hợp kiểm thử phần mềm.
Thiết kế và triển khai hệ thống
Hệ thống điều khiển vườn rau được thiết kế theo kiến trúc phân tầng gồm 5 khối chức năng chính: Khối cảm biến, Khối chuyển đổi ADC (MCP3008), Khối xử lý trung tâm (Raspberry Pi), Khối hiển thị và điều khiển tại chỗ (LCD 20x4, bàn phím ma trận 4x4), Khối ngõ ra điều khiển thiết bị (Module Relay) kết nối đồng bộ với Web Server, Database và giao diện người dùng.
+-------------------------------------------------------------+
| MÔ HÌNH HỆ THỐNG |
| |
| [ Vườn rau & Cảm biến ] <---> [ Board trung tâm (RPi) ] |
| ^ |
| | (Mạng Internet) |
| v |
| [ Người dùng ] <------------> [ Web Server / MySQL ] |
+-------------------------------------------------------------+
1. Thiết kế phần cứng và mạch nguyên lý
- Mạch cảm biến DHT11: Chân DATA kết nối với GPIO18 của Raspberry Pi, sử dụng điện trở kéo lên 1 kΩ (hoặc 5 kΩ) nhằm ổn định đường truyền; tích hợp LED báo nguồn với điện trở hạn dòng 1 kΩ (được tính toán từ dải trở kháng an toàn 297 - 337 Ω để bảo vệ LED ở nguồn 5V).
- Mạch cảm biến tương tự: Cảm biến quang trở và cảm biến độ ẩm đất được mắc thành cầu phân áp với điện trở 10 kΩ, điện áp ngõ ra tương tự $V_{out}$ (AO) được xác định theo công thức:
$$V_{out} = \frac{3.3\text{V} \times R_{SS}}{10\text{k}\Omega + R_{SS}}$$
Tín hiệu AO được lọc nhiễu bằng tụ điện C2 trước khi đưa vào các kênh analog của IC MCP3008; đồng thời đưa vào IC LM393 so sánh với điện áp chuẩn từ biến trở RV2 để tạo ngõ ra số DO.
- Mạch khối ngõ ra Relay: Chân kích tín hiệu EN từ GPIO của Raspberry Pi được nối qua mạch cách ly quang sử dụng OPTO và transistor công suất Q1. Khi mức logic tại EN = 0 (0V), dòng điện chạy qua diode quang làm transistor trong OPTO bão hòa, kích dòng cực Base vào Q1 làm đóng relay và cấp điện cho tải; khi EN = 1 (5V), dòng qua OPTO bị ngắt làm relay mở.
- Công suất tiêu thụ: Đèn chiếu sáng thiết kế có công suất lý thuyết 5Wh (0.005 kWh điện). Đo đạc thực tế công suất tiêu thụ của toàn bộ board trung tâm ghi nhận:
- Khi cả hai thiết bị (đèn và bơm) đều tắt: $P = 5.0\text{ W}$.
- Khi chỉ bật đèn chiếu sáng: $P = 5.2\text{ W}$.
- Khi bật đồng thời cả đèn và máy bơm: $P = 5.8\text{ W}$.
2. Thiết kế giải thuật phần mềm trên Raspberry Pi
Chương trình chính được viết bằng Python, áp dụng kiến trúc đa luồng (multithreading) để vận hành 5 tiến trình độc lập nhưng chia sẻ chung không gian biến toàn cục:
| Tên hàm / Luồng (Thread) |
Chức năng kỹ thuật trong hệ thống |
Start |
Hàm khởi động: kiểm tra kết nối mạng Internet tới máy chủ; gán biến connect = 'on' (nếu có mạng) hoặc connect = 'off' (nếu mất mạng). Đọc các thông số cấu hình và ngưỡng ban đầu. |
Thread Sensors |
Luồng đọc dữ liệu định kỳ từ cảm biến nhiệt độ, độ ẩm không khí DHT11 và cảm biến ánh sáng, độ ẩm đất qua MCP3008; gửi gói dữ liệu lên Server nếu connect = 'on'. |
Thread Devices |
Luồng điều khiển thiết bị: đọc dữ liệu JSON từ Server để xác định chế độ và trạng thái; điều khiển đóng/ngắt các chân GPIO kích Relay; gửi phản hồi trạng thái thiết bị về Server. |
Thread LCD |
Luồng hiển thị: liên tục làm tươi các thông số nhiệt độ, độ ẩm đất, độ ẩm không khí, cường độ sáng và trạng thái hoạt động lên màn hình LCD 20x4 qua bus I2C. |
Thread Keypad |
Luồng nhập liệu: quét ma trận phím 4x4, xử lý chuyển đổi chế độ vận hành (tự động/bằng tay), cưỡng bức bật/tắt thiết bị hoặc thay đổi giá trị ngưỡng cài đặt tại chỗ. |
Thread Connect |
Luồng giám sát mạng: liên tục kiểm tra trạng thái kết nối Internet để cập nhật trạng thái biến cờ connect. |
Quy trình điều khiển thiết bị trong Thread Devices được chia làm 2 nhánh rõ ràng:
- Chế độ tự động (
auto = 'on'):
- So sánh độ ẩm đất đo được (
soilRH) với ngưỡng cài đặt: Nếu $\text{soilRH} < \text{minSoilRH}$ thì kích hoạt bơm nước (pump = 'on'); nếu $\text{soilRH} > \text{maxSoilRH}$ thì tắt bơm (pump = 'off').
- So sánh cường độ sáng đo được (
lux) với ngưỡng cài đặt: Nếu $\text{lux} < \text{minLux}$ thì bật đèn chiếu sáng (light = 'on'); nếu $\text{lux} > \text{maxLux}$ thì tắt đèn (light = 'off').
- Chế độ bằng tay (
auto = 'off'): Thiết bị đóng/ngắt trực tiếp theo trạng thái của hai biến toàn cục light và pump được điều khiển từ giao diện Web hoặc phím bấm cứng.
Cơ chế vận hành dự phòng (Failover): Khi có kết nối mạng (connect = 'on'), hệ thống đọc cấu hình từ file JSON trên Server; khi mất mạng (connect = 'off'), hệ thống tự động chuyển sang chế độ nội bộ, đọc các giá trị ngưỡng lưu trong file cấu hình .ini trên thẻ nhớ Raspberry Pi để tiếp tục tự động chăm sóc cây trồng.
3. Thiết kế Cơ sở dữ liệu và Web Server
Hệ thống Web được xây dựng trên nền tảng PHP và MySQL, tổ chức thành các bảng dữ liệu chuyên biệt: bảng lưu thông tin tài khoản người dùng, bảng lưu thông tin người đăng ký và bảng lưu thông tin khu vườn (chứa các trường: nhiệt độ không khí, độ ẩm không khí, độ ẩm đất, cường độ sáng, trạng thái đèn, trạng thái bơm, mốc thời gian ghi nhận). Dữ liệu được đồng bộ liên tục qua các gói HTTP Request chứa chuỗi JSON, kết hợp kỹ thuật AJAX cập nhật thông số lên giao diện người dùng theo thời gian thực mà không cần tải lại toàn bộ trang web.
Nội dung chính theo từng chương
Chương 1: Tổng quan
Chương 1 trình bày bối cảnh cuộc Cách mạng công nghiệp 4.0 và xu hướng ứng dụng IoT tại Việt Nam; nêu bật tính cấp thiết của vấn đề vệ sinh an toàn thực phẩm và nhu cầu tự động hóa chăm sóc vườn rau đô thị nhằm giải phóng sức lao động và tiết kiệm tài nguyên. Chương này xác định rõ 4 mục tiêu nghiên cứu, 5 nhiệm vụ thực hiện, đối tượng và phạm vi nghiên cứu, cùng cấu trúc 5 chương của đồ án.
Chương 2: Cơ sở lý thuyết
Chương 2 phân tích chi tiết cấu trúc phần cứng và phần mềm của máy tính nhúng Raspberry Pi 2 Model B+ V1.2 (BCM2835, 512MB RAM, hệ điều hành Raspbian); nguyên lý hoạt động và giản đồ thời gian truyền nhận 40 bit của cảm biến DHT11; cấu tạo cảm biến độ ẩm đất và cảm biến quang trở sử dụng mạch so áp LM393; thông số IC ADC 10-bit MCP3008. Chương này giải thích cấu trúc thanh ghi, bộ nhớ của LCD 20x4 (HD44780); nguyên lý quét phím ma trận 4x4; phân tích và lập bảng so sánh kỹ thuật giữa chuẩn SPI và I2C; đồng thời tổng quan về ngôn ngữ Python (module Thread, Requests), các công nghệ Web (HTML, CSS, JavaScript, jQuery, AJAX, PHP) và ngôn ngữ truy vấn cơ sở dữ liệu SQL.
Chương 3: Thiết kế hệ thống
Chương 3 trình bày toàn diện mô hình hệ thống 5 khối và sơ đồ nguyên lý của từng khối chức năng: khối cảm biến nhiệt độ - độ ẩm DHT11, khối cảm biến tương tự (độ ẩm đất, ánh sáng), khối ngõ ra relay cách ly quang OPTO và board mạch trung tâm. Chương này nêu chi tiết các phép tính điện trở hạn dòng LED, công suất tiêu thụ lý thuyết và thực tế của hệ thống; xây dựng lưu đồ thuật toán cho hàm Start, luồng đọc cảm biến (Thread Sensors), luồng điều khiển thiết bị (Thread Devices theo chế độ tự động và thủ công), luồng bàn phím (Thread Keypad), luồng hiển thị LCD và cơ chế đồng bộ dữ liệu JSON/MySQL qua Web Server.
Chương 4: Kết quả
Chương 4 công bố kết quả thi công thực tế phần cứng board điều khiển trung tâm và mô hình vườn rau thử nghiệm; kiểm tra thành công khả năng điều khiển các thiết bị điện 220V (đèn, bơm); hoàn thiện giao diện Web gồm 5 trang chức năng: Trang đăng nhập (có xử lý thông báo lỗi), Trang chính giám sát thời gian thực, Trang cài đặt các giá trị ngưỡng môi trường, Trang giới thiệu và Trang quản lý thông tin thành viên.
Chương 5: Kết luận, hướng phát triển
Chương 5 tổng kết các kết quả đạt được về phần cứng, phần mềm nhúng, web quản trị và tính ổn định của hệ thống 2 chế độ; đồng thời chỉ ra các định hướng mở rộng nghiên cứu về cảm biến không dây và thuật toán điều khiển nâng cao cho các mô hình nông nghiệp quy mô lớn hơn.
Kết quả và đóng góp
1. Kết quả kỹ thuật đạt được
Hệ thống đã được chế tạo, lắp ráp hoàn chỉnh thành mô hình phần cứng thực tế và vận hành thử nghiệm đạt kết quả chính xác theo thiết kế:
- Thi công phần cứng: Hoàn thiện board mạch trung tâm tích hợp Raspberry Pi 2 Model B+ V1.2, IC MCP3008, màn hình LCD 20x4, bàn phím ma trận 4x4 và khối relay công suất cách ly quang.
- Thu thập dữ liệu cảm biến: Đo đạc và truyền tải ổn định 4 thông số môi trường vi khí hậu theo thời gian thực gồm nhiệt độ không khí (°C), độ ẩm không khí (%), độ ẩm đất (%) và cường độ sáng (lux).
- Vận hành hai chế độ linh hoạt:
- Chế độ tự động: Tự động đóng/ngắt máy bơm nước theo khoảng ngưỡng độ ẩm đất (
minSoilRH - maxSoilRH); tự động đóng/ngắt đèn chiếu sáng theo khoảng ngưỡng cường độ sáng (minLux - maxLux), giúp tối ưu hóa lượng nước và điện năng.
- Chế độ bằng tay: Cho phép người dùng trực tiếp can thiệp bật/tắt thiết bị và điều chỉnh khoảng ngưỡng lý tưởng thông qua bàn phím ma trận tại chỗ hoặc qua giao diện Website.
- Nền tảng Web và Cơ sở dữ liệu: Xây dựng hoàn chỉnh hệ thống web động bằng PHP/AJAX kết nối cơ sở dữ liệu MySQL, cung cấp các chức năng đăng nhập, giám sát thời gian thực, lưu trữ lịch sử vận hành, quản lý người dùng và thay đổi thông số cấu hình từ xa.
- Đo kiểm tiêu thụ năng lượng: Xác định chính xác mức tiêu thụ công suất thực tế của board trung tâm ở các trạng thái hoạt động khác nhau (5.0W khi tắt thiết bị; 5.2W khi bật đèn; 5.8W khi bật cả đèn và bơm).
2. Đóng góp của đề tài
- Ứng dụng thành công máy tính nhúng giá rẻ Raspberry Pi vào mô hình nông nghiệp thông minh phục vụ chăm sóc vườn rau gia đình tại Việt Nam.
- Xây dựng giải pháp kiến trúc phần mềm đa luồng (multithreading) xử lý đồng thời nhiều tác vụ vào/ra với độ trễ thấp trên môi trường Linux nhúng (Raspbian).
- Thiết kế cơ chế điều khiển kép thông minh kết hợp khả năng tự vận hành cục bộ bằng file cấu hình
.ini khi mất kết nối Internet, đảm bảo tính liên tục và an toàn cho hệ sinh thái vườn rau.
Hạn chế và hướng nghiên cứu tiếp
1. Hạn chế của hệ thống
- Các cảm biến sử dụng (như DHT11) có dải đo và độ chính xác ở mức tiêu chuẩn (sai số nhiệt độ ±2°C, độ ẩm ±5%), chỉ phù hợp với các mô hình thí nghiệm hoặc vườn nhỏ không đòi hỏi độ chính xác tuyệt đối.
- Hệ thống kết nối cảm biến bằng dây dẫn trực tiếp (wire sensors), gây hạn chế về khoảng cách truyền tín hiệu và phạm vi bố trí khi mở rộng diện tích vườn.
- Thử nghiệm thực tế mới dừng lại ở quy mô mô hình vườn nhỏ, chưa đánh giá đầy đủ tác động của môi trường khắc nghiệt ngoài trời lên độ bền linh kiện điện tử.
2. Hướng nghiên cứu tiếp
- Nâng cấp và chuyển đổi các cụm cảm biến sang dạng mạng cảm biến không dây (Wireless Sensor Network - WSN) sử dụng các chuẩn truyền thông tầm xa công suất thấp để dễ dàng lắp đặt trên diện tích rộng.
- Bổ sung các cảm biến nông nghiệp chuyên dụng như cảm biến độ pH của đất, cảm biến dinh dưỡng đất (NPK), cảm biến phát hiện mực nước bồn chứa.
- Phát triển thêm ứng dụng di động (Mobile App) chuyên biệt và tích hợp tính năng gửi cảnh báo tự động qua tin nhắn SMS/Email khi các thông số môi trường vượt ngưỡng nguy hiểm.
- Mở rộng quy mô thử nghiệm áp dụng cho hệ thống nhà kính thông minh và trang trại nông nghiệp công nghệ cao.
Giá trị tham khảo
Đồ án là tài liệu tham khảo có giá trị chuyên môn cao cho:
- Sinh viên và học viên các ngành Công nghệ Kỹ thuật Máy tính, Kỹ thuật Điều khiển và Tự động hóa, Điện tử - Viễn thông, Công nghệ Thông tin đang thực hiện đồ án môn học, đồ án tốt nghiệp về hệ thống nhúng và ứng dụng IoT.
- Kỹ sư và nhà phát triển đang nghiên cứu xây dựng các giải pháp tự động hóa vi khí hậu cho nông nghiệp công nghệ cao quy mô vừa và nhỏ.
Các nội dung có giá trị tham khảo ứng dụng trực tiếp:
- Sơ đồ nguyên lý ghép nối IC ADC MCP3008 qua giao tiếp SPI và mạch cách ly quang cho module Relay công suất.
- Kiến trúc phần mềm đa luồng bằng ngôn ngữ Python trên Raspberry Pi để xử lý đồng thời cảm biến, màn hình LCD I2C, bàn phím ma trận và kết nối mạng.
- Kỹ thuật xây dựng API trao đổi dữ liệu JSON qua giao thức HTTP và phương thức bất đồng bộ AJAX cập nhật dữ liệu CSDL MySQL trên giao diện web.
Câu hỏi thường gặp
1. Hệ thống xử lý như thế nào khi đường truyền Internet giữa Raspberry Pi và Server bị mất kết nối?
Khi xảy ra sự cố mất mạng, hàm kiểm tra kết nối trong Thread Connect sẽ phát hiện và gán biến cờ connect = 'off'. Hệ thống sẽ không gửi/nhận dữ liệu với máy chủ mà tự động chuyển sang chế độ chạy độc lập nội bộ. Raspberry Pi sẽ đọc các giá trị ngưỡng môi trường (minSoilRH, maxSoilRH, minLux, maxLux) đã được lưu sẵn trong file cấu hình .ini trên bộ nhớ máy tính nhúng để tiếp tục duy trì chế độ tự động tưới tiêu và chiếu sáng cho vườn rau bình thường.
2. Tại sao hệ thống phải sử dụng thêm vi mạch MCP3008 trong khối xử lý cảm biến?
Máy tính nhúng Raspberry Pi chỉ có các chân ngõ vào/ra số (Digital GPIO) và không được tích hợp bộ chuyển đổi tương tự sang số (ADC) bên trong vi xử lý. Trong khi đó, cảm biến độ ẩm đất và cảm biến ánh sáng quang trở lại xuất tín hiệu điện áp tương tự (Analog Output - AO). Do đó, cần sử dụng thêm vi mạch MCP3008 (bộ ADC 10-bit với 8 kênh ngõ vào) để chuyển đổi điện áp tương tự sang tín hiệu số và truyền về Raspberry Pi qua chuẩn giao tiếp SPI.
3. Cảm biến DHT11 truyền dữ liệu về bộ điều khiển theo định dạng nào và làm sao để kiểm tra tính chính xác của dữ liệu?
DHT11 sử dụng chuẩn truyền thông 1 dây (1-wire), truyền một chuỗi liên tiếp 40 bit dữ liệu về MCU. Chuỗi 40 bit này bao gồm: 8 bit phần nguyên độ ẩm, 8 bit phần thập phân độ ẩm, 8 bit phần nguyên nhiệt độ, 8 bit phần thập phân nhiệt độ và 8 bit kiểm tra chẵn lẻ (Parity bit). Bộ xử lý kiểm tra tính chính xác bằng cách cộng giá trị của 4 byte đầu tiên; nếu tổng này bằng giá trị của byte Parity thứ 5 thì dữ liệu nhận được là chính xác, ngược lại dữ liệu bị lỗi và bị loại bỏ.
4. Mức tiêu thụ công suất thực tế đo đạc được của board điều khiển trung tâm là bao nhiêu?
Theo số liệu đo kiểm thực tế trong đồ án: khi cả máy bơm và đèn chiếu sáng đều tắt, công suất tiêu thụ của board trung tâm là 5.0W; khi chỉ bật đèn chiếu sáng (đèn LED công suất danh định 5W), công suất tiêu thụ là 5.2W; khi bật đồng thời cả đèn chiếu sáng và máy bơm nước, công suất tiêu thụ của toàn hệ thống là 5.8W.
5. Chương trình Python trên Raspberry Pi được tổ chức thành các luồng (thread) nào và vai trò của từng luồng?
Chương trình được phân chia thành 5 luồng chạy song song gồm: Thread Sensors (chuyên trách việc đọc cảm biến DHT11 và MCP3008 rồi gửi lên server); Thread Devices (đọc lệnh điều khiển từ JSON/biến toàn cục để kích đóng/ngắt relay); Thread LCD (cập nhật thông số môi trường lên màn hình hiển thị 20x4 qua I2C); Thread Keypad (quét và xử lý thao tác phím bấm từ bàn phím ma trận 4x4); và Thread Connect (kiểm tra trạng thái kết nối mạng Internet).
Kết luận
Đồ án tốt nghiệp "Thiết kế và thi công hệ thống điều khiển vườn qua mạng Internet" đã hoàn thành toàn diện các mục tiêu đề ra về mặt lý thuyết lẫn thi công mô hình thực tế. Hệ thống tích hợp thành công máy tính nhúng Raspberry Pi 2 Model B+, các cảm biến vi khí hậu và cơ chế điều khiển 2 chế độ (tự động và thủ công) giúp giải quyết bài toán tưới tiêu và chiếu sáng chính xác cho vườn rau gia đình. Kiến trúc phần mềm đa luồng trên Python kết hợp với nền tảng Web quản trị CSDL MySQL và cơ chế chuyển đổi dự phòng bằng file nội bộ khi mất mạng đảm bảo hệ thống vận hành liên tục, ổn định và có tính ứng dụng thực tiễn cao trong lĩnh vực nông nghiệp thông minh.