Tổng quan về giáo trình

Giáo trình Thực hành cơ sở và ứng dụng IoTs do ThS. Huỳnh Hoàng Hà, ThS. Trương Quang Phúc và TS. Đỗ Duy Tân biên soạn, được Nhà xuất bản Đại học Quốc gia Thành phố Hồ Chí Minh xuất bản năm 2022. Đây là tài liệu phục vụ trực tiếp cho môn học "Thực hành cơ sở và ứng dụng IoTs", thuộc chương trình đào tạo kỹ sư ngành Công nghệ Kỹ thuật Máy tính tại Khoa Điện - Điện tử, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh.

Mục tiêu học tập của giáo trình là trang bị cho người học hệ thống kiến thức từ tổng quan kiến trúc Internet of Things (IoT) đến các kỹ thuật triển khai phần cứng, cấu hình mạng truyền thông không dây và lập trình phần mềm. Sinh viên sau khi hoàn thành chương trình có khả năng phân tích sơ đồ khối hệ thống, làm chủ các chuẩn kết nối tầm ngắn và tầm xa, xây dựng giao diện giám sát trên nền tảng Web và thiết lập máy chủ cơ sở dữ liệu thời gian thực để điều khiển thiết bị hai chiều.

Giáo trình được cấu trúc thành 4 chương theo trình tự từ lý thuyết hệ thống đến tích hợp ứng dụng cụ thể:

  • Chương 1: Giới thiệu tổng quan về hệ thống IoT.
  • Chương 2: Các chuẩn truyền thông không dây.
  • Chương 3: Thiết kế Website.
  • Chương 4: Xây dựng Server Firebase.

Điểm đặc sắc của giáo trình nằm ở phương pháp tiếp cận thực hành kỹ thuật có tính hệ thống. Nội dung không dừng lại ở lý thuyết trừu tượng mà kết nối trực tiếp các khối chức năng: từ thiết bị cảm biến, module truyền thông phần cứng (ESP32, LoRa E32-TTL-100) qua hạ tầng mạng đến dịch vụ đám mây (Firebase Realtime Database) và giao diện người dùng (HTML/CSS/JavaScript).


Nội dung kiến thức cốt lõi

Các chương và chủ đề chính

Nội dung giáo trình được triển khai theo tiến trình phát triển hoàn chỉnh của một giải pháp IoT công nghiệp và dân dụng:

  • Chương 1: Giới thiệu tổng quan về hệ thống IoT Trình bày bản chất kết nối giữa thế giới vật lý và không gian mạng; phân tích 3 phân lớp chức năng cốt lõi gồm: thu thập dữ liệu (cảm biến, điều hòa tín hiệu, số hóa, gắn siêu dữ liệu - metadata), xử lý và trực quan hóa dữ liệu (xử lý tại biên - edge, fog và phân tích trên điện toán đám mây), và thực thi điều khiển (cơ cấu chấp hành). Chương này cũng so sánh IoT với Internet truyền thống về luồng dữ liệu chuỗi thời gian, định dạng ngữ nghĩa, vai trò của IoT trong Công nghiệp 4.0, cùng các thách thức kỹ thuật về chuẩn hóa, bảo mật mạng và quyền riêng tư dữ liệu người dùng.

  • Chương 2: Các chuẩn truyền thông không dây Cung cấp thông số kỹ thuật và nguyên lý hoạt động của các công nghệ kết nối:

    • Bluetooth (IEEE 802.15.1): Băng tần 2.4 GHz, điều chế GFSK, cấu trúc mạng Piconet (1 Master, tối đa 7 Active Slaves và 255 Parked Slaves) và Scatternet.
    • WLAN/WiFi (dòng tiêu chuẩn IEEE 802.11a/b/g/n/ac/ad/ax): Phân tích các chế độ Ad-hoc (IBSS), Infrastructure (AP), hệ thống phân phối không dây WDS, kỹ thuật điều chế OFDM, OFDMA, MIMO và 1024-QAM.
    • Zigbee: Băng tần 868/915 MHz và 2.4 GHz, định tuyến dạng lưới (Mesh) dựa trên giao thức AODV (RFC 3561), cấu trúc phân cấp gồm Coordinator, Router và End Device.
    • LoRa (Long Range): Phân tích 4 cơ chế truyền nhận (Transparent, Fixed Transmission), 4 chế độ hoạt động (Normal, Wake-up, Power-Saving, Sleep - WOR). Trọng tâm thực hành hướng dẫn lập trình module LoRa E32-TTL-100 kết nối vi điều khiển qua thư viện LoRa_E32.h trên Arduino IDE.
  • Chương 3: Thiết kế Website Hướng dẫn xây dựng giao diện điều khiển và giám sát thiết bị:

    • HTML5: Cấu trúc thẻ định dạng, nhóm thẻ danh sách (<ul>, <ol>, <li>), thẻ liên kết (<a>), hình ảnh (<img>), nút bấm (<button>), nhập liệu (<input> dạng text, range, date), và các thuộc tính cơ bản như id, class, style.
    • CSS: Cú pháp định kiểu cho selector thẻ, id và class; 3 phương pháp nhúng CSS (external, internal, inline); các thuộc tính màu sắc, font, canh lề, bố cục khung giao diện với Bootstrap.
    • JavaScript: Cú pháp xử lý sự kiện tương tác DOM (onclick, truy xuất phần tử qua document.getElementById), logic cập nhật giao diện trạng thái thiết bị thời gian thực.
  • Chương 4: Xây dựng Server Firebase Hướng dẫn thiết lập Firebase Realtime Database:

    • Tích hợp Firebase SDK vào Website để đọc/ghi dữ liệu hai chiều.
    • Lập trình vi điều khiển ESP32 kết nối WiFi và tương tác với Firebase Realtime Database qua thư viện chuyên dụng, hoàn thiện mô hình liên kết phần cứng và phần mềm.
+-------------------------------------------------------------------------------+
|                             TIẾN TRÌNH NỘI DUNG                              |
+-------------------------------------------------------------------------------+
| Chương 1: Kiến trúc IoT (Thu thập dữ liệu -> Xử lý/Đám mây -> Thực thi)       |
|                                       ↓                                       |
| Chương 2: Truyền thông không dây (Bluetooth, WiFi 802.11ax, Zigbee, LoRa E32) |
|                                       ↓                                       |
| Chương 3: Giao diện người dùng Web (HTML5, CSS layout, JavaScript DOM)       |
|                                       ↓                                       |
| Chương 4: Đám mây Firebase Realtime DB (Đồng bộ Web Dashboard <-> ESP32 Node) |
+-------------------------------------------------------------------------------+

Kiến thức nền tảng được xây dựng

Giáo trình hình thành nền tảng lý thuyết và nguyên lý kỹ thuật bao gồm:

  • Lý thuyết hệ thống phân tán: Phân định rõ chức năng giữa các tầng Edge Computing, Gateway chuyển đổi giao thức, Fog và Cloud Back-end.
  • Nguyên lý mạng truyền thông không dây: Kỹ thuật trải phổ, các mô hình topo mạng (Star, Mesh, P2P), cơ chế đồng bộ khung truyền, phân bổ kênh và quản lý công suất phát.
  • Mô hình dữ liệu phi quan hệ thời gian thực: Cơ chế lưu trữ JSON dạng cây trên Firebase Realtime Database, mô hình Publish/Subscribe và đồng bộ dữ liệu thời gian thực giữa các điểm cuối (endpoints).

Kỹ năng phát triển

Thông qua nội dung giảng dạy và các bài tập, người học rèn luyện các kỹ năng chuyên môn:

  • Kỹ năng kỹ thuật (Technical skills): Lập trình nhúng C/C++ trên Arduino IDE cho ESP32 và module LoRa E32-TTL-100; lập trình Front-end cơ bản với HTML/CSS/JavaScript; cấu hình dịch vụ đám mây Firebase.
  • Kỹ năng phân tích (Analytical skills): Phân tích luồng dữ liệu, đánh giá độ trễ và xung đột kênh truyền trong mạng cảm biến không dây; lựa chọn chuẩn kết nối phù hợp với yêu cầu khoảng cách, băng thông và tiêu thụ năng lượng.
  • Kỹ năng thực hành (Practical competencies): Đấu nối chân phần cứng thực tế (chân M0, M1, Rx, Tx, AUX của module E32 với vi điều khiển); đọc và chuyển đổi tín hiệu cảm biến DHT11; kiểm tra mã lỗi và debug truyền thông qua cổng nối tiếp (Serial Monitor).

Phương pháp giảng dạy và học tập

Giáo trình áp dụng phương pháp sư phạm định hướng thực hành (Lab-based learning), kết hợp giữa lý giải cơ chế kỹ thuật và mã nguồn mẫu trực tiếp:

  • Phương pháp tiếp cận: Mỗi chủ đề kỹ thuật đều đi kèm sơ đồ nguyên lý mạch, sơ đồ kết nối chân ngoại vi, bảng tra cứu thông số kỹ thuật (datasheet tóm lược) và các đoạn mã chương trình mẫu hoàn chỉnh.
  • Hệ thống bài tập thực hành theo cấp độ:
    • Mức độ cơ bản: Cài đặt môi trường Arduino IDE, nạp cấu hình thư viện, lập trình đọc dữ liệu cảm biến nhiệt độ - độ ẩm DHT11, điều khiển bật/tắt LED qua nút bấm trên vi điều khiển ESP32.
    • Mức độ truyền thông đa điểm: Thiết lập mạng LoRa gồm 2 Node cảm biến (Node B, Node C) gửi dữ liệu đo đạc về 1 Gateway (Node A); đồng thời Gateway phát lệnh điều khiển LED đến các Node.
    • Mức độ tối ưu hóa hệ thống: Lập trình xây dựng giao thức truyền thông tùy biến nhằm điều phối khung truyền, ngăn chặn hiện tượng xung đột dữ liệu (data collision) khi nhiều node cùng phát sóng về Gateway.
    • Mức độ tích hợp toàn diện: Thiết kế giao diện Web "Bảng điều khiển thiết bị" bằng HTML/CSS/JS, kết nối Firebase Realtime Database và liên kết với mạch phần cứng ESP32.
  • Phương pháp đánh giá: Đánh giá kết quả thông qua sản phẩm thực tế: khả năng vận hành mạch phần cứng, độ chính xác của dữ liệu cảm biến hiển thị trên Web và tính thời gian thực của lệnh điều khiển thiết bị.
  • Chỉ dẫn tự học và kiểm tra lỗi: Giáo trình cung cấp quy trình nhận diện lỗi qua Serial Monitor (ví dụ: cảnh báo "No response from device! (Checking wiring)" khi kết nối LoRa thất bại) giúp người học tự phân lập sự cố do phần cứng hay do tham số phần mềm.

Điểm nổi bật và cập nhật

Nội dung giáo trình phản ánh các công nghệ hiện đại trong lĩnh vực Kỹ thuật Máy tính và IoT:

  • Cập nhật các chuẩn truyền thông mới: Giáo trình hệ thống hóa các bước tiến của họ tiêu chuẩn WiFi IEEE 802.11 từ các chuẩn ban đầu (802.11-1997, 802.11a/b/g/n/ac) đến chuẩn IEEE 802.11ax (WiFi 6) với các kỹ thuật đường lên/đường xuống OFDMA, MU-MIMO và điều chế 1024-QAM.
  • Công nghệ mạng diện rộng công suất thấp (LPWAN): Giới thiệu chuẩn truyền thông LoRa cự ly xa hàng kilômét với công suất thấp, khai thác trực tiếp trên phần cứng module LoRa E32-TTL-100.
  • Tích hợp giải pháp Serverless Cloud: Ứng dụng Firebase Realtime Database giúp đơn giản hóa việc quản trị máy chủ, cho phép người học thiết lập cơ sở dữ liệu thời gian thực trên đám mây nhanh chóng và tương thích tốt với các thư viện vi điều khiển ESP32 và ứng dụng Web.
  • Tính thực tiễn kỹ thuật cao: Các ví dụ và bài tập thực hành sử dụng các linh kiện phổ biến trong công nghiệp và nghiên cứu chế tạo mẫu (ESP32, LoRa E32, DHT11), liên kết trực tiếp giữa lý thuyết truyền thông mạng với các ứng dụng thực tế như tự động hóa tòa nhà (BMS), nhà thông minh (Smart Home) và nông nghiệp thông minh.

Đối tượng sử dụng giáo trình

  • Sinh viên đại học: Giáo trình được thiết kế cho sinh viên năm thứ hai, năm thứ ba hoặc năm thứ tư thuộc các ngành Công nghệ Kỹ thuật Máy tính, Điện tử - Viễn thông, Kỹ thuật Điều khiển & Tự động hóa, và Công nghệ Thông tin.
  • Kiến thức tiên quyết: Người học cần có kiến thức nền tảng về:
    • Ngôn ngữ lập trình C/C++ cơ bản.
    • Nguyên lý mạch điện tử số và vi điều khiển cơ bản.
    • Khái niệm nhập môn về mạng máy tính và giao thức truyền thông.
  • Giảng viên chuyên ngành: Sử dụng giáo trình làm đề cương chi tiết, giáo án bài giảng và tài liệu hướng dẫn thực hành tại phòng thí nghiệm chuyên đề IoT.
  • Kỹ sư và người tự học: Tài liệu tham khảo cho các kỹ sư phát triển phần cứng nhúng, lập trình viên muốn nắm bắt quy trình tích hợp hệ thống IoT từ tầng thiết bị biên đến giao diện ứng dụng web.

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

1. Giáo trình này phù hợp với ai?

Giáo trình phù hợp với sinh viên đại học ngành Kỹ thuật Máy tính, Điện - Điện tử, Tự động hóa, Công nghệ Thông tin, cũng như kỹ sư và người tự học cần tài liệu thực hành xây dựng hệ thống IoT hoàn chỉnh từ phần cứng đến phần mềm.

2. Cần kiến thức nền nào trước khi học giáo trình này?

Người học cần nắm được kỹ thuật lập trình C/C++ căn bản, hiểu biết về vi điều khiển, kiến thức mạch điện tử cơ bản và khái niệm sơ cấp về mạng máy tính. Kiến thức về thiết kế web và cơ sở dữ liệu sẽ được hướng dẫn chi tiết trong Chương 3 và Chương 4 của giáo trình.

3. Điểm khác biệt của giáo trình so với các tài liệu IoT khác là gì?

Giáo trình tập trung vào quy trình thực hành đồng bộ ("full-stack IoT"): không chỉ giảng dạy riêng lẻ về phần cứng nhúng hay lập trình web, mà hướng dẫn kết nối xuyên suốt từ cảm biến qua vi điều khiển (ESP32), module truyền thông (LoRa E32), đám mây (Firebase) đến giao diện điều khiển người dùng (HTML/CSS/JS).

4. Làm sao để tự học hiệu quả với giáo trình này?

Người học nên chuẩn bị bộ linh kiện mẫu được nêu trong tài liệu (gồm tối thiểu 3 vi điều khiển ESP32, module LoRa E32-TTL-100, cảm biến DHT11), thực hiện tuần tự mã nguồn mẫu trong từng chương và giải quyết đầy đủ các bài tập thực hành lập trình chống xung đột dữ liệu và điều khiển thiết bị ở cuối mỗi chương.

5. Giáo trình có cung cấp mã nguồn và sơ đồ mạch kèm theo không?

Có. Toàn bộ sơ đồ nối chân phần cứng, bảng cấu hình thanh ghi, các đoạn mã khai báo cấu hình (setup()), vòng lặp truyền nhận (loop()), mã nguồn giao diện HTML/CSS/JavaScript và hàm giao tiếp Firebase SDK đều được in đầy đủ và giải thích chi tiết trong nội dung giáo trình.


Kết luận

Giáo trình Thực hành cơ sở và ứng dụng IoTs cung cấp khung kiến thức và tài liệu thực hành về Internet of Things, kết hợp giữa kỹ thuật phần cứng nhúng và công nghệ phần mềm đám mây.

Lộ trình học tập khuyến nghị theo giáo trình:

  1. Nắm vững kiến trúc hệ thống 3 phân lớp (thu thập, xử lý, thực thi) và các thách thức tiêu chuẩn, an toàn thông tin tại Chương 1.
  2. Thực hành cấu hình truyền thông không dây trên module LoRa E32-TTL-100 và ESP32 tại Chương 2.
  3. Thiết kế giao diện điều khiển với HTML5, CSS và JavaScript tại Chương 3.
  4. Tích hợp máy chủ cơ sở dữ liệu Firebase Realtime Database, hoàn thiện chuỗi truyền nhận dữ liệu hai chiều tại Chương 4.

Tài nguyên bổ trợ đi kèm gồm các thư viện mã nguồn mở (LoRa_E32_Series_Library, Firebase ESP32 Client SDK) và các tài liệu tiêu chuẩn kỹ thuật (IEEE 802.11, IEEE 802.15.1, RFC 3561) được trích dẫn trong phần Tài liệu tham khảo.