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

Trong thực tiễn kỹ thuật truyền thống, các thiết bị điện và điện tử thường được liên kết thông qua hệ thống dây dẫn vật lý. Việc điều khiển các thiết bị công suất như máy bơm nước hay hệ thống chiếu sáng ở khoảng cách xa bằng đường dây kéo dài thường làm phát sinh hiện tượng sụt áp, tiêu hao nguồn điện và tiềm ẩn nguy cơ mất an toàn khi dây dẫn bị đứt, gãy. Nhằm khắc phục các nhược điểm này, công nghệ truyền thông không dây đã trở thành giải pháp thay thế hiệu quả với tính linh hoạt, thuận tiện trong bảo trì và tính thẩm mỹ cao.

Đồ án tốt nghiệp "Thiết kế và thi công hệ thống tưới cây thông minh trong khuôn viên trường ĐH SPKT TPHCM" được nhóm tác giả Hoàng Trung Kiên và Trịnh Xuân Hậu thực hiện dưới sự hướng dẫn của ThS. Nguyễn Ngô Lâm (Bộ môn Điện tử Công nghiệp, Khoa Đào tạo Chất lượng cao, Trường Đại học Sư phạm Kỹ thuật TP.HCM, tháng 01/2021). Đề tài hướng tới việc giải quyết bài toán quản lý, vận hành mạng lưới tưới cây từ xa trong không gian rộng lớn của khuôn viên nhà trường thông qua việc kết hợp công nghệ truyền thông vô tuyến tầm xa LoRa, mạng không dây WiFi và truyền thông nối tiếp UART.

Mục tiêu và nhiệm vụ nghiên cứu của đề tài bao gồm các nội dung cụ thể:

  • Mục tiêu nghiên cứu:

    1. Áp dụng công nghệ LoRa trong việc truyền - nhận dữ liệu tầm xa giữa thiết bị chủ (Master) và các thiết bị tớ (Slave), kết hợp module WiFi để kết nối hệ thống với mạng Internet và máy chủ Blynk Cloud nhằm phục vụ việc điều khiển từ xa.
    2. Thu thập và cập nhật liên tục các thông số môi trường từ cảm biến độ ẩm đất và cảm biến mưa.
    3. Đảm bảo hệ thống động cơ máy bơm nước hoạt động ổn định và chính xác theo lệnh điều khiển.
    4. Thiết kế giao diện vận hành trực quan trên màn hình cảm ứng HMI TFT và ứng dụng di động Blynk.
    5. Đồng bộ hóa dữ liệu và tín hiệu điều khiển giữa giao diện màn hình HMI cục bộ và ứng dụng Blynk trên điện thoại thông minh.
  • Nhiệm vụ đề tài (được phân chia thành 8 nội dung chính):

    • Nội dung 1: Tham khảo, đọc và tóm tắt tài liệu chuyên ngành để định hướng đề tài.
    • Nội dung 2: Thiết kế sơ đồ khối chức năng và sơ đồ nguyên lý phần cứng của toàn bộ hệ thống.
    • Nội dung 3: Kết nối vi điều khiển trung tâm STM32F103C8T6 với mạch nguồn, module WiFi ESP8266, module LoRa SX1278 và các khối cảm biến.
    • Nội dung 4: Xây dựng chương trình điều khiển và thuật toán cho các vi điều khiển.
    • Nội dung 5: Vận hành chạy thử, kiểm tra, đánh giá và hiệu chỉnh hệ thống.
    • Nội dung 6: Thiết kế giao diện lưu trữ thông tin và điều khiển thiết bị.
    • Nội dung 7: Biên soạn báo cáo thuyết minh đồ án tốt nghiệp.
    • Nội dung 8: Bảo vệ đồ án trước hội đồng chấm luận văn.
  • Đối tượng nghiên cứu: Board vi điều khiển ARM Cortex-M3 (STM32F103C8T6), kit NodeMCU ESP8266 V3 (ESP-12E), module RF UART LoRa SX1278 433MHz (E32-TTL-100), màn hình cảm ứng USART HMI TFT 7.0 inch, ứng dụng Blynk, module relay cách ly quang, máy bơm nước DC và các cảm biến môi trường (độ ẩm đất, mưa, rung SW-420, quang trở CDS).

  • Phạm vi nghiên cứu:

    • Phạm vi kết nối truyền thông không dây LoRa UART E32-TTL-100 được xác lập từ 1 km trở xuống trong điều kiện thực tế khuôn viên trường (thông số lý thuyết của nhà sản xuất đạt tối đa 3000 m).
    • Phạm vi kết nối không dây WiFi của module NodeMCU ESP8266 dưới 10 m từ điểm truy cập.
    • Cấu trúc hệ thống thử nghiệm gồm 01 trạm Master điều khiển 02 trạm Slave (có khả năng mở rộng thêm các trạm theo thiết kế phần cứng).

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

Đồ án ứng dụng các nền tảng lý thuyết truyền thông dữ liệu có dây và không dây, kết hợp phương pháp nghiên cứu thiết kế và thi công hệ thống nhúng (Embedded System) thực nghiệm.

1. Cơ sở lý thuyết về các chuẩn truyền thông

  • Truyền thông có dây:
    • SPI (Serial Peripheral Interface): Chuẩn truyền thông đồng bộ nối tiếp song công toàn phần (Full-duplex) do Motorola phát triển, sử dụng 4 đường tín hiệu gồm MOSI (Master Out Slave In), MISO (Master In Slave Out), SCLK (Serial Clock) và CS/SS (Chip Select / Slave Select).
    • I2C (Inter-Integrated Circuit): Chuẩn bus nối tiếp do Philips phát triển, sử dụng 2 đường tín hiệu là xung nhịp đồng hồ SCL (tần số 100 kHz, 400 kHz, mức cao 1 MHz và 3.4 MHz) và đường dữ liệu hai chiều SDA.
    • UART (Universal Asynchronous Receiver - Transmitter): Chuẩn truyền thông nối tiếp bất đồng bộ qua hai chân RX (Receiver) và TX (Transmit). Khung truyền UART (UART Frame) bao gồm 1 Start bit (kéo điện áp từ mức 1 xuống 0), Data bits (độ dài từ 5 đến 9 bits, truyền LSB trước), Parity bit tùy chọn (Even hoặc Odd) và Stop bit (1 hoặc 2 bits ở mức 1). Tốc độ truyền (Baudrate) được cấu hình thống nhất giữa hai thiết bị (các mức thông dụng: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 bps).
  • Truyền thông không dây: Khóa luận khảo cứu các công nghệ sóng vô tuyến bao gồm Bluetooth 2.0 (tốc độ 3 Mbps, phạm vi ~30 m), Zigbee (256 Kbps, mạng Mesh, tầm phủ 75 m đến vài trăm mét), NFC (tầm ngắn vài cm), WiFi (2.4 GHz) và công nghệ tầm xa LoRa (Long Range Radio).
Tiêu chí UART SPI I2C LoRa SX1278 WiFi (ESP8266)
Loại kết nối Có dây, bất đồng bộ Có dây, đồng bộ Có dây, đồng bộ Không dây vô tuyến Không dây vô tuyến
Số đường/Chân 2 dây (TX, RX) 4 dây (MOSI, MISO, SCLK, SS) 2 dây (SDA, SCL) Giao tiếp UART 4 chân (TX, RX, M0, M1, AUX) 11 chân GPIO, TX/RX, Anten on-board
Khoảng cách Ngắn (trên mạch/cáp ngắn) Ngắn (nội bộ board) Ngắn (nội bộ board) Lên tới 3000 m (thử nghiệm < 1 km) Dưới 10 m (phạm vi cục bộ)
Tốc độ/Băng thông 1200 – 115200 bps Cao (phụ thuộc SCLK) 100 kHz – 3.4 MHz 0.2 – 19.2 Kbps (mặc định 2.4 Kbps) Băng tần 2.4 GHz, TCP/IP stack
Ứng dụng trong đồ án Kết nối nội bộ giữa MCU, LoRa, HMI, ESP8266 Chuẩn hỗ trợ chip SX1278 Mở rộng ngoại vi Truyền nhận không dây Master - Slave Kết nối Blynk Cloud qua Internet

2. Phương pháp nghiên cứu thực nghiệm

  • Phương pháp thiết kế phần cứng: Phân chia hệ thống thành các khối chức năng độc lập (khối xử lý trung tâm, khối nguồn, khối truyền thông LoRa, khối kết nối WiFi, khối điều khiển và hiển thị, khối cảm biến, khối thiết bị chấp hành); tính toán phối ghép mức điện áp logic (TTL 3.3V / 5V) và thiết kế mạch in (PCB layout).
  • Phương pháp lập trình nhúng: Xây dựng lưu đồ giải thuật cho trạm Master và các trạm Slave; lập trình xử lý tín hiệu ngoại vi và giao thức truyền thông phân gói dữ liệu bằng ngôn ngữ C/C++ trên nền tảng Keil uVision (thư viện Standard Peripheral Libraries) cho vi điều khiển STM32 và Arduino IDE cho ESP8266.
  • Phương pháp thu thập và kiểm thử dữ liệu: Thu thập tín hiệu tương tự (Analog) qua bộ chuyển đổi ADC 12-bit của STM32, tín hiệu số (Digital) từ các module cảm biến và kiểm tra độ trễ, tính đồng bộ của các gói tin điều khiển.

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình phân tán gồm một trạm điều khiển trung tâm (Master) và hai trạm thu thập - chấp hành tại hiện trường (Slave 1 và Slave 2).

1. Kiến trúc phần cứng hệ thống

+-----------------------------------------------------------------------------------+
|                                   TRẠM MASTER                                     |
|                                                                                   |
|  [Ứng dụng Blynk / Smartphone] <--(WiFi / Internet)--> [Kit NodeMCU ESP8266 V3]   |
|                                                                 |                 |
|                                                               (UART)              |
|                                                                 v                 |
|  [Màn hình LCD TFT HMI 7.0"] <--(UART)--> [MCU STM32F103C8T6 (Master)]            |
|                                                    |                              |
|                                                  (UART)                           |
|                                                    v                              |
|                                        [Module LoRa SX1278 (Master)]              |
+-----------------------------------------------------------------------------------+
                                       |
                               (Sóng LoRa 433 MHz)
                               (Chế độ Broadcast)
                                       |
        +------------------------------+------------------------------+
        |                                                             |
        v                                                             v
+-------------------------------+             +-------------------------------+
|         TRẠM SLAVE 1          |             |         TRẠM SLAVE 2          |
|                               |             |                               |
| [Module LoRa SX1278 (Slave 1)]|             | [Module LoRa SX1278 (Slave 2)]|
|               | (UART)        |             |               | (UART)        |
|               v               |             |               v               |
|   [MCU STM32F103C8T6 (Slave)] |             |   [MCU STM32F103C8T6 (Slave)] |
|        |             |        |             |        |             |        |
|  (ADC / GPIO)     (GPIO)      |             |  (ADC / GPIO)     (GPIO)      |
|        |             |        |             |        |             |        |
|        v             v        |             |        v             v        |
| [Khối Cảm biến] [Khối Relay]  |             | [Khối Cảm biến] [Khối Relay]  |
| - Độ ẩm đất     - Máy bơm DC  |             | - Độ ẩm đất     - Máy bơm DC  |
| - Cảm biến mưa  - Đèn chiếu   |             | - Cảm biến mưa  - Đèn chiếu   |
| - Rung (SW-420)   sáng        |             | - Rung (SW-420)   sáng        |
| - Ánh sáng CDS                |             | - Ánh sáng CDS                |
+-------------------------------+             +-------------------------------+
  • Khối xử lý trung tâm (Master và Slave): Sử dụng kit BluePill tích hợp vi điều khiển ARM Cortex-M3 STM32F103C8T6 (tần số hoạt động cực đại 72 MHz, bộ nhớ Flash 64 KB, SRAM 20 KB, đóng gói LQFP48, tích hợp IC ổn áp TX6211B chuyển đổi điện áp vào +3.5V sang +3.3V @ 300mA).
  • Khối truyền thông vô tuyến tầm xa LoRa: Sử dụng module LoRa SX1278 433MHz (E32-TTL-100) của SEMTECH:
    • Tần số hoạt động: 410 – 441 MHz, công suất phát 100 mW (20 dBm), bộ đệm dữ liệu 512 bytes, khoảng cách phát tối đa 3000 m (không vật cản).
    • Tích hợp chuyển đổi giao tiếp SPI sang UART (tốc độ baud từ 1200 đến 115200 bps, mặc định tốc độ truyền vô tuyến là 2.4 Kbps).
    • Cấu hình 4 chế độ hoạt động thông qua hai chân điều khiển logic M0 và M1: Chế độ 0 (Bình thường: M1=0, M0=0), Chế độ 1 (Thức dậy: M1=0, M0=1), Chế độ 2 (Tiết kiệm pin: M1=1, M0=0), Chế độ 3 (Ngủ/Cấu hình: M1=1, M0=1).
    • Chân AUX giám sát trạng thái truyền nhận (chuyển xuống mức 0 trong 1-2 ms khi bắt đầu truyền nhận và đưa lên mức 1 khi hoàn tất).
    • Chế độ truyền được cấu hình ở dạng Broadcast: Master gửi gói tin định danh đến tất cả các Slave; các Slave giải mã kiểm tra địa chỉ để nhận lệnh hoặc trả lời dữ liệu.
  • Khối WiFi kết nối Internet: Kit NodeMCU V3 tích hợp chip SoC ESP8266 (ESP-12E), bộ xử lý Tensilica 32-bit (xung nhịp 80/160 MHz), bộ nhớ Flash SPI 4MB, RAM 50KB, tích hợp IC nạp CH340, giao tiếp với STM32 qua UART để trung chuyển dữ liệu lên mạng Internet.
  • Khối hiển thị và điều khiển cục bộ: Màn hình cảm ứng LCD TFT 7.0 inch UART HMI (sử dụng vi xử lý điều khiển hiển thị TJC8048T070_011R, độ phân giải 800x480 pixels, cảm ứng điện dung, điện áp hoạt động 4.75 – 7V, bộ nhớ Flash 16MB, RAM 3584 Bytes).
  • Khối cảm biến thu thập dữ liệu (tại các trạm Slave):
    • Cảm biến độ ẩm đất: Sử dụng mạch so sánh LM393, ngõ ra tương tự (AO) kết nối với chân PA0 của STM32, sử dụng bộ chuyển đổi ADC1 kênh 0 (độ phân giải 12-bit, biểu diễn giá trị từ 0 đến 1023 trên dải đo).
    • Cảm biến mưa: Sử dụng IC so sánh LM358/LM393, cung cấp ngõ ra số (DO) và tương tự (AO) có biến trở điều chỉnh độ nhạy, phát hiện giọt nước rơi trên bề mặt cảm biến.
    • Cảm biến rung: Module SW-420 kết hợp IC so sánh LM393 (điện áp 3.3 – 5V, dòng tiêu thụ 15 mA), xuất ngõ ra DO khi phát hiện rung động vượt ngưỡng.
    • Cảm biến ánh sáng: Sử dụng quang trở CDS tích hợp mạch so sánh Op-amp, xuất tín hiệu số Digital theo cường độ sáng môi trường.
  • Khối chấp hành thiết bị: Module Relay 1 kênh và 4 kênh (nguồn kích 5V, dòng kích 80 mA, tiếp điểm chịu tải cực đại 10A / 250VAC, thời gian tác động 10 ms) tích hợp Opto cách ly quang để đóng ngắt máy bơm DC và đèn chiếu sáng.
  • Khối nguồn: Sử dụng các bộ Adapter chuyển đổi nguồn AC sang 12V-2A và 5V-1A nhằm cung cấp năng lượng độc lập cho vi điều khiển, module truyền thông và các động cơ bơm.

2. Thiết kế phần mềm và công cụ phát triển

  • Phần mềm Keil uVision 5: Biên dịch mã nguồn C cho vi điều khiển ARM STM32F103C8T6 sử dụng bộ thư viện chuẩn Standard Peripheral Libraries, nạp chương trình và gỡ lỗi qua mạch nạp ST-Link V2 mini.
  • Phần mềm Arduino IDE: Biên dịch mã nguồn điều khiển cho kit NodeMCU ESP8266 V3, xử lý giao thức truyền nhận TCP/IP và liên kết thư viện Blynk.
  • Phần mềm USART HMI Editor: Thiết kế giao diện đồ họa, các nút bấm chức năng cảm ứng, các khung hiển thị thông số môi trường cho màn hình TFT 7.0 inch.
  • Nền tảng Blynk: Cấu hình giao diện giám sát và điều khiển trên thiết bị di động thông qua 3 thành phần: Blynk App (giao diện kéo thả widget), Blynk Server / Blynk Cloud (máy chủ trung gian quản lý kết nối) và Blynk Library (thư viện giao tiếp nhúng trên ESP8266).

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

Chương 1: Tổng quan

Chương 1 trình bày tổng quan về tình hình nghiên cứu các công nghệ truyền thông không dây hiện nay và tính cấp thiết của việc hiện đại hóa mạng lưới tưới tiêu trong khuôn viên trường học. Tác giả xác định rõ mục tiêu nghiên cứu, đối tượng nghiên cứu (vi điều khiển STM32, ESP8266, LoRa, HMI, cảm biến, máy bơm), phạm vi nghiên cứu (khoảng cách LoRa dưới 1 km, WiFi dưới 10 m, cấu trúc 1 Master - 2 Slave), liệt kê chi tiết 8 nội dung nhiệm vụ thực hiện và phân bố bố cục 6 chương của đồ án tốt nghiệp.

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

Chương 2 cung cấp nền tảng lý thuyết chi tiết về các chuẩn truyền dữ liệu có dây (SPI, I2C, UART) và không dây (Bluetooth, Zigbee, NFC, WiFi, LoRa). Nội dung tập trung phân tích sâu cấu tạo và thông số kỹ thuật của module RF LoRa SX1278 433MHz (E32-TTL-100), kit vi điều khiển NodeMCU V3 (ESP-12E), kit BluePill ARM Cortex-M3 STM32F103C8T6, màn hình cảm ứng UART HMI TFT 7.0 inch (IC TJC8048T070_011R), các loại module relay cách ly quang, các module cảm biến (độ ẩm đất, mưa, rung SW-420, quang trở ánh sáng CDS) và kiến trúc nền tảng IoT Blynk.

Chương 3: Thiết kế hệ thống

Chương 3 xây dựng yêu cầu kỹ thuật tổng thể và sơ đồ khối chức năng của hệ thống. Tác giả trình bày sơ đồ nối dây chi tiết giữa vi điều khiển trung tâm với các ngoại vi:

  • Sơ đồ nguyên lý khối nguồn và phân phối nguồn 5VDC / 3.3VDC.
  • Sơ đồ kết nối chân cảm biến độ ẩm đất (chân PA0 - ADC1 Chanel 0), cảm biến mưa, cảm biến rung, cảm biến ánh sáng về vi điều khiển STM32 trạm Slave.
  • Sơ đồ nối dây truyền thông UART giữa STM32 Master với màn hình HMI, module LoRa SX1278 và kit NodeMCU ESP8266.
  • Sơ đồ khối và lưu đồ giải thuật điều khiển toàn diện: giải thuật trạm Master, giải thuật trạm Slave, lưu đồ xử lý chọn tổ máy (tổ máy 1, tổ máy 2), giải thuật nút nhấn bật/tắt thiết bị, nút thoát, giải thuật nhận và đóng gói dữ liệu truyền qua sóng LoRa, giải thuật đồng bộ tín hiệu điều khiển trên app Blynk.

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

Chương 4 mô tả quy trình thi công lắp ráp phần cứng thực tế và thiết lập môi trường lập trình. Tác giả giới thiệu các công cụ thi công phần mềm bao gồm: phần mềm Keil uVision 5, mạch nạp ST-Link V2 mini dùng nạp chương trình cho chip STM32; môi trường Arduino IDE dùng lập trình kit ESP8266; phần mềm USART HMI Editor để biên tập và tải giao diện đồ họa lên màn hình cảm ứng HMI; cùng với quy trình cấu hình các thông số truyền thông trên ứng dụng Blynk.

Chương 5: Kết quả thực hiện

Chương 5 trình bày toàn bộ hình ảnh và kết quả thử nghiệm thực tế của mô hình phần cứng sau khi hoàn thiện: khối xử lý trung tâm Master, giao diện hiển thị và điều khiển cục bộ trên màn hình HMI TFT 7.0 inch (chuyển đổi qua lại giữa các tổ máy 1 và tổ máy 2), giao diện điều khiển từ xa qua ứng dụng Blynk trên điện thoại thông minh, khối điều khiển công suất chấp hành qua module relay đóng ngắt máy bơm DC, khối cảm biến mưa kết hợp cảm biến độ ẩm đất và cảm biến rung.

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

Chương 6 tổng kết các kết quả đạt được của đề tài, phân tích những ưu điểm và hạn chế trong quá trình thi công thực tế, đồng thời đề xuất các hướng mở rộng kỹ thuật cho hệ thống trong giai đoạn phát triển tiếp theo.

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

1. Kết quả thực nghiệm chính

  • Thi công hoàn chỉnh phần cứng và phần mềm: Chế tạo thành công 01 trạm Master và 02 trạm Slave hoạt động ổn định, phân phối nguồn điện hợp lý thông qua các mạch chuyển đổi nguồn 12V-2A và 5V-1A.
  • Thiết lập mạng truyền thông LoRa tầm xa: Ứng dụng thành công module LoRa SX1278 tần số 433 MHz ở chế độ truyền Broadcast. Trạm Master gửi nhận tín hiệu điều khiển và dữ liệu cảm biến với 2 trạm Slave trong phạm vi dưới 1 km với công suất phát 100 mW (20 dBm), xử lý trơn tru bộ đệm 512 bytes và đồng bộ tín hiệu thông qua chân giám sát AUX.
  • Giám sát và thu thập dữ liệu cảm biến: Trạm Slave đọc chính xác dữ liệu từ cảm biến độ ẩm đất (qua ADC1 kênh 0 chân PA0 với độ phân giải chuyển đổi số liệu), cảm biến phát hiện mưa (LM358), cảm biến rung SW-420 và cảm biến ánh sáng CDS; truyền dữ liệu về Master liên tục để cập nhật trạng thái đất và thời tiết.
  • Điều khiển máy bơm qua Relay: Kích đóng ngắt an toàn động cơ máy bơm DC thông qua module Relay 5V có tích hợp mạch cách ly quang, đáp ứng thời gian tác động 10 ms.
  • Xây dựng giao diện điều khiển kép:
    • Giao diện cục bộ: Màn hình cảm ứng LCD TFT 7.0 inch (800x480 pixels) hiển thị chi tiết các tổ máy 1 và tổ máy 2, cho phép thao tác bật/tắt máy bơm trực tiếp.
    • Giao diện trực tuyến: Ứng dụng Blynk trên smartphone liên kết qua mạng WiFi (NodeMCU ESP8266) và máy chủ Blynk Cloud, cập nhật đồng bộ trạng thái nút bấm và thông số cảm biến tương ứng với màn hình HMI.

2. Đóng góp của đề tài

  • Hiện thực hóa giải pháp kết hợp đa giao thức truyền thông (LoRa + WiFi + UART) trong một mô hình IoT nông nghiệp/cây xanh học đường hoàn chỉnh, giải quyết bài toán suy hao và nguy hiểm của hệ thống dây dẫn kéo dài.
  • Chứng minh tính khả thi của việc sử dụng vi điều khiển ARM Cortex-M3 (STM32F103C8T6) kết hợp với công nghệ LoRa SX1278 để quản lý vùng phủ sóng rộng lên tới 1 km với mức tiêu thụ năng lượng thấp.
  • Xây dựng cơ chế đồng bộ hóa dữ liệu hai chiều giữa giao diện cảm ứng HMI tại chỗ và giao diện đám mây Blynk trên di động.

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

  • Hạn chế của đề tài:

    • Do giới hạn về kinh phí và điều kiện nghiên cứu, hệ thống thử nghiệm mới dừng lại ở quy mô 01 Master và 02 Slave cục bộ.
    • Phạm vi kết nối WiFi của khối NodeMCU còn hẹp (dưới 10 m quanh điểm phát sóng), phụ thuộc vào độ ổn định của mạng Internet và máy chủ trung gian Blynk Cloud.
    • Số lượng chủng loại cảm biến tại mỗi trạm Slave còn ở mức cơ bản, chưa tích hợp các cảm biến chuyên sâu về dinh dưỡng đất hay lưu lượng nước.
  • Hướng phát triển tiếp theo:

    • Nâng cấp mở rộng mạng lưới thêm nhiều trạm Slave phân bố trên toàn bộ khuôn viên trường Đại học Sư phạm Kỹ thuật TP.HCM.
    • Tối ưu hóa thuật toán tiết kiệm năng lượng cho các trạm Slave (ứng dụng chế độ Sleep của STM32 và chế độ Power Saving Mode của module LoRa SX1278) để có thể vận hành hoàn toàn bằng pin mặt trời.
    • Phát triển thêm máy chủ riêng (Blynk Private Server hoặc Web Server cục bộ trên Raspberry Pi) nhằm tăng tính chủ động, nâng cao tính bảo mật và giảm độ trễ khi vận hành độc lập với Internet công cộng.

Giá trị tham khảo

Đồ án tốt nghiệp là tài liệu tham khảo có giá trị kỹ thuật đối với:

  • Sinh viên các ngành Công nghệ Kỹ thuật Điện tử - Truyền thông, Kỹ thuật Điều khiển và Tự động hóa, Kỹ thuật Máy tính và Công nghệ Thông tin đang thực hiện đồ án môn học, khóa luận tốt nghiệp về các đề tài IoT, Nông nghiệp thông minh (Smart Agriculture), Hệ thống giám sát môi trường diện rộng.
  • Những người nghiên cứu hệ thống nhúng có nhu cầu tham khảo quy trình phối ghép phần cứng thực tế giữa dòng vi điều khiển ARM Cortex-M3 (STM32F103) với module truyền thông vô tuyến LoRa SX1278 (E32-TTL-100), màn hình cảm ứng UART HMI (TJC8048T070) và kit WiFi ESP8266.
  • Phần đáng tham khảo nhất trong tài liệu bao gồm: sơ đồ nối dây nguyên lý các khối (Chương 3), lưu đồ giải thuật truyền nhận dữ liệu phân gói qua LoRa, cấu hình 4 chế độ hoạt động của chân M0, M1, AUX và phương pháp đồng bộ hóa dữ liệu giữa màn hình HMI với ứng dụng Blynk Cloud.

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

1. Tại sao nhóm tác giả lại lựa chọn kết hợp cả hai công nghệ không dây LoRa và WiFi trong cùng một hệ thống?

WiFi có ưu thế về băng thông cao, kết nối trực tiếp với Internet để đưa dữ liệu lên máy chủ đám mây Blynk Cloud phục vụ giám sát trên smartphone, nhưng tầm phát sóng ngắn (dưới 10 m). Ngược lại, LoRa có băng thông thấp nhưng khoảng cách truyền phát xa (lên tới hàng kilomet) với mức tiêu thụ năng lượng thấp, phù hợp để kết nối các trạm máy bơm (Slave) rải rác trong khuôn viên rộng lớn về trạm điều khiển trung tâm (Master).

2. Vi điều khiển STM32F103C8T6 tại trạm Slave đọc tín hiệu từ cảm biến độ ẩm đất bằng cách nào?

Cảm biến độ ẩm đất xuất tín hiệu tương tự (Analog) từ chân AO kết nối trực tiếp vào chân PA0 của vi điều khiển STM32F103C8T6. Vi điều khiển sử dụng bộ chuyển đổi tương tự - số tích hợp ADC1 – kênh 0 (độ phân giải 12-bit) để số hóa điện áp đọc được, từ đó chuyển đổi thành giá trị số biểu diễn độ ẩm môi trường đất.

3. Module LoRa E32-TTL-100 SX1278 được cấu hình các chế độ hoạt động như thế nào thông qua các chân phần cứng?

Module LoRa được điều khiển chế độ làm việc thông qua mức điện áp logic (0V, 3.3V) trên hai chân M0 và M1 với thời gian chuyển đổi là 1 ms:

  • M1 = 0, M0 = 0: Chế độ 0 (Bình thường - UART mở, truyền nhận liên tục).
  • M1 = 0, M0 = 1: Chế độ 1 (Thức dậy - Tự động thêm mã kích hoạt trạm nhận).
  • M1 = 1, M0 = 0: Chế độ 2 (Tiết kiệm pin - UART đóng, chờ mã kích hoạt).
  • M1 = 1, M0 = 1: Chế độ 3 (Ngủ - Dùng để cấu hình thông số module).

4. Giao thức truyền tin LoRa giữa trạm Master và 2 trạm Slave trong đồ án được tổ chức theo hình thức nào?

Hệ thống sử dụng hình thức truyền Broadcast kết hợp mã hóa địa chỉ trong gói dữ liệu UART. Khi trạm Master phát gói tin, tất cả các Slave đều nhận được tín hiệu nhưng chỉ có Slave mang địa chỉ hoặc bit định danh tương ứng mới tiến hành giải mã, thực thi lệnh đóng ngắt relay máy bơm và gửi gói tin phản hồi trạng thái ngược về Master.

5. Những công cụ phần mềm nào được sử dụng để lập trình và thiết kế giao diện cho toàn bộ hệ thống?

  • Keil uVision 5: Lập trình C cho vi điều khiển STM32F103C8T6 (thư viện Standard Peripheral Libraries), nạp qua ST-Link V2 mini.
  • Arduino IDE: Lập trình C++ cho kit NodeMCU ESP8266 V3 để giao tiếp Blynk Cloud và UART.
  • USART HMI Editor: Thiết kế giao diện cảm ứng cho màn hình TFT 7.0 inch (TJC8048T070_011R).
  • Blynk App: Thiết kế widget điều khiển và giám sát trên hệ điều hành di động.

Kết luận

Đồ án tốt nghiệp "Thiết kế và thi công hệ thống tưới cây thông minh trong khuôn viên trường ĐH SPKT TPHCM" của sinh viên Hoàng Trung Kiên và Trịnh Xuân Hậu đã hoàn thành các mục tiêu đề ra về thiết kế phần cứng và lập trình nhúng. Hệ thống đã ứng dụng hiệu quả công nghệ LoRa SX1278 433MHz để thu thập dữ liệu cảm biến và điều khiển máy bơm nước tầm xa dưới 1 km kết hợp với kit WiFi ESP8266 để điều khiển qua Internet. Toàn bộ thông số hoạt động được đồng bộ chính xác trên cả màn hình cảm ứng HMI TFT 7.0 inch và ứng dụng di động Blynk, mở ra giải pháp tự động hóa khuôn viên cây xanh có tính thực tiễn cao.