10000 GitHub - KhoaS84/PBL5_KTMT: Đồ án Kỹ thuật máy tính
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

KhoaS84/PBL5_KTMT

Repository files navigation

#PBL5_KTMT

Hệ thống giám sát chất lượng nước sử dụng IoT và AI

Tóm tắt dự án

Trong bối cảnh ô nhiễm môi trường nước ngày càng gia tăng, việc xây dựng một hệ thống giám sát chất lượng nước là vô cùng cần thiết nhằm đảm bảo nguồn nước phục vụ cho sinh hoạt, sản xuất và nuôi trồng thủy sản. Dự án này đề xuất và xây dựng một Hệ thống giám sát chất lượng nước tự động, ứng dụng công nghệ IoT để theo dõi các thông số môi trường nước theo thời gian thực.

Hệ thống sử dụng các cảm biến để đo các chỉ số quan trọng như: pH, độ đục, nhiệt độ, độ dẫn điện (EC), v.v.. Dữ liệu thu thập được sẽ được xử lý qua vi điều khiển (như Micro:bit hoặc ESP32), sau đó truyền lên nền tảng điện toán đám mây hoặc ứng dụng web thông qua giao thức Wi-Fi hoặc GSM. Người dùng có thể giám sát chất lượng nước từ xa thông qua giao diện web hoặc ứng dụng di động, đồng thời hệ thống có thể cảnh báo khi thông số vượt ngưỡng cho phép.

Kết quả thử nghiệm cho thấy hệ thống hoạt động ổn định, cung cấp dữ liệu chính xác và kịp thời, có thể ứng dụng trong nhiều lĩnh vực như nuôi trồng thủy sản, xử lý nước thải, giám sát nguồn nước tự nhiên. Hệ thống là bước tiến quan trọng trong việc ứng dụng công nghệ số vào bảo vệ tài nguyên nước, góp phần nâng cao hiệu quả quản lý và cảnh báo sớm các nguy cơ ô nhiễm.

Mục tiêu

Mục tiêu của dự án này nhằm phát triển thiết bị kiểm tra chất lượng nước thời gian thực, cảnh báo người dùng khi các chỉ số nước nằm ngoài vùng an toàn, giúp người dùng có nước an toàn để sử dụng.

Các vấn đề cần giải quyết

  • Hệ thống có khả năng thu thập và phân tích dữ liệu, truyền tải thông tin, cảm biến các chỉ số nước.
  • Mô hình A.I. phát hiện và nhận dạng cử chỉ.
  • Hệ thống nhận và lưu trữ thông tin chất lượng nước.
  • Web theo dõi chất lượng nước cho người dùng.

Giải pháp tổng quan

Vấn đề Giải pháp đề xuất
Phần cứng Máy tính nhúng Orange Pi 4a
Vi điều khiển Micro:bit V2
Vi điều khiển ESP32-CAM
Cảm biến độ đục NH3366
Cảm biến nhiệt độ DS18B20
Cảm biến EC (đo chất rắn hoà tan)
Máy bơm nước
Mô hình dự đoán chất lượng nước Sử dụng mô hình Random Forest
Mô hình nhận dạng cử chỉ (like) Sử dụng mô hình ANN (Artificial Neural Network)
Hệ thống nhận và lưu trữ thông tin chất lượng nước Server.js dùng nodejs
Web theo dõi chất lượng nước Dùng JavaScript

Thành phần phần cứng chính

  • Vi điều khiển Micro:bit V2: Vi xử lý chính: Nordic nRF52833 (ARM Cortex-M4, 64 MHz). Bộ nhớ: 512 KB Flash, 128 KB RAM. Cảm biến tích hợp: Gia tốc kế 3 trục, Con quay hồi chuyển (Gyroscope), La bàn số (Cảm biến từ trường). Bluetooth: 5.0 Low Energy. Micro: Micro MEMS tích hợp. Loa: tích hợp sẵn. LED: Ma trận 5x5 (25 đèn LED đỏ). Nút nhấn: 2 nút nhấn lập trình được (A và B), 1 nút reset. Logo cảm ứng: Có thể cảm ứng và lập trình được. Cổng vào/ra (I/O): 25 chân GPIO tổng cộng, 3 chân I/O lớn (P0, P1, P2) dùng với kẹp cá sấu. Hỗ trợ SPI, I2C, UART. Nguồn điện: Cổng Micro USB, Hộp pin 2 x AAA (3V), Pin LiPo (qua đầu nối JST 2 chân). Cảm biến nhiệt độ: Tích hợp trong vi xử lý. LED nguồn: Có. Hỗ trợ âm thanh: Có (nhờ micro và loa tích hợp).
  • ESP32-CAM: Điện áp cung cấp: 5V. SPI Flash mặc định: 32MB. RAM: 520KB SRAM, 4MB PSRAM. WiFi: 802.11 b/g/n. Interface: UART, SPI, I2C, PWM. Hỗ trợ camera OV2640 kèm Led. Transmit Power: 802.11b: 17±2 dBm.
  • ESP8266: Điện áp hoạt động: 3.3V. Số chân I/O: 11-17 chân GPIO. Kết nối mạng: WiFi 802.11 b/g/n. Bộ nhớ trong: 4 – 32MB. Giao tiếp dữ liệu: UART / HSPI / I2C / I2S /GPIO / PWM. Bảo mật: WPA/WPA2. Nhiệt độ hoạt động: -40 ℃ ~ + 125 ℃.
  • Orange Pi 4A: CPU: 8xCortex-A55, tốc độ 1.8GHz. GPU: ARM Mali-G57 MC1, video 4K60. NPU: 2 TOPS dành cho xử lý AI. Kết nối: Wi-Fi 5, Bluetooth 5.0 LE, Ethernet Gigabit. Lưu trữ: Hỗ trợ thẻ microSD, eMMC, và khe cắm M.2 PCIe Gen3 size 2280. Giao tiếp: 40 pin GPIO, MIPI CSI (camera) và D AC32 SI (màn hình). Hệ điều hành: Debian 12.
  • Cảm biến độ đục NH3366: Cảm biến độ đục NH3366 là một thiết bị được sử dụng để đo độ đục của chất lỏng. Thiết bị này hoạt động dựa trên nguyên lý tán xạ ánh sáng – khi ánh sáng đi qua chất lỏng, các hạt lơ lửng trong nước sẽ làm tán xạ ánh sáng và cảm biến sẽ đo mức độ tán xạ để xác định độ đục. Dải đo độ đục: 0-1000 NTU. Điện áp cấp: 4.8 ~ 5.5VDC.
  • Cảm biến nhiệt độ DS18B20: Cảm biến nhiệt độ DS18B20 là một loại cảm biến kỹ thuật số được sử dụng phổ biến để đo nhiệt độ với độ chính xác cao. Nó giao tiếp qua giao thức 1-Wire, cho phép nhiều cảm biến được kết nối trên cùng một dây dữ liệu, giúp tiết kiệm chân kết nối trên vi điều khiển. DS18B20 có dải đo nhiệt độ từ -55°C đến +125°C, với độ chính xác ±0.5°C trong khoảng -10°C đến +85°C.
  • Cảm biến EC: Chỉ số EC (electro-conductivity) là chỉ số diễn tả tổng nồng độ ion hòa tan trong dung dịch. Độ dẫn điện có thể được thể hiện bằng một số đơn vị khác nhau nhưng đơn vị tiêu biểu được dùng để đo lường EC là millisiemens trên centimet (mS / cm).

Giải pháp trí tuệ nhân tạo

Mô hình Random Forest Classifier

  • Tổng quan: Random Forest là một mô hình học máy thuộc nhóm ensemble learning, sử dụng phương pháp Bagging (Bootstrap Aggregating) để cải thiện độ chính xác và giảm thiểu hiện tượng overfitting của các mô hình học máy đơn lẻ. Trong trường hợp của Random Forest Classifier, mô hình này được dùng cho các bài toán phân loại. Trong đồ án này, mô hình Random Forest Classifier tập trung vào việc phân loại và dự đoán chất lượng nước.
  • Cách hoạt động: Mô hình Random Forest Classifier hoạt động theo quy trình: Tạo nhiều cây quyết định. Tính ngẫu nhiên: Lấy mẫu dữ liệu (Bagging) và Lựa chọn đặc trưng (Feature Randomness). Đưa ra dự đoán: Đối với bài toán phân loại, dự đoán cuối cùng là lớp được bầu chọn nhiều nhất. Đối với bài toán hồi quy, dự đoán cuối cùng là giá trị trung bình.
  • Ưu điểm: Độ chính xác cao, ít bị overfitting so với cây quyết định đơn lẻ. Làm việc tốt với dữ liệu có nhiều đặc trưng và dữ liệu không tuyến tính. Có thể đánh giá tầm quan trọng của các đặc trưng (feature importance).
  • Nhược điểm: Khó giải thích mô hình so với cây quyết định đơn lẻ. Tốn tài nguyên tính toán và bộ nhớ khi có nhiều cây.

Mô hình ANN (Artificial Neural Network – Mạng nơ ron nhân tạo)

  • Tổng quan: Mạng nơ ron nhân tạo (ANN) là một mô hình toán học được xây dựng để mô phỏng quá trình hoạt động của mạng lưới nơ ron sinh học trong não người. ANN có khả năng học từ dữ liệu, phát triển các mẫu nhận diện, và ra quyết định dựa trên các thông tin đã học được. Trong phạm vi đồ án này, mô hình ANN được xây dựng bằng Keras với mục tiêu tập trung nhận diện cử chỉ tay có ở dạng “thumbs up” hay không.
  • Cấu trúc: Bao gồm Lớp đầu vào (Input Layer) với kích thước 63, tương ứng với 63 đặc trưng. Lớp ẩn thứ nhất (First Hidden Layer) là một lớp Dense với 128 nơ-ron và hàm kích hoạt ReLU. Lớp Dropout (Dropout Layer) với tỷ lệ 0.3 (30%) được sử dụng để ngăn chặn overfitting. Lớp ẩn thứ hai (Second Hidden Layer) là một lớp Dense với 64 nơ-ron và hàm kích hoạt ReLU. Lớp đầu ra (Output Layer) là một lớp Dense với 2 nơ-ron và hàm kích hoạt softmax.
  • Cách hoạt động: ANN hoạt động dựa trên quá trình học từ dữ liệu đầu vào và điều chỉnh các trọng số của các liên kết giữa các nơ ron để tối ưu hóa đầu ra. Quá trình này bao gồm ba bước chính: Tiếp nhận dữ liệu, Tính toán và truyền thông tin, và Điều chỉnh trọng số (Backpropagation).
  • Các phương pháp học máy: ANN có thể học từ dữ liệu thông qua nhiều phương pháp khác nhau như Học Có Giám Sát (Supervised Learning), Học Không Giám Sát (Unsupervised Learning), và Học Tăng Cường (Reinforcement Learning).

Quá trình huấn luyện

  • Thu thập dữ liệu:
    • Với mô hình Random Forest Classifier dùng để dự đoán chất lượng nước: Thông số từ các cảm biến, ảnh chụp từ thiết bị hoặc lấy từ các nguồn trên mạng.
    • Với mô hình ANN dùng để nhận dạng cử chỉ: Ảnh chụp trên thiết bị điện thoại cá nhân hoặc qua ESP32-CAM.
  • Phân cụm và gắn nhãn dữ liệu: Dữ liệu chất lượng nước được phân cụm và gán nhãn tương ứng (Tinh khiết, Tốt, Khá, Trung bình, Tệ, Rất tệ, Không thể xử lý).
  • Xử lý dữ liệu:
    • Với dữ liệu cử chỉ: Phân chia kích thước tập dữ liệu Train/Validation/Test (Huấn luyện/Xác thực/Kiểm thử) theo tỉ lệ 70/15/15 với mỗi lớp.
    • Với dữ liệu chất lượng nước: Phân chia kích thước tập dữ liệu Train/Validation/Test (Huấn luyện/Xác thực/Kiểm thử) theo tỉ lệ 60/20/20.
  • Tiến hành huấn luyện: Tiến hành áp dụng mô hình ANN để huấn luyện tập dữ liệu, kiểm thử và đánh giá kết quả độ chính xác và tốc độ xử lý của mô hình và tiếp tục hiệu chỉnh mô hình để tối ưu hóa các siêu tham số.

Giải pháp phần mềm

  • Bài toán: Xây dựng web cho người sử dụng để hỗ trợ theo dõi chất lượng nước. Web tập trung vào phân tích dữ liệu nguồn nước từ các thiết bị được cài đặt.
  • Công nghệ sử dụng: Mã nguồn (Source code): JavaScript. Nền tảng (Platform): Linux.
  • Sơ đồ tuần tự: Bao gồm sơ đồ tuần tự chức năng xem dữ liệu cảm biến, sơ đồ tuần tự chức năng xem ảnh và sơ đồ tuần tự chức năng xem biểu đồ.

Kết quả

  • Mô hình nhận diện cử chỉ:
    • Mô hình có độ chính xác tương đối cao với các cử chỉ thông thường. Trong các điều kiện bất lợi (môi trường chụp tối, các cử chỉ khó,...), có thể cho ra nhận dạng với độ chính xác thấp.
    • Mô hình cho khả năng huấn luyện và nhận dạng cử chỉ nhanh chóng, độ chính xác cao nếu được đáp ứng với tập dữ liệu đa dạng.
    • Độ chính xác từ ảnh chụp mang lại từ ESP32-CAM không ổn định do chất lượng thiết bị còn hạn chế.
  • Web Server: Tiếp nhận và phản hồi kết quả nhận dạng cho thiết bị nhận dạng nhanh chóng.

Hướng phát triển

  • Thiết kế phần cứng gọn gàng, đảm bảo chất lượng có thể sử dụng trong các điều kiện thời tiết khác nhau và dùng được thời gian dài.
  • Huấn luyện thêm hoặc cải thiện mô hình nhận diện cử chỉ trên tập dữ liệu mới đa dạng và được xử lý tốt hơn để có thể nhận diện tốt hơn các trường hợp hình ảnh vật thể có các điều kiện về ảnh sáng, vật che khuất,....
  • Nâng cấp thiết bị để tăng chất lượng hình ảnh, độ ổn định cũng như có thể tích hợp mô hình nhận dạng cử chỉ vào hệ thống.
  • Phát triển thêm các tính năng mới cho web như kiểm tra tình trạng linh kiện, ….

Sinh viên thực hiện

  • Lê Hải Khoa
  • Hồ Nguyễn Thế Vinh
  • Ngô Xuân Vinh

Giảng viên hướng dẫn

  • TS. Trịnh Công Duy

Thời gian thực hiện

Đà Nẵng, 06/2025

0