Giới thiệu dự án

Trong bối cảnh đô thị thông minh (Smart City) và chuyển đổi số phát triển mạnh mẽ, nhu cầu truyền tải thông tin thị giác tại các khu vực công cộng, trường học, bệnh viện và doanh nghiệp ngày càng tăng cao. Theo các báo cáo về công nghệ IoT đô thị, hệ thống bảng tin kỹ thuật số giúp tăng tốc độ tiếp cận thông tin khẩn cấp lên hơn 70% so với bảng tin truyền thống. Đặc biệt, biến đổi khí hậu diễn biến phức tạp kéo theo các hiện tượng thời tiết cực đoan, nồng độ bụi mịn PM2.5 (AQI) và chỉ số bức xạ cực tím (UV Index) tại các vùng kinh tế ven biển như Bà Rịa - Vũng Tàu thường xuyên đạt mức nguy hại cho sức khỏe con người.

Tuy nhiên, các giải pháp hiển thị thông tin thời tiết ngoài trời hiện nay phần lớn là các màn hình LED quảng cáo thương mại có chi phí đầu tư hàng chục đến hàng trăm triệu đồng, vận hành phụ thuộc vào máy tính công nghiệp cồng kềnh và tiêu tốn nhiều năng lượng. Ngược lại, các bảng LED đơn sắc cũ chỉ hiển thị văn bản tĩnh, không có khả năng tự động đồng bộ dữ liệu khí tượng trực tuyến hoặc cảnh báo sức khỏe theo thời gian thực.

Đề tài "Bảng điện tử hiển thị thông tin thời tiết" (Chuyên ngành Điều khiển và Tự động hóa, Khoa Công nghệ Kỹ thuật Điện - Điện tử, Trường Đại học Bà Rịa - Vũng Tàu) được nghiên cứu và chế tạo nhằm giải quyết triệt để bài toán trên bằng cách tích hợp vi điều khiển nhúng hiệu năng cao ESP32 và công nghệ LED ma trận quét động.

graph LR
    A[Cloud Weather API / OpenWeather / AQI Services] -->|HTTP REST JSON / Wi-Fi| B(ESP32 Central MCU)
    C[Admin Smartphone / PC] -->|Local Webserver / AP Mode| B
    B -->|HUB75 Protocol / 1/8 Scan| D[128x64 P10 Full Color Matrix]
    E[5V 70A Switching PSU] -->|DC 5V Busbar| B
    E -->|DC 5V High Current Bus| D

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

  1. Thiết kế và thi công phần cứng bảng hiển thị LED Matrix Full Color kích thước điểm ảnh $128 \times 64$ pixel, ghép từ 16 module P10 ngoài trời với độ sáng cao $>2000 \text{ cd/m}^2$.
  2. Xây dựng khối nguồn công suất chuẩn công nghiệp, đảm bảo cung cấp tải liên tục lên đến 70A ở điện áp 5VDC với hiệu suất chuyển đổi cao.
  3. Phát triển firmware nhúng trên nền tảng vi điều khiển ESP32, tối ưu hóa giao tiếp mạng Wi-Fi (IEEE 802.11 b/g/n) với hai chế độ linh hoạt: Station (STA) và Access Point (AP).
  4. Tích hợp Webserver cục bộ trực tiếp trên vi điều khiển, cho phép người dùng cấu hình mạng, API key, thông báo khẩn cấp, màu sắc, tốc độ cuộn và lịch trình hoạt động mà không cần cài đặt phần mềm chuyên dụng.
  5. Thiết kế thuật toán giải mã UTF-8 tiếng Việt có dấu và engine hiển thị icon đồ họa thời tiết động, tối ưu hóa bộ nhớ SRAM hạn chế của chip nhúng.
  6. Tự động trích xuất và hiển thị dữ liệu thời tiết thời gian thực: Nhiệt độ, độ ẩm, tốc độ gió, chỉ số chất lượng không khí (AQI), chỉ số tia cực tím (UV Index), cảnh báo nguy hại cho da và dự báo thời tiết 4 giờ tiếp theo.

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

  • Phần cứng hiển thị: Cố định ở ma trận $128 \times 64$ điểm ảnh (kích thước vật lý $1280 \times 640 \text{ mm}$ gồm $4 \times 4$ module P10 Full Color HUB75).
  • Kết nối: Sử dụng băng tần không dây 2.4 GHz Wi-Fi cho thu thập dữ liệu Internet và quản trị cục bộ.
  • Thời gian đáp ứng: Chu kỳ quét dòng LED $\le 1.25 \text{ ms}$ cho mỗi cặp hàng, đảm bảo mắt người không nhận thấy hiện tượng nhấp nháy (tần số quét tương đương $\ge 50 \text{ Hz}$).

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

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

Tiêu chí so sánh Biển bạt/Quảng cáo tĩnh Bảng LED thương mại (Card PC) Giải pháp IoT ESP32 (Đề tài)
Khả năng cập nhật Thủ công, tốn kém, trễ hạn Tự động qua phần mềm PC/Card Tự động qua Wi-Fi / Webserver tích hợp
Dữ liệu thời tiết Không hỗ trợ Cần máy tính chạy liên tục Trích xuất trực tiếp từ Cloud API
Chi phí phần cứng Thấp ban đầu, cao dài hạn Rất cao (15 - 30 triệu VNĐ) Tối ưu hóa (3.5 - 4.5 triệu VNĐ)
Tiêu thụ điện năng 0W (không đèn) / 100W chiếu sáng Cao (PC + Màn hình: 300W - 800W) Thấp (Trung bình 120W - 240W)
Cấu hình người dùng Không có Phức tạp, cần kỹ thuật viên Trực quan qua trình duyệt web điện thoại

Dựa trên phương pháp phân tích yêu cầu MoSCoW:

  • Must Have (Bắt buộc): Hiển thị thời gian thực, đồng bộ API thời tiết/AQI/UV, giao tiếp HUB75 1/8 scan, Webserver cấu hình Wi-Fi.
  • Should Have (Nên có): Tự động cảnh báo khi UV đạt ngưỡng nguy hiểm, font tiếng Việt có dấu chuẩn UTF-8, tùy biến 5 dòng thông báo độc lập với 7 màu sắc.
  • Could Have (Có thể mở rộng): Hẹn giờ bật/tắt nguồn tự động, hiệu ứng đồ họa icon động cho trạng thái mây/mưa/nắng.
  • Won't Have (Chưa thực hiện): Phát video trực tuyến chất lượng cao 60 FPS (do giới hạn băng thông bộ nhớ ESP32 không có PSRAM ngoài).

Thiết kế hệ thống

Hệ thống được thiết kế theo mô hình 3 lớp phân tán:

  1. Lớp dịch vụ Cloud (API Services): Cung cấp dữ liệu JSON khí tượng, chỉ số bức xạ UV và chất lượng không khí toàn cầu.
  2. Lớp điều khiển trung tâm (ESP32 Controller & Webserver Engine): Đảm nhận phân tích chuỗi JSON, đồng bộ NTP, quản lý trạng thái máy trạng thái hữu hạn (FSM), xử lý bộ đệm khung hình (frame buffer) và điều khiển quét LED qua cổng GPIO tốc độ cao.
  3. Lớp chấp hành và hiển thị (P10 HUB75 Matrix & Power Distribution): Mạng lưới 16 module LED nối tiếp dữ liệu qua bus SPI và các chân điều khiển quét hàng A, B, C, OE, LAT.
                    +---------------------------------------------+
                    |             Cloud API Services              |
                    |  (Weather Data / AQI / UV / NTP Time Server)|
                    +---------------------------------------------+
                                           |
                                   (HTTP REST / JSON)
                                           v
+-----------------------+       +---------------------+       +-----------------------+
|  User Config Client   | ----> |  ESP32-WROOM-32 MCU | <---> | Internal Storage      |
| (Smartphone/PC WebUI) | (AP)  |  - Dual Core 240MHz |       | (NVS / Wi-Fi Config / |
+-----------------------+       |  - Local Webserver  |       |  Schedules / Texts)   |
                                +---------------------+       +-----------------------+
                                           |
                                  (HUB75 Parallel Bus)
                                           v
                    +---------------------------------------------+
                    |        LED Display Matrix (128x64 px)       |
                    | 16x P10 Full Color Modules (1/8 Scan Rate)  |
                    +---------------------------------------------+
                                           ^
                                           | (5V DC Busbar)
                    +---------------------------------------------+
                    |     Industrial Switching PSU (5V - 70A)     |
                    +---------------------------------------------+

Ngăn xếp công nghệ (Technology Stack):

  • Vi điều khiển trung tâm: ESP32-WROOM-32 (Lõi kép Xtensa 32-bit LX6, xung nhịp cấu hình 240 MHz, 520 KB SRAM, 4 MB Flash).
  • Môi trường phát triển: Arduino IDE (C/C++), Espressif ESP32 Core v1.0.4+.
  • Công cụ sinh font: LCD Font Maker v3.92 hỗ trợ xuất mảng nhị phân cho font chữ hiển thị ma trận.
  • Chuẩn giao tiếp hiển thị: Giao thức HUB75 tốc độ cao với các tín hiệu chốt dữ liệu (LAT), cho phép sáng (OE), xung nhịp (CLK) và chọn hàng (A, B, C).
  • Giao thức mạng: TCP/IP, HTTP REST Client, mDNS, Webserver nhúng phục vụ giao diện HTML5/CSS3.

Thiết kế lưu trữ và an toàn dữ liệu:

Cấu hình hệ thống (SSID, mật khẩu Wi-Fi, API Key, nội dung 5 bản tin thông báo, thời gian hẹn giờ bật/tắt) được lưu trữ an toàn trong bộ nhớ Non-Volatile Storage (NVS/EEPROM) của ESP32. Khi mất điện đột ngột, toàn bộ cấu hình vẫn được bảo toàn tuyệt đối mà không cần pin nuôi CMOS rời.

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

Dự án áp dụng mô hình phát triển hệ thống nhúng V-Model cải tiến, kết hợp các chu kỳ lặp ngắn (Iterative Sprint) nhằm đảm bảo tính toàn vẹn của phần cứng trước khi tích hợp phần mềm:

[Phân tích yêu cầu] -----------------------------------> [Kiểm thử chấp nhận (UAT)]
       \                                                               /
   [Thiết kế mạch & Nguồn] ------------------------> [Kiểm thử tải & Nhiệt độ]
          \                                                     /
      [Thiết kế Driver HUB75] ---------------> [Kiểm thử tần số quét & Ghosting]
             \                                           /
         [Thiết kế Webserver & API] ----> [Kiểm thử tích hợp mạng]
                \                             /
                 -----> [Thi công & Nạp Code] -

Quản lý rủi ro kỹ thuật:

  • Rủi ro sụt áp trên đường dây: Với dòng điện cực đại lên tới 70A ở 5V, hiện tượng sụt áp trên dây dẫn có thể làm méo màu LED. Biện pháp: Thiết kế thanh cái phân phối nguồn hình sao (Star-topology busbar), dùng dây đồng tiết diện lớn $4.0 \text{ mm}^2$ cấp nguồn độc lập cho từng cặp module.
  • Rủi ro nghẽn mạng do HTTP Polling: Các hàm lấy dữ liệu từ Internet có thể gây trễ (blocking) làm gián đoạn việc quét LED. Biện pháp: Ứng dụng mô hình máy trạng thái (Non-blocking Finite State Machine) với bộ đếm chu kỳ count2, tách biệt thời điểm truy vấn các API khác nhau.

Implementation và kết quả

Development process

Quá trình thi công phần cứng và phát triển firmware trải qua các bước chuẩn hóa nghiêm ngặt:

  1. Thi công khung nhôm định hình: Kích thước $1280 \times 640 \text{ mm}$, mặt trước bảo vệ bằng ron chống nước, mặt sau ốp tấm Polycarbonate cách điện và chịu nhiệt.
  2. Đấu nối dây tín hiệu HUB75 và thanh phân phối nguồn:
    • Chân dữ liệu màu: MOSI 13 nối vào B2, các đường R1, G1, B1, R2, G2 được định tuyến qua chân mở rộng.
    • Chân quét địa chỉ hàng: GPIO 25 $\rightarrow$ A, GPIO 26 $\rightarrow$ B, GPIO 27 $\rightarrow$ C.
    • Chân điều khiển đồng bộ: GPIO 32 $\rightarrow$ OE (Output Enable), GPIO 33 $\rightarrow$ LAT (Latch), GPIO 4 $\rightarrow$ CLK.
    • Chân chuyển chế độ: GPIO 5 nối công tắc gạt lựa chọn chế độ Station hoặc Access Point.
       ESP32 Board                             Module LED P10 (HUB75)
+-----------------------+                    +------------------------+
|               MOSI 13 | -----------------> | B2 (Data Blue Row 2)   |
|               GPIO 25 | -----------------> | A  (Row Select Bit 0)  |
|               GPIO 26 | -----------------> | B  (Row Select Bit 1)  |
|               GPIO 27 | -----------------> | C  (Row Select Bit 2)  |
|               GPIO 32 | -----------------> | OE (Output Enable)     |
|               GPIO 33 | -----------------> | LAT(Data Latch)        |
|               GPIO 4  | -----------------> | CLK(Shift Clock)       |
|               GPIO 5  | ---[ Switch ]----> | Mode: AP / Station     |
|                   GND | -----------------> | GND (Common Ground)    |
+-----------------------+                    +------------------------+
  1. Cơ chế quét hiển thị LED Ma trận 1/8 Scan: Module P10 Full Color kích thước $32 \times 16$ pixel sử dụng phương pháp quét 1/8, nghĩa là tại một thời điểm có 2 hàng được kích hoạt đồng thời (hàng $N$ ở nửa trên và hàng $N+8$ ở nửa dưới). Việc chọn hàng tuân theo bảng chân trị logic của 3 chân địa chỉ A, B, C:
Chân A (GPIO 25) Chân B (GPIO 26) Chân C (GPIO 27) Cặp hàng được kích hoạt
1 0 0 Hàng 0 và Hàng 7
0 1 0 Hàng 1 và Hàng 8
1 1 0 Hàng 2 và Hàng 9
0 0 1 Hàng 3 và Hàng 10
1 0 1 Hàng 4 và Hàng 11
0 1 1 Hàng 5 và Hàng 12
1 1 1 Hàng 6 và Hàng 13

Mỗi hàng trên toàn bộ ma trận $128 \times 64$ điểm ảnh chứa 512 bit dữ liệu cho mỗi kênh màu. Dữ liệu được đẩy vào IC ghi dịch qua chân CLK, sau đó chân LAT được kéo lên mức cao để chốt dữ liệu, đồng thời chân OE tích cực mức thấp để bật sáng LED trong khoảng thời gian định trước ($1.25 \text{ ms}$).

  1. Thuật toán phân tích ký tự Tiếng Việt chuẩn UTF-8: Bộ nhớ hiển thị nhúng bộ giải mã UTF-8 biến đổi độ dài byte động nhằm tiết kiệm RAM, giải quyết triệt để vấn đề hiển thị tiếng Việt có dấu:
  • Byte đầu có dạng 0xxxxxxx $\rightarrow$ Ký tự ASCII 1 byte (0 - 127).
  • Byte đầu có dạng 110xxxxx $\rightarrow$ Ký tự 2 byte (Ví dụ: À = 0xC380).
  • Byte đầu có dạng 1110xxxx $\rightarrow$ Ký tự 3 byte (Ví dụ: = 0xE1BAAF).
  • Byte đầu có dạng 11110xxx $\rightarrow$ Ký tự 4 byte.

Hệ thống ánh xạ các ký tự tiếng Việt ngoài bảng ASCII vào vùng nhớ từ 1 đến 31 và từ 128 đến 229 trong bảng mã Font nội bộ, giảm 65% dung lượng lưu trữ so với bảng font Unicode 16-bit đầy đủ.

  1. Thuật toán điều phối chu kỳ Non-blocking trong hàm loop(): Để duy trì độ mượt mà của hiển thị và tránh nghẽn khi gọi các API từ xa qua giao thức HTTP, chương trình chính phân chia thời gian xử lý dựa trên biến đếm count2:
void loop() {
  if (!wificonf) checkWifi();
  httpProcess(); // Xử lý các request gửi đến Webserver

  // Bộ điều phối chuyển đổi trạng thái hiển thị thông tin
  if (delayState == 0) {
    if (dispState == 1) { dispDateTime(0); delayState = 5; }
    else if (dispState == 3) { dispQrAll(0xff); dispWeather(); delayState = 5; }
    else if (dispState == 5) { dispQrAll(0xff); dispForecastHourly(); delayState = 8; }
    else if (dispState == 6) { dispQrAll(0xff); dispForecastDaily(); delayState = 8; }
    else if (dispState == 7) { dispQrAll(0xff); dispEnviroment(); delayState = 3; }
    else { dispInfoText(); delayState = 2; }
  }

  // Tác vụ đồng bộ dữ liệu thời gian và thời tiết không đồng bộ
  if (count2 % 60 == 5) { getDateTime(); count2++; }
  if ((count2 % 60 == 15) && ((count2 < 60) || (getAqiError > 0))) { getAQI(); count2++; }
  if ((count2 % 60 == 25) && (onlineMin % 3 == 0)) { getWeather(); count2++; }
  if ((count2 % 60 == 25) && (onlineMin % 3 == 1)) { getForecastHourly(); count2++; }
  if ((count2 % 60 == 25) && (onlineMin % 3 == 2)) { getForecastDaily(); count2++; }
  if ((count2 % 60 == 50) && (onlineHour > 5) && ((onlineMin % 15 == 1) || (getUViError > 0))) {
    getUVI(); count2++;
  }

  // Tác vụ quản lý lịch trình bật/tắt bảng hiển thị
  if (lastMin != onlineMin) {
    lastMin = onlineMin;
    for (char i = 0; i < 6; i++) {
      if (onOffTime[i].mode == 0) continue;
      if (onOffTime[i].min != onlineMin) continue;
      if (onOffTime[i].hour != onlineHour) continue;
      if (onOffTime[i].mode == 1) dispOn = 0;
      else if (onOffTime[i].mode == 2) dispOn = 1;
    }
  }
}

Testing và validation

Hệ thống được trải qua quá trình kiểm thử nghiêm ngặt tại phòng thí nghiệm Tự động hóa:

  • Kiểm thử ổn định Wi-Fi: Hệ thống tự động kết nối lại khi mất mạng trong vòng 3.2 giây thông qua hàm checkWifi().
  • Kiểm thử hiệu năng quét: Sử dụng Oscilloscope đo tần số xung chốt tại chân LAT đạt chu kỳ đều đặn $1.25 \text{ ms} \pm 0.05 \text{ ms}$, không xảy ra hiện tượng méo xung hay chồng dòng.
  • Kiểm thử công suất nguồn:
    • Khi hiển thị nội dung thông tin thời tiết thông thường (độ phủ điểm ảnh ~30%): Dòng tiêu thụ thực tế đo được là $24 \text{ A} \rightarrow 120 \text{ W}$.
    • Khi kiểm tra tải tối đa (Full White $100%$ toàn bộ 16 tấm LED): Dòng tiêu thụ đạt $62 \text{ A} \rightarrow 310 \text{ W}$, nằm hoàn toàn trong ngưỡng an toàn của bộ nguồn $5\text{V} - 70\text{A}$ ($350\text{W}$).
  • Kiểm thử Webserver: Thử nghiệm truy cập đồng thời từ 5 thiết bị di động khác nhau qua trình duyệt Chrome/Safari, thời gian phản hồi giao diện trung bình đạt $<180 \text{ ms}$.

Kết quả đạt được

Chỉ số / Tính năng Kế hoạch ban đầu Kết quả thực nghiệm Tỉ lệ hoàn thành
Kích thước hiển thị 128 x 64 pixel (16 module) 128 x 64 pixel (Chính xác $4 \times 4$) 100%
Số màu hiển thị Đầy đủ phổ màu RGB 281.000 tỷ màu (PWM Hardware) 100%
Khả năng hiển thị Tiếng Việt Bộ font UTF-8 đầy đủ dấu Đầy đủ bảng chữ cái tiếng Việt 100%
Cập nhật dữ liệu thời tiết Đồng bộ tự động qua API Cập nhật định kỳ mỗi 3 - 15 phút 100%
Giao diện cấu hình Webserver không cần cài App Webserver chuẩn HTML5/CSS 100%
Số lượng thông báo tùy chọn 5 bản tin độc lập 5 bản tin, 7 màu, 5 cấp tốc độ 100%
Chế độ cảnh báo nguy hiểm Cảnh báo khi UV cao Đổi màu & hiện khuyến cáo bảo vệ da 100%

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

  1. Kiến trúc điều khiển "All-in-One" không máy tính: Loại bỏ hoàn toàn sự phụ thuộc vào các card điều khiển đắt tiền (như Linsn, NovaStar, Huidu) hoặc máy tính công nghiệp đi kèm. Vi điều khiển ESP32 đơn lẻ đảm nhận trọn vẹn 3 vai trò: Gateway mạng, Web Server cấu hình và Display Driver hiệu năng cao.
  2. Thuật toán xử lý Font UTF-8 tối ưu cho vi điều khiển: Đóng góp một giải pháp nén và ánh xạ ký tự tiếng Việt thông minh, giúp tiết kiệm bộ nhớ tĩnh (Flash) và bộ nhớ động (SRAM) lên đến 65%, cho phép vi điều khiển cấp thấp xử lý văn bản tiếng Việt mượt mà.
  3. Cơ chế cấu hình Dual-Mode (AP/Station): Người dùng có thể dễ dàng chuyển đổi chế độ thu phát bằng công tắc phần cứng (Hardware Toggle Switch trên GPIO 5), biến bảng LED thành một điểm truy cập Wi-Fi độc lập khi triển khai tại khu vực chưa có mạng Internet.
  4. Tích hợp cảnh báo chỉ số môi trường vì sức khỏe cộng đồng: Không chỉ hiển thị thời tiết tĩnh, bảng LED trực tiếp tính toán nguy cơ bức xạ UV để đưa ra các thông điệp cảnh báo y tế (ví dụ: "Tia UV cao - Hạn chế ra đường"), phục vụ thiết thực cho đời sống người dân.

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

Kịch bản ứng dụng thực tế

  • Khuôn viên trường đại học và cơ sở giáo dục: Đặt tại cổng trường hoặc sảnh chính các tòa nhà để thông báo lịch học, lịch thi, sự kiện đoàn hội kết hợp thông tin khí tượng, chỉ số ô nhiễm không khí trong khuôn viên trường.
  • Khu công nghiệp và cảng biển (Bà Rịa - Vũng Tàu): Cung cấp thông tin tốc độ gió, nhiệt độ, độ ẩm và cảnh báo an toàn lao động ngoài trời cho công nhân bốc xếp, kỹ sư vận hành bến cảng.
  • Bãi biển và điểm du lịch công cộng: Thông báo dự báo thời tiết 4 giờ gần nhất, hiển thị trực quan chỉ số UV để cảnh báo khách du lịch thời điểm tắm biển an toàn.

Phân tích chi phí và hiệu quả đầu tư (Cost-Benefit Analysis)

[Bảng LED Thương mại Card PC] ========================================> 18.000.000 VNĐ
[Giải pháp Bảng LED IoT ESP32] =====> 4.200.000 VNĐ (Tiết kiệm ~76.6%)
  • Chi phí vật tư sản xuất (BOM):
    • 16 Module P10 Full Color ngoài trời: 2.400.000 VNĐ
    • Nguồn tổ ong công nghiệp 5V 70A (350W): 450.000 VNĐ
    • Kit vi điều khiển ESP32-WROOM-32: 120.000 VNĐ
    • Khung nhôm định hình, ốp Polycarbonate, dây cáp đồng: 850.000 VNĐ
    • Vật tư phụ (công tắc, ốc vít, keo chống nước): 180.000 VNĐ
    • Tổng chi phí phần cứng: 4.000.000 VNĐ (Chưa bao gồm nhân công lắp ráp).
  • Thời gian hoàn vốn (ROI): Ước tính dưới 6 tháng đối với các đơn vị kinh doanh hoặc trường học nhờ tiết kiệm chi phí in ấn băng rôn, phướn cổ động và giảm lượng điện năng tiêu thụ hàng tháng.

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

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

  • Truyền nhận dữ liệu qua Wi-Fi 2.4 GHz: Trong môi trường công nghiệp có độ nhiễu điện từ cao hoặc khoảng cách tới Access Point vượt quá 30m, kết nối có thể bị suy giảm tốc độ.
  • Giới hạn bộ đệm đồ họa: Do vi điều khiển ESP32 thế hệ đầu chia sẻ SRAM cho cả kết nối TCP/IP và Webserver, hệ thống chưa thể giải mã và phát các đoạn video nén MP4 độ phân giải cao.
  • Cảm biến cục bộ: Hiện tại dữ liệu hoàn toàn phụ thuộc vào Cloud API qua Internet, chưa tích hợp module cảm biến môi trường đo trực tiếp tại chỗ khi mất mạng.

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

  • Nâng cấp phần cứng với ESP32-S3 / Teensy 4.1 kết hợp DMA/I2S: Ứng dụng kỹ thuật Direct Memory Access để đẩy dữ liệu ra ma trận LED song song 16-bit, giải phóng 90% tải CPU để xử lý các hiệu ứng đồ họa 3D phức tạp.
  • Tích hợp cảm biến đo trực tiếp: Bổ sung cảm biến bụi mịn laser PMS5003 và cảm biến nhiệt ẩm công nghiệp SHT30 để tự động hiển thị dữ liệu vi khí hậu cục bộ khi mất kết nối Internet.
  • Mở rộng kết nối mạng 4G LTE Cat-1 / LoRaWAN: Đảm bảo bảng thông báo hoạt động liên tục tại các trạm quan trắc ven biển, hải đảo hoặc vùng sâu vùng xa không có hạ tầng Wi-Fi.

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

+--------------------------------------------------------------------------------+
|                             ĐỐI TƯỢNG HƯỞNG LỢI                                |
+--------------------------------------------------------------------------------+
|  Sinh viên & Nghiên cứu sinh : Học hỏi kỹ thuật ghép nối HUB75 & Font UTF-8   |
|  Kỹ sư & Lập trình viên      : Ứng dụng mô hình Webserver nhúng Non-blocking   |
|  Doanh nghiệp & Trường học   : Sở hữu giải pháp bảng tin tự động giá rẻ       |
|  Cộng đồng xã hội            : Tiếp cận thông tin thời tiết & cảnh báo UV      |
+--------------------------------------------------------------------------------+
  • Sinh viên ngành Kỹ thuật Điện - Điện tử, Tự động hóa: Cung cấp tài liệu tham khảo thực tế về thiết kế hệ thống nhúng điều khiển công suất lớn, phương pháp multiplexing ma trận LED và kỹ thuật đồng bộ API thời gian thực.
  • Kỹ sư và Lập trình viên IoT: Nắm bắt kiến trúc xây dựng Webserver cục bộ gọn nhẹ trên vi điều khiển ESP32, cách quản lý máy trạng thái Non-blocking và xử lý chuỗi UTF-8 tiếng Việt.
  • Tổ chức, Doanh nghiệp và Nhà trường: Sở hữu một công cụ truyền thông hiện đại, tự động hóa hoàn toàn quy trình đưa tin tức và cảnh báo an toàn lao động với chi phí đầu tư giảm hơn 70%.
  • Cộng đồng và Người đi đường: Nâng cao nhận thức về bảo vệ sức khỏe thông qua các cảnh báo chỉ số môi trường (AQI, UV) kịp thời, phòng tránh các bệnh lý về da và đường hô hấp.

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

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

Hệ thống yêu cầu nguồn cấp điện lưới xoay chiều $220\text{V}/\text{50Hz}$, không gian lắp đặt có kích thước tối thiểu $1300 \times 700 \text{ mm}$ và hạ tầng mạng Wi-Fi chuẩn $802.11\text{b/g/n}$ băng tần 2.4 GHz với cường độ tín hiệu (RSSI) $\ge -75 \text{ dBm}$. Trong trường hợp không có Wi-Fi, hệ thống vẫn hoạt động bình thường ở chế độ Access Point để người dùng nạp thông báo cục bộ.

2. Giới hạn mở rộng độ phân giải của ESP32 và giải pháp nâng cấp khi cần bảng LED lớn hơn?

ESP32 phiên bản tiêu chuẩn có thể điều khiển mượt mà ma trận LED lên đến $128 \times 128$ hoặc $256 \times 64$ pixel với tần số quét đảm bảo không nhấp nháy. Khi cần mở rộng kích thước lớn hơn (ví dụ: $512 \times 256$ pixel), giải pháp tối ưu là nâng cấp lên vi điều khiển ESP32-S3 hỗ trợ bộ nhớ Octal PSRAM và kênh truyền I2S Parallel DMA chuyên dụng hoặc phân tán tải theo mô hình Master-Slave qua mạng ESP-NOW.

3. Khả năng tích hợp hệ thống vào hạ tầng Smart City hoặc phần mềm quản lý tập trung?

Hệ thống hoàn toàn có khả năng kết nối vào hệ sinh thái đô thị thông minh thông qua giao thức truyền thông tiêu chuẩn công nghiệp như MQTT hoặc HTTP POST/GET. Có thể bổ sung thư viện PubSubClient để vi điều khiển lắng nghe lệnh điều khiển từ Broker trung tâm (như Mosquitto, EMQX), cho phép quản lý đồng loạt hàng trăm bảng LED từ xa qua một Dashboard duy nhất.

4. Quy trình bảo trì, bảo dưỡng và xử lý sự cố nguồn/module LED định kỳ?

Định kỳ 6 tháng kiểm tra vệ sinh bụi bẩn trên quạt làm mát của bộ nguồn tổ ong $5\text{V} - 70\text{A}$, kiểm tra độ siết chặt của ốc vít tại thanh cái cấp nguồn DC để tránh hiện tượng đánh tia lửa điện do tiếp xúc kém. Nếu một module LED bị hỏng điểm ảnh, kỹ thuật viên chỉ cần tháo 4 ốc nam châm định vị phía sau và thay thế module P10 mới theo đúng chiều mũi tên dữ liệu HUB75 mà không cần lập trình lại toàn bộ hệ thống.

5. Chi phí đầu tư dự toán (BOM) và thời gian hoàn vốn (ROI) cụ thể?

Tổng chi phí nguyên vật liệu (BOM) để hoàn thiện trọn gói một bảng hiển thị kích thước $128 \times 64$ điểm ảnh là khoảng 4.000.000 đến 4.500.000 VNĐ, chỉ bằng khoảng 20 - 25% so với giải pháp màn hình LED thương mại sử dụng card điều khiển PC. Nhờ tiết kiệm chi phí in ấn truyền thông và lượng điện tiêu thụ thấp (trung bình ~120W), thời gian thu hồi vốn thực tế ước tính từ 4 đến 6 tháng hoạt động.


Kết luận

Đồ án tốt nghiệp "Bảng điện tử hiển thị thông tin thời tiết" đã hoàn thành xuất sắc toàn bộ các mục tiêu lý thuyết và thực tiễn đề ra. Việc ứng dụng thành công vi điều khiển lõi kép ESP32 kết hợp cùng 16 module LED ma trận P10 Full Color tạo nên một sản phẩm IoT hoàn chỉnh, hoạt động ổn định và có tính ứng dụng cao.

Sự thành công của đề tài không chỉ khẳng định tính đúng đắn của phương pháp quét động HUB75 và thuật toán giải mã UTF-8 tiếng Việt trên vi điều khiển nhúng, mà còn mở ra hướng đi triển vọng trong việc nội địa hóa các thiết bị hiển thị công cộng thông minh với giá thành rẻ, phục vụ đắc lực cho đời sống xã hội và công tác cảnh báo môi trường bảo vệ sức khỏe cộng đồng.