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

Trong đời sống sinh hoạt dân dụng, chi phí sử dụng năng lượng điện và nước sạch là các khoản chi tiêu định kỳ của mỗi hộ gia đình. Tuy nhiên, người tiêu dùng thường gặp khó khăn trong việc theo dõi, kiểm soát chính xác lượng điện và nước đã tiêu thụ trong tháng. Việc quản lý hiện nay phần lớn phụ thuộc hoàn toàn vào chỉ số công tơ do nhân viên các công ty cấp điện, cấp nước ghi nhận định kỳ và thông báo qua hóa đơn cuối tháng, khiến người dùng ở vào thế bị động và không có cơ sở đối chiếu tức thời khi xuất hiện biến động chi phí. Trên thị trường đã tồn tại một số thiết bị giám sát điện năng chuyên dụng với độ chính xác cao, song các thiết bị này thường có giá thành đắt đỏ và hạn chế khả năng giám sát từ xa qua mạng diện rộng.

Trước thực trạng đó, đồ án tốt nghiệp ngành Kỹ thuật Điện tử Truyền thông tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh đã thực hiện đề tài "Ứng dụng công nghệ IoT giám sát mức tiêu thụ điện – nước" nhằm cung cấp một giải pháp phần cứng kết hợp phần mềm có chi phí hợp lý, phục vụ việc giám sát năng lượng hộ gia đình.

Mục tiêu nghiên cứu của đồ án bao gồm:

  1. Thiết kế và thi công hệ thống phần cứng có khả năng đo đạc liên tục lượng điện năng tiêu thụ và lưu lượng nước sinh hoạt.
  2. Ứng dụng công nghệ Internet of Things (IoT) để truyền tải và cập nhật định kỳ các thông số đo đạc lên máy chủ điện toán đám mây (web host), cho phép người dùng truy cập giám sát từ xa mọi lúc, mọi nơi qua Internet.
  3. Xây dựng giao diện web phân quyền người dùng, hỗ trợ hộ gia đình theo dõi thông số tiêu thụ theo ngày/tháng và cung cấp công cụ quản trị tập trung cho người quản lý hệ thống.

Về nhiệm vụ nghiên cứu, đồ án triển khai qua 5 nội dung chính:

  • Nội dung 1: Tìm hiểu và lựa chọn các giải pháp thiết kế hệ thống.
  • Nội dung 2: Thu thập tài liệu, khảo sát các module cảm biến dòng điện, lưu lượng, module truyền thông Wi-Fi, bộ vi xử lý và nền tảng web host khả dụng.
  • Nội dung 3: Thiết kế mạch nguyên lý, lập trình cho hệ thống vi điều khiển kép và tiến hành chạy thử nghiệm.
  • Nội dung 4: Thiết kế, gia công mô hình cơ khí vỏ hộp, hiệu chỉnh và hoàn thiện phần cứng từ phương án đã chọn.
  • Nội dung 5: Đánh giá kết quả thực nghiệm và nhận xét hoạt động toàn hệ thống.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Hệ thống đo lường dòng điện xoay chiều, điện áp xoay chiều lưới điện 220V, lưu lượng chất lỏng; cơ chế truyền thông nối tiếp và truyền thông mạng không dây qua Wi-Fi; cơ sở dữ liệu thời gian thực và giao diện web giám sát.
  • Phạm vi không gian và quy mô: Mô hình phần cứng nhỏ gọn đặt tại hộ gia đình, lấy nguồn trực tiếp từ điện lưới xoay chiều 220V dân dụng; đối tượng đo lường là các thiết bị tiêu thụ công suất nhỏ (tính bằng Wh) và lượng nước dung tích nhỏ (tính bằng Lít). Tác giả chế tạo 2 bộ mô hình vật lý giống nhau đại diện cho 2 hộ gia đình thực tế gửi dữ liệu lên máy chủ; thử nghiệm hệ thống phần mềm với 4 tài khoản người dùng (user) và 1 tài khoản quản trị (admin).
  • Phạm vi thời gian: Đề tài được triển khai từ ngày 21/03/2018 đến ngày hoàn thành nhiệm vụ 16/07/2018.

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

Cơ sở lý thuyết của đề tài xây dựng dựa trên các nguyên lý cảm biến vật lý, giao thức truyền thông nối tiếp trong kỹ thuật vi điều khiển và nền tảng dịch vụ đám mây thời gian thực:

  • Cảm biến dòng điện ACS712-20A: Hoạt động dựa trên hiệu ứng Hall tuyến tính, chuyển đổi dòng điện xoay chiều (AC) hoặc một chiều (DC) cần đo thành giá trị điện thế ngõ ra analog tương ứng tại chân Vout. Module có dải đo từ -20A đến 20A, độ nhạy điện áp ngõ ra từ 96 đến 104 mV/A, thời gian đáp ứng ngõ ra 5 µs, băng thông 80 kHz, tổng sai số ngõ ra 1,5% tại nhiệt độ phòng 25°C, điện trở dây dẫn trong 1,2 mΩ và tích hợp tụ Cf lọc nhiễu.
  • Cảm biến lưu lượng dòng chảy S201: Cấu tạo cơ khí gồm cánh quạt chuyển động khi có dòng chất lỏng chảy qua và một cảm biến từ trường Hall đặt kín trong thân ống cách ly nước, tạo ra các xung điện áp biến đổi tỉ lệ thuận với tốc độ dòng chảy.
  • Mạch hạ áp và đo điện áp AC 220V: Sử dụng biến áp hạ áp kết hợp chỉnh lưu cầu diode, mạch lọc tụ điện và cầu phân áp điện trở để trích xuất tín hiệu điện áp đưa vào bộ biến đổi tương tự - số (ADC).
  • Chuẩn giao tiếp dữ liệu: Chuẩn truyền thông nối tiếp bất đồng bộ UART (Universal Asynchronous Receiver-Transmitter) kết nối truyền nhận hai chiều giữa hai bộ vi xử lý; chuẩn truyền thông nối tiếp đồng bộ bus I2C (Inter-Integrated Circuit) điều khiển màn hình tinh thể lỏng; chuẩn mạng không dây Wi-Fi kết nối Internet.
  • Nền tảng Firebase: Sử dụng dịch vụ lưu trữ web (Firebase Hosting), công cụ quản lý cơ sở dữ liệu thời gian thực (Firebase Realtime Database) lưu trữ dưới dạng cây JSON và dịch vụ xác thực tài khoản (Firebase Authentication).

Phương pháp nghiên cứu thực tế được tác giả áp dụng:

  • Phương pháp phân tích và thiết kế kỹ thuật: Tính toán lựa chọn phần cứng, thiết kế sơ đồ nguyên lý mạch điện tử và thiết kế sơ đồ mạch in (PCB).
  • Phương pháp thực nghiệm: Chế tạo mạch in, lắp ráp linh kiện, gia công cơ khí vỏ hộp bảo vệ, chạy thử nghiệm hệ thống đo đạc thực tế với tải điện và dòng nước sinh hoạt.
  • Phương pháp phát triển phần mềm: Lập trình nhúng vi điều khiển theo lưu đồ giải thuật, xây dựng giao diện front-end nền tảng web và cấu hình dịch vụ đám mây thông qua các dòng lệnh môi trường Node.js.
  • Nguồn dữ liệu thực nghiệm: Thông số kỹ thuật từ datasheet nhà sản xuất (ACS712, S201, Arduino Mega 2560, ESP8266 NodeMCU); chỉ số điện áp, dòng điện, số xung lưu lượng đọc trực tiếp từ tải tiêu thụ thực tế; dữ liệu đồng bộ thời gian thực ghi nhận trên Firebase.

Thiết kế và triển khai

Hệ thống được thiết kế theo kiến trúc module hóa gồm hai khối xử lý phần cứng liên kết chặt chẽ với hạ tầng dịch vụ đám mây và giao diện ứng dụng web.

Cấu trúc phần cứng và thi công mạch

Sơ đồ khối phần cứng gồm: Khối nguồn, Khối thiết bị đầu vào (cảm biến dòng ACS712, mạch đo áp, cảm biến lưu lượng S201), Khối xử lý trung tâm (Arduino Mega 2560), Khối truyền thông và điều khiển hiển thị (NodeMCU ESP8266), Khối hiển thị tại chỗ (màn hình LCD 16x2 giao tiếp I2C và nút bấm chuyển trạng thái).

STT Tên linh kiện Số lượng Giá trị / Thông số Vai trò trong hệ thống
1 Arduino Mega 2560 1 Vi điều khiển AVR Thu thập dữ liệu cảm biến, tính toán công suất, điện năng và thể tích nước
2 NodeMCU 1 Chip Wi-Fi ESP8266 Nhận dữ liệu UART, điều khiển LCD qua I2C, kết nối Wi-Fi và cập nhật Firebase
3 ACS712 1 Module cảm biến dòng 20A Đo dòng điện tiêu thụ của tải xoay chiều
4 S201 1 Cảm biến lưu lượng dạng xung Đếm xung dòng chảy chất lỏng
5 Biến áp 1 Biến áp cách ly hạ áp Hạ áp từ lưới 220VAC để lấy mẫu điện áp và cấp nguồn
6 Diode cầu 1 Cầu chỉnh lưu Chỉnh lưu dòng xoay chiều thành một chiều
7 Tụ hóa 1 470 µF Lọc phẳng điện áp nguồn sau chỉnh lưu
8 Tụ gốm 1 100 nF Lọc nhiễu tần số cao
9 Điện trở 1 10 kΩ Phân áp lấy mẫu tín hiệu
10 Điện trở 1 20 kΩ Phân áp lấy mẫu tín hiệu
11 Cầu chì 1 2A Bảo vệ quá dòng cho mạch
12 Nút nhấn 1 Nút bấm cơ học Kích hoạt ngắt chuyển đổi hiển thị thông số điện/nước trên LCD
13 LCD 16x2 1 Màn hình ký tự Hiển thị thông số điện áp, dòng điện, điện năng và thể tích nước tại chỗ
14 Module LCD I2C 1 Mạch chuyển đổi bus I2C Giảm số chân kết nối giữa vi điều khiển và LCD

Bộ điều khiển được đóng gói trong vỏ hộp mica trong suốt có kích thước 20cm x 17cm x 9cm, được cắt bằng dao chuyên dụng và dán cố định bằng keo silicon. Mặt trên của hộp sử dụng bản lề để linh hoạt đóng mở, có khoét lỗ gắn cố định màn hình LCD 16x2 và nút nhấn cơ học. Toàn bộ bảng mạch, biến áp, cảm biến và ổ cắm được cố định bằng ốc vít bên trong hộp và đi dây gọn gàng.

Giải thuật lập trình và vận hành hệ thống

Quá trình vận hành được thực hiện đồng thời trên hai vi điều khiển:

  • Vi điều khiển Arduino Mega 2560: Chạy hai luồng đo điện và nước song song. Sử dụng hàm millis() có sẵn trong Arduino IDE để lấy mẫu tín hiệu điện áp và dòng điện trong chu kỳ 1 giây, sau đó tính toán công suất và tích lũy điện năng tiêu thụ. Đối với lưu lượng nước, Arduino thiết lập ngắt để đếm số lượng xung sinh ra từ cảm biến S201 và dừng ngắt sau mỗi 1 giây (đo bằng millis()) để tính toán thể tích nước tiêu thụ. Một biến đếm được tăng dần sau mỗi chu kỳ tính toán 1 giây; khi biến đếm đạt giá trị 10 (tương ứng chu kỳ 10 giây), Arduino gửi gói dữ liệu điện - nước đã tính toán sang NodeMCU qua giao tiếp nối tiếp UART.
  • Module NodeMCU ESP8266: Khi khởi động, module thiết lập kết nối mạng Wi-Fi và kết nối tới máy chủ Firebase theo cấu hình định sẵn. NodeMCU liên tục kiểm tra cổng UART; khi nhận được gói tin 10 giây từ Arduino, module xử lý dữ liệu và cập nhật lên màn hình LCD thông qua module I2C. NodeMCU đồng bộ thời gian thực trực tiếp từ Internet, tiến hành so sánh mốc thời gian và định kỳ sau mỗi 120 giây sẽ gửi gói dữ liệu tích lũy lên cơ sở dữ liệu Firebase Realtime Database. Vào thời điểm đầu tháng mới, chương trình tự động đặt các giá trị tích lũy tổng về 0, đồng thời lưu trữ giá trị tổng điện - nước của tháng cũ để phục vụ thống kê 3 tháng gần nhất.
  • Cơ chế chống mất dữ liệu khi mất điện: Khi hệ thống gặp sự cố mất nguồn và khởi động lại, NodeMCU chủ động truy vấn giá trị lưu trữ gần nhất từ Firebase Realtime Database về bộ nhớ, sau đó cộng dồn với các giá trị đo mới do Arduino truyền sang, đảm bảo tính liên tục của dữ liệu tiêu thụ.
  • Cơ chế ngắt chuyển đổi màn hình: Khi người dùng bấm nút cơ học trên mặt hộp, NodeMCU nhận tín hiệu ngắt để luân chuyển nội dung hiển thị trên LCD giữa thông số điện năng tiêu thụ (Wh kèm điện áp, dòng điện) và lượng nước sinh hoạt (Lít).

Triển khai hệ thống phần mềm và dịch vụ đám mây

Quy trình phát triển và triển khai hệ thống phần mềm bao gồm:

  1. Môi trường phát triển nhúng: Sử dụng phần mềm Arduino IDE chạy trên nền Java Runtime Environment (JRE). Cài đặt driver giao tiếp cổng COM cho máy tính gồm dpinst-amd64.exe (hoặc dpinst-x86.exe) cho Arduino Mega và driver CP2102 cho NodeMCU; tích hợp gói hỗ trợ bo mạch ESP8266 qua Boards Manager URL (package_esp8266com_index.json).
  2. Phát triển giao diện web: Soạn thảo mã nguồn HTML, CSS và JavaScript trên trình soạn thảo Sublime Text. Cấu trúc web gồm các file chức năng đặt chung trong thư mục chỉ định với trang chủ mặc định index.html.
  3. Triển khai máy chủ đám mây: Cài đặt môi trường Node.js trên máy tính chạy hệ điều hành Windows; sử dụng giao diện dòng lệnh (Command Prompt) để cài đặt công cụ quản trị Firebase thông qua lệnh npm install -g firebase-tools. Thực hiện đăng nhập tài khoản quản trị bằng lệnh firebase login, di chuyển vào thư mục dự án bằng lệnh cd, khởi tạo dịch vụ lưu trữ bằng firebase init (chọn dịch vụ Hosting, liên kết project Firebase và định danh thư mục chứa mã nguồn web là public). Cuối cùng, thực hiện tải toàn bộ mã nguồn lên đám mây thông qua lệnh firebase deploy.

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

Chương 1: Tổng quan

Tác giả trình bày bối cảnh thực tiễn về gánh nặng chi phí điện nước sinh hoạt và sự thiếu hụt các công cụ giám sát trực quan tại hộ gia đình; phân tích nhược điểm của các thiết bị đo đạc thương mại trên thị trường như giá thành cao và thiếu tính năng giám sát từ xa. Chương này xác định rõ mục tiêu chế tạo hệ thống IoT giám sát năng lượng, vạch ra 5 nội dung nghiên cứu thực hiện, nêu rõ các giới hạn kỹ thuật của đề tài (chỉ dừng ở giám sát, sử dụng điện lưới 220V, kích thước phù hợp không gian gia đình, sai số ở mức chấp nhận được) và tóm tắt kết cấu 6 chương của khóa luận.

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

Tập trung giới thiệu chi tiết các phần cứng và nguyên lý truyền thông phục vụ thiết kế:

  • Trình bày đặc tính kỹ thuật cảm biến dòng điện ACS712-20A (băng thông 80 kHz, dòng rò tối đa 13 mA, trở kháng 1,2 mΩ, dải đo -20A đến 20A), kèm so sánh với hai phiên bản ACS712-5A và ACS712-30A.
  • Giới thiệu cấu tạo cảm biến lưu lượng S201 dùng cánh quạt đếm chất lỏng kết hợp cảm biến từ trường Hall phát xung.
  • Phân tích cấu trúc phần cứng của màn hình LCD 16x2, module chuyển đổi giao tiếp LCD I2C và kit vi điều khiển Arduino Mega 2560.
  • Khảo sát các chuẩn truyền dữ liệu gồm UART (nguyên lý truyền nhận bất đồng bộ, cấu trúc khung truyền), I2C (quá trình giao tiếp chủ - tớ, điều kiện START/STOP, giản đồ thời gian) và mạng Wi-Fi (nguyên tắc hoạt động, so sánh các chuẩn kết nối).
  • Giới thiệu các dịch vụ của Firebase, tập trung vào Realtime Database: cơ chế lưu trữ dạng cây dữ liệu JSON, khả năng duy trì hoạt động ngoại tuyến (offline data), cơ chế cập nhật thời gian thực, thiết lập quy tắc bảo mật truy cập mở và đóng.

Chương 3: Tính toán và thiết kế hệ thống

Xây dựng sơ đồ khối tổng quát và đi sâu vào thiết kế chi tiết từng khối mạch chức năng:

  • Thiết kế khối hiển thị LCD 16x2 qua giao tiếp I2C nhằm tối ưu hóa số lượng chân kết nối của vi điều khiển.
  • Thiết kế khối xử lý gồm hai vi điều khiển hoạt động bổ trợ: Arduino Mega 2560 đảm nhiệm thu thập xử lý tín hiệu analog/xung và NodeMCU ESP8266 đảm nhiệm truyền thông mạng.
  • Thiết kế khối thiết bị đầu vào kết nối cảm biến ACS712 và S201.
  • Thiết kế khối nguồn cung cấp điện áp một chiều ổn định cho Arduino và NodeMCU từ nguồn xoay chiều dân dụng thông qua biến áp, diode cầu và mạch lọc tụ hóa 470 µF.
  • Tổng hợp sơ đồ nguyên lý toàn mạch để làm tiền đề gia công phần cứng.

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

Trình bày toàn bộ quá trình hiện thực hóa mô hình từ bản vẽ thiết kế:

  • Thiết kế bản vẽ sơ đồ mạch in (PCB) và lập bảng danh mục linh kiện điện tử chi tiết gồm 13 hạng mục.
  • Gia công hộp bảo vệ mica trong suốt (20cm x 17cm x 9cm), lắp đặt cơ khí bản lề đóng mở nắp, khoét lỗ gắn LCD, nút bấm và bố trí các linh kiện bên trong bảng mạch.
  • Xây dựng lưu đồ giải thuật chi tiết cho NodeMCU (kết nối Wi-Fi, đọc UART, xuất I2C, cập nhật Firebase mỗi 120 giây, xử lý dữ liệu đầu tháng) và Arduino Mega 2560 (dùng hàm millis() đo áp, dòng trong 1 giây, ngắt đếm xung lưu lượng trong 1 giây, truyền UART sau mỗi 10 chu kỳ đếm).
  • Hướng dẫn chi tiết từng bước cài đặt phần mềm Arduino IDE, Java Runtime Environment, driver nạp bo mạch và thư viện bổ sung.
  • Hướng dẫn thiết kế web bằng Sublime Text và các bước khởi tạo, cấu hình, xuất bản ứng dụng lên Firebase Hosting thông qua dòng lệnh Node.js và Firebase CLI.
  • Biên soạn hướng dẫn sử dụng thiết bị với nguồn điện 220VAC, cách đọc thông số Wh và Lít qua nút bấm, cách đăng nhập trang web quản trị qua tài khoản Gmail.

Chương 5: Kết quả, nhận xét và đánh giá

Trình bày kết quả thực nghiệm sau 3 tháng rưỡi triển khai:

  • Kết quả lý thuyết: Nắm vững nguyên lý cảm biến, thiết kế mạch đo áp, giao tiếp ngoại vi qua UART/I2C, lập trình web bằng HTML/CSS/JavaScript và quản trị Realtime Database trên Firebase.
  • Kết quả chạy hệ thống thực tế: Chế tạo hoàn chỉnh 2 bộ mô hình phần cứng hoạt động ổn định; màn hình LCD hiển thị chính xác giá trị điện năng tiêu thụ (Wh) và lượng nước (Lít); giao diện web cho phép người dùng đăng nhập bằng tài khoản Gmail cá nhân để theo dõi thông số theo ngày, so sánh biểu đồ sử dụng trong 3 tháng gần nhất và hiển thị quy đổi thành số tiền tương ứng phải trả.
  • Giao diện quản trị Admin: Hiển thị danh sách tập trung toàn bộ người dùng, thời gian đăng nhập, mã định danh UID và cung cấp các công cụ chặn, mở hoặc xóa tài khoản trực tiếp trên giao diện web hoặc cơ sở dữ liệu.
  • Nhận xét và đánh giá: Hệ thống đạt độ tin cậy trong việc thu thập và truyền dữ liệu, kết cấu hộp chắc chắn và chống thấm; tuy nhiên mạch cảm biến vẫn còn hiện tượng nhiễu ảnh hưởng đến độ chính xác, quy mô thử nghiệm mới dừng ở 2 mô hình hộ gia đình.

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

Đánh giá mức độ hoàn thành nhiệm vụ nghiên cứu: Hệ thống đáp ứng đúng tiến độ và yêu cầu kỹ thuật đề ra, ghi nhận và truyền tải thành công dữ liệu điện nước lên web host. Tác giả đồng thời nêu ra các mặt hạn chế còn tồn tại và đề xuất cụ thể 7 định hướng phát triển nhằm nâng cao tính ứng dụng thương mại cho sản phẩm.

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

Về kết quả kỹ thuật, đồ án đã hiện thực hóa đầy đủ một giải pháp IoT đo lường và giám sát năng lượng hộ gia đình:

  • Chế tạo thành công 2 bộ mô hình vật lý hoàn chỉnh hoạt động độc lập, tượng trưng cho 2 hộ gia đình gửi dữ liệu đồng thời lên nền tảng đám mây.
  • Thu thập và tính toán chính xác hai thông số cơ bản: Điện năng tiêu thụ tính bằng Watt-giờ (Wh) cùng các giá trị điện áp, dòng điện tức thời; lưu lượng nước sinh hoạt tính bằng Lít (L).
  • Duy trì chu kỳ gửi dữ liệu nội bộ từ Arduino sang NodeMCU đều đặn 10 giây một lần và chu kỳ đồng bộ dữ liệu từ NodeMCU lên Firebase Realtime Database là 120 giây một lần.
  • Xây dựng hoàn chỉnh hệ thống quản lý tài khoản trên nền tảng Firebase Hosting: Thử nghiệm thực tế với 4 tài khoản Gmail người dùng và 1 tài khoản Gmail quản trị viên; hệ thống có năng lực thiết kế hỗ trợ tối đa 250 tài khoản trong một dự án Firebase miễn phí.
  • Giao diện người dùng cung cấp bảng thống kê chi tiết lượng điện năng và thể tích nước tiêu thụ theo từng ngày, biểu đồ so sánh mức sử dụng trong 3 tháng gần nhất và tính toán trực tiếp số tiền phải thanh toán dựa trên chỉ số thực tế.
  • Bảng điều khiển quản trị viên (Admin) cho phép theo dõi toàn diện thông số của mọi hộ gia đình, quản lý danh sách đăng nhập, theo dõi mã định danh người dùng (UID) và thực hiện các thao tác phân quyền trực tiếp (cho phép, chặn, xóa tài khoản).

Đóng góp của đồ án so với các giải pháp hiện hành:

  • Giảm thiểu đáng kể chi phí đầu tư thiết bị giám sát so với các sản phẩm đo đếm thương mại đắt tiền trên thị trường nhờ việc tận dụng các module cảm biến và vi điều khiển mã nguồn mở thông dụng.
  • Khắc phục nhược điểm của các thiết bị đo truyền thống bằng cách tích hợp công nghệ IoT, mang lại khả năng giám sát từ xa không giới hạn khoảng cách thông qua mạng Internet.
  • Giúp người tiêu dùng chủ động nắm bắt chính xác mức tiêu hao năng lượng hàng ngày của gia đình, tạo cơ sở thực tế để đối chiếu minh bạch với hóa đơn của công ty điện lực và cấp nước, từ đó chủ động điều chỉnh hành vi sử dụng tiết kiệm hơn.

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

Khóa luận chỉ ra các hạn chế kỹ thuật trong quá trình thực nghiệm:

  • Tín hiệu đo đạc từ các module cảm biến còn chịu ảnh hưởng của hiện tượng nhiễu điện từ, khiến thông số dòng điện và điện áp đọc về chưa đạt độ chính xác tuyệt đối dù sai số vẫn nằm trong ngưỡng chấp nhận được.
  • Phạm vi đo lường của mô hình phần cứng mới phục vụ các tải tiêu thụ công suất nhỏ (đơn vị đo dừng ở Wh và Lít), chưa mở rộng trực tiếp cho toàn bộ hệ thống điện công suất lớn của cả hộ gia đình (đơn vị kWh và mét khối).
  • Phương thức đăng ký và đăng nhập của hệ thống web hiện chỉ hỗ trợ duy nhất tài khoản dịch vụ thư điện tử Gmail thông qua dịch vụ Google.
  • Giao diện web được thiết kế chủ yếu dưới dạng các biểu mẫu (form) cơ bản nhằm đáp ứng mục đích chức năng chính, chưa tối ưu về mặt trải nghiệm thị giác.
  • Đề tài mới dừng lại ở việc thử nghiệm truyền dữ liệu đồng thời trên 2 mô hình phần cứng thực tế, chưa kiểm nghiệm tải thực tế khi số lượng lớn hộ gia đình cùng gửi dữ liệu lên Firebase trong cùng một thời điểm.

Các hướng phát triển tiếp theo được tác giả đề xuất:

  • Bổ sung hệ thống cảnh báo tức thời khi các giá trị đo đạc điện hoặc nước vượt quá ngưỡng định mức cài đặt trước, sử dụng tín hiệu còi hú, đèn báo tại chỗ hoặc gửi tin nhắn SMS cảnh báo qua module SIM.
  • Thay thế màn hình ký tự LCD 16x2 bằng màn hình cảm ứng chuyên dụng nhằm cung cấp giao diện tương tác trực quan và hiện đại hơn ngay tại mô hình.
  • Nâng cấp phần cứng và phần mềm để mở rộng chức năng điều khiển thiết bị từ xa qua Internet, cho phép người dùng đóng ngắt công tắc điện hoặc đóng mở van nước điện từ.
  • Cải tiến thiết kế cơ khí để mô hình vỏ hộp trở nên nhỏ gọn hơn, nâng cao tính thẩm mỹ công nghiệp.
  • Mở rộng chức năng xác thực người dùng trên trang web, tích hợp thêm các phương thức đăng nhập qua mạng xã hội như Facebook, Twitter, GitHub.
  • Nâng cấp giao diện website với nhiều tính năng tương tác chuyên sâu và thiết lập hệ thống phân quyền người dùng chi tiết hơn trong Firebase Authentication.

Giá trị tham khảo

Đồ án tốt nghiệp là tài liệu tham khảo hữu ích cho sinh viên các chuyên ngành Kỹ thuật Điện tử Truyền thông, Kỹ thuật Điện - Điện tử, Kỹ thuật Điều khiển và Tự động hóa, cũng như sinh viên ngành Công nghệ Thông tin đang nghiên cứu về hệ thống nhúng và IoT.

Tài liệu cung cấp giá trị thực tiễn qua các nội dung kỹ thuật đáng tham khảo:

  • Sơ đồ mạch in (PCB) và sơ đồ nguyên lý phối ghép phần cứng giữa vi điều khiển đa chân Arduino Mega 2560 và module truyền thông Wi-Fi ESP8266 NodeMCU.
  • Kỹ thuật lập trình giải thuật đo đạc không chặn (non-blocking) sử dụng hàm millis() kết hợp cơ chế ngắt ngoài (external interrupt) để đếm xung lưu lượng chất lỏng có độ chính xác cao.
  • Giải pháp xử lý phục hồi dữ liệu khi mất điện bằng cách đọc lại dữ liệu đồng bộ từ đám mây.
  • Quy trình từng bước triển khai dự án web kết nối cơ sở dữ liệu Firebase Realtime Database và phát hành trang web lên máy chủ Firebase Hosting bằng bộ công cụ dòng lệnh Firebase CLI.

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

Hệ thống sử dụng những loại cảm biến nào để đo lường điện và nước?

Hệ thống sử dụng module cảm biến ACS712 loại 20A hoạt động dựa trên hiệu ứng Hall tuyến tính để đo dòng điện xoay chiều, kết hợp mạch hạ áp và cầu phân áp để lấy mẫu điện áp AC 220V. Để đo lưu lượng nước sinh hoạt, hệ thống sử dụng cảm biến S201 tích hợp cánh quạt và cảm biến từ trường Hall để phát xung tỷ lệ với thể tích dòng chảy.

Hai vi điều khiển Arduino Mega 2560 và NodeMCU phân chia nhiệm vụ và trao đổi dữ liệu như thế nào?

Arduino Mega 2560 chịu trách nhiệm thu thập tín hiệu tương tự từ cảm biến ACS712, mạch đo áp và đếm xung ngắt từ cảm biến S201 để tính toán công suất, điện năng và lượng nước theo từng giây. NodeMCU chịu trách nhiệm nhận gói dữ liệu từ Arduino qua giao tiếp nối tiếp UART sau mỗi 10 giây, xuất dữ liệu hiển thị lên màn hình LCD 16x2 qua bus I2C và định kỳ gửi dữ liệu tích lũy lên Firebase Realtime Database sau mỗi 120 giây qua kết nối Wi-Fi.

Hệ thống xử lý bài toán lưu trữ và khôi phục số liệu khi xảy ra sự cố mất điện như thế nào?

Khi xảy ra mất điện, dữ liệu đo đạc đã được NodeMCU cập nhật lên cơ sở dữ liệu đám mây Firebase Realtime Database trước đó vẫn được lưu giữ an toàn. Khi có điện trở lại, NodeMCU sẽ chủ động truy vấn giá trị tổng đã lưu từ Firebase về bộ nhớ đệm, sau đó tiếp tục cộng dồn với các giá trị đo đạc mới do Arduino Mega gửi sang, tránh được tình trạng mất số liệu tích lũy.

Cơ chế phân quyền trên trang web giám sát được tổ chức như thế nào?

Hệ thống phân quyền thành hai cấp độ truy cập qua tài khoản Gmail: Người dùng (User) chỉ có quyền xem các biểu đồ, thông số tiêu thụ điện nước và số tiền quy đổi của chính tài khoản mình theo ngày hoặc tháng; trong khi Quản trị viên (Admin) có quyền giám sát thông số tiêu thụ của tất cả các hộ gia đình, theo dõi thời gian đăng nhập, danh sách mã định danh UID và có quyền cấp phép, khóa hoặc xóa tài khoản của người dùng.

Dự án Firebase Hosting và Realtime Database trong đề tài có giới hạn kỹ thuật ra sao?

Theo số liệu tác giả công bố, mỗi dự án Firebase có khả năng quản lý tối đa 250 tài khoản người dùng đăng ký; dịch vụ cho phép tạo tối đa 10 project miễn phí không giới hạn thời gian. Trong phạm vi thử nghiệm thực tế của đề tài, tác giả đã cấu hình và vận hành hệ thống với 4 tài khoản Gmail cho vai trò user và 1 tài khoản Gmail cho vai trò admin.

Kết luận

Đồ án tốt nghiệp "Ứng dụng công nghệ IoT giám sát mức tiêu thụ điện – nước" đã nghiên cứu, thiết kế và thi công hoàn chỉnh một hệ thống đo đạc kết hợp phần cứng nhúng và dịch vụ đám mây nhằm tự động hóa việc theo dõi năng lượng sinh hoạt. Mô hình ứng dụng hiệu quả giải pháp vi điều khiển kép Arduino Mega 2560 và NodeMCU ESP8266, kết hợp các cảm biến chuyên dụng để đo đạc và truyền tải dữ liệu thời gian thực lên cơ sở dữ liệu Firebase. Hệ thống web giám sát đáp ứng tốt yêu cầu phân quyền quản trị, hiển thị chỉ số chi tiết theo ngày, thống kê so sánh 3 tháng và quy đổi chi phí minh bạch cho người tiêu dùng. Dù còn tồn tại hạn chế về hiện tượng nhiễu tín hiệu và quy mô đo lường công suất nhỏ, công trình đã xây dựng thành công nền tảng kỹ thuật vững chắc, có tiềm năng hoàn thiện để ứng dụng vào mô hình nhà thông minh và quản lý năng lượng dân dụng trong thực tế.