Sử dụng công nghệ LoRaWAN giám sát cảm biến bức xạ mặt trời và xây dựng điện toán đám mây
Đạt điểm cao nhất trong hội đồng bảo vệ luận văn tốt nghiệp với điểm số 9/10 từ các giảng viên và chuyên gia khách mời.

Mô tả dự án
Vấn đề
Tại các nhà máy điện mặt trời quy mô lớn hoặc khu vực địa hình phức tạp, việc giám sát bức xạ mặt trời bằng giải pháp đi dây truyền thống gặp nhiều trở ngại về chi phí đầu tư và thời gian thi công thực địa. Đồng thời, các công nghệ kết nối không dây thông thường (như Wi-Fi, Bluetooth, Zigbee) bị giới hạn nghiêm trọng về cự ly truyền dẫn và khả năng xuyên thấu nhiễu công nghiệp, dẫn đến việc thu thập dữ liệu khí tượng bị gián đoạn, ảnh hưởng đến hiệu quả dự báo sản lượng điện.
Giải pháp
Xây dựng giải pháp IoT không dây tầm xa toàn diện dựa trên công nghệ LoRaWAN để thu thập chỉ số từ cảm biến bức xạ mặt trời qua giao thức Modbus RTU. Hệ thống số hóa và chuyển tiếp dữ liệu qua các tầng gateway, tối ưu hóa việc xử lý luồng dữ liệu trên hạ tầng đám mây AWS EC2 và lưu trữ vào cơ sở dữ liệu chuỗi thời gian, phục vụ hiển thị trực quan và cấu hình cảnh báo tức thời mà không cần thi công hạ tầng cáp phức tạp.
Tính năng chính
- Thu thập và mã hóa dữ liệu tầm xa công suất thấp qua giao thức LoRaWAN giữa cảm biến hiện trường và gateway trung tâm.
- Truyền dữ liệu thời gian thực thông qua cơ chế message broker (MQTT) kết hợp mã Python tối ưu.
- Lưu trữ dữ liệu chuỗi thời gian hiệu năng cao, tối ưu hóa truy vấn chỉ số bức xạ phục vụ phân tích khí tượng.
- Hệ thống dashboard trực quan và tự động kích hoạt cảnh báo qua email khi các thông số vượt ngưỡng vận hành an toàn.
Vai trò & trách nhiệm của tôi
Nghiên cứu & thiết kế kiến trúc tổng thể
- Tự chủ độc lập trong khâu khảo sát công nghệ, đề xuất giải pháp kỹ thuật và thiết kế sơ đồ khối toàn diện cho hệ thống IoT end-to-end từ tầng thiết bị biên đến hạ tầng điện toán đám mây.
Phát triển firmware & phần cứng biên
- Thiết kế và lập trình phần mềm nhúng (C/C++) cho thiết bị LoRa node (nền tảng Arduino), thực hiện cấu hình đọc dữ liệu từ cảm biến bức xạ mặt trời qua giao thức Modbus RTU và tối ưu hóa cấu trúc đóng gói gói tin truyền không dây.
Cấu hình hạ tầng mạng không dây
- Triển khai, cấu hình thiết bị trạm Wirnet iFemtoCell-evolution 923 làm nhiệm vụ chuyển tiếp gói tin; cài đặt và quản trị hệ thống LoRaWAN Server (ChirpStack Application Server, Network Server, Gateway Bridge) trên cloud để điều phối chu kỳ gửi nhận dữ liệu.
Xử lý dữ liệu backend & tích hợp
- Lập trình các dịch vụ xử lý dữ liệu tập trung bằng Python để subscribe luồng thông tin từ MQTT broker (Mosquitto), bóc tách và phân tích cú pháp dữ liệu thô, đồng bộ hóa dữ liệu vào hệ quản trị cơ sở dữ liệu.
Trực quan hóa dữ liệu & hạ tầng cloud
- Khởi tạo, cấu hình máy chủ ảo AWS EC2, đóng gói toàn bộ các dịch vụ hệ thống bằng Docker; thiết kế hệ thống dashboard trực quan hóa dữ liệu thời gian thực trên Grafana và thiết lập các trigger tự động gửi email cảnh báo lỗi.
Công nghệ sử dụng
Ngôn ngữ lập trình & nền tảng
Python cho backend logic xử lý dữ liệu và MQTT subscribers, Arduino C/C++ cho lập trình firmware LoRa Node
IoT & giao thức truyền thông
LoRaWAN cho mạng không dây tầm xa tiết kiệm năng lượng, Modbus RTU để đọc cảm biến, MQTT (Eclipse Mosquitto) cho message broker điều phối luồng dữ liệu
LoRaWAN Network Server
ChirpStack làm LoRaWAN Server để quản lý thiết bị đầu cuối, trạm gateway và xử lý giao thức mã hóa mạng
Cơ sở dữ liệu
InfluxDB làm cơ sở dữ liệu chuỗi thời gian chuyên dụng cho việc lưu trữ và truy vấn nhanh dữ liệu cảm biến theo dòng thời gian
Giám sát & trực quan hóa
Grafana để xây dựng hệ thống dashboard giám sát chỉ số bức xạ thời gian thực và quản trị cấu hình cảnh báo tự động
Container & hạ tầng cloud
AWS EC2 làm máy chủ đám mây lưu trữ hệ thống, Docker để đóng gói cô lập và triển khai đồng nhất các dịch vụ backend
Thách thức & giải pháp
Tích hợp hệ thống và chuyển đổi giao thức giữa các tầng công nghệ khác biệt
Hệ thống đòi hỏi sự tham gia của nhiều thực thể chạy trên các môi trường hoàn toàn khác nhau, từ mã nguồn nhúng C/C++ ở thiết bị biên, mạng điều phối LoRaWAN, cho đến MQTT Broker và backend Python trên đám mây. Việc thiết lập đường truyền và chuyển đổi cấu trúc dữ liệu mượt mà giữa các giao thức này mà không làm thất lạc gói tin là một bài toán phức tạp đối với một sinh viên năm cuối khi tự mình thực hiện đề tài độc lập từ khâu nghiên cứu đến triển khai.
Giải pháp
Tôi đã quy hoạch luồng đi của dữ liệu theo mô hình phân tầng nghiêm ngặt. Sử dụng ChirpStack làm trung tâm quản trị mạng để tiếp nhận tín hiệu không dây, cấu hình giao thức MQTT thông qua Mosquitto làm điều phối trung gian, và lập trình dịch vụ kết nối bằng Python để tự động tiếp nhận gói tin. Đồng thời, đóng gói toàn bộ các dịch vụ đám mây bằng Docker trên máy chủ AWS EC2 để đảm bảo tính đồng nhất và dễ dàng quản lý hạ tầng.
Tối ưu hóa kích thước gói tin truyền không dây công suất thấp
Dữ liệu cấu trúc từ cảm biến Modbus RTU ban đầu có kích thước lớn. Nếu truyền trực tiếp qua mạng không dây tầm xa LoRaWAN sẽ vi phạm giới hạn băng thông công suất thấp của chuẩn công nghệ, gây nghẽn mạch tín hiệu và làm hao phí năng lượng của thiết bị biên.
Giải pháp
Thiết kế cấu trúc gói tin tối giản ở tầng nhúng, thực hiện nén dữ liệu số nguyên cho các chỉ số bức xạ khí tượng trước khi phát tín hiệu từ LoRa node. Tại tầng xử lý trung tâm bằng Python backend, viết bộ giải mã tùy chỉnh để khôi phục nguyên trạng dữ liệu gốc, giúp tối ưu hóa hiệu suất truyền dẫn mà vẫn đảm bảo tính toàn vẹn thông tin.
Đảm bảo tính liên tục của luồng dữ liệu và tối ưu không gian lưu trữ máy chủ
Dữ liệu cảm biến truyền gửi liên tục với tần suất cao lên đám mây đòi hỏi hệ thống phải tiếp nhận tức thời để tránh mất mát bản ghi. Đồng thời, lượng dữ liệu khổng lồ tích tụ theo thời gian dễ làm cạn kiệt dung lượng lưu trữ của máy chủ và làm chậm tốc độ truy vấn của các biểu đồ giám sát.
Giải pháp
Tôi đã cấu hình hệ thống điều phối dữ liệu MQTT (Mosquitto) với cơ chế đảm bảo truyền nhận gói tin (Quality of Service) để đảm bảo mọi dữ liệu truyền lên đều tới đích an toàn mà không bị thất lạc khi mạng chập chờn. Đối với cơ sở dữ liệu InfluxDB, tôi thiết lập chính sách tự động dọn dẹp dữ liệu cũ (chỉ giữ lại dữ liệu thô chi tiết trong vòng 30 ngày). Giải pháp này giúp giải phóng dung lượng đĩa cứng máy chủ liên tục, duy trì tốc độ phản hồi của biểu đồ Grafana ở mức mili-giây kể cả khi hệ thống vận hành lâu dài.
Kết quả & thành tựu
- Nghiên cứu, chế tạo và vận hành thành công hệ thống IoT không dây toàn diện có khả năng ứng dụng thực tế cao, giải quyết trọn vẹn bài toán thu thập dữ liệu khí tượng tại các khu vực có địa hình khó đi dây cáp tín hiệu.
- Minh chứng năng lực bao quát toàn diện một dự án kỹ thuật từ phần cứng nhúng biên, giao thức mạng không dây công nghiệp cho đến hạ tầng đám mây và kỹ năng xử lý luồng dữ liệu.
- Đạt điểm số bảo vệ luận văn 9/10, xếp vị trí cao nhất trong hội đồng chấm tốt nghiệp nhờ tính thực tiễn của giải pháp và khối lượng công việc kỹ thuật hoàn chỉnh.
- Sản phẩm luận văn được chọn làm kiến trúc nền tảng cốt lõi để một đội ngũ nghiên cứu gồm 5 thành viên tiếp tục kế thừa, mở rộng thành đề tài nghiên cứu khoa học quy mô lớn hơn, tích hợp thêm các thuật toán chuyên sâu và đa dạng hóa các node cảm biến giám sát như nhiệt độ, điện năng tiêu thụ.
Các dự án khác

Điện toán biên cho giám sát phóng điện cục bộ và ắc-quy
Trình bày tại Hội nghị ICPEI (Thái Lan) & Xuất bản trên IEEE Xplore

Hệ thống giám sát PD tủ điện & ắc-quy trạm biến áp
Chịu trách nhiệm chính trong toàn bộ vòng đời dự án, từ thiết kế, phát triển đến triển khai hệ thống.

Giải Nhất Cuộc thi HAPPY LED 2017
Tổ chức bởi Câu lạc bộ Pay It Forward, Khoa Điện - Điện tử, Trường Đại học Bách khoa - ĐHQG TP.HCM