Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

DuyLongBN1/nha_thong_minh

Repository files navigation

🏠 XÂY DỰNG THIẾT KẾ HỆ THỐNG NHÀ THÔNG MINH

DaiNam University Logo AIoTLab Logo

Made by AIoTLab Fit DNU DaiNam University

🏡 Hệ thống nhà thông minh

Hệ thống nhà thông minh tích hợp các tính năng hiện đại như mở cửa bằng quét khuôn mặt và thẻ từ, cảnh báo rò rỉ khí gas cảnh báo bằng còi, đèn LED, tự động mở cửa sổ và gửi tin nhắn thông báo đến Pushover, cùng tự động bật đèn bằng cảm biến ánh sáng.

📝 Giới thiệu

  • 🔐 Mở cửa bằng khuôn mặt: Người dùng quét khuôn mặt để mở. Hệ thống xác định khuôn mặt khớp hay không khớp, nếu khớp sẽ tự động mở cửa và ngược lại sẽ không mở cửa.
  • 💳 Mở cửa bằng thẻ từ: Người dùng sử dụng thẻ từ RFID để quét vào hệ thống xác nhận mở cửa, nếu khớp thẻ cửa sẽ tự động mở, nếu sai thẻ sẽ không mở cửa. Quét lại một lần nữa cửa sẽ tự động đóng hoặc để cửa mở hết 1 phút cửa sẽ tự động đóng lại.
  • ⛽ Cảnh báo khí gas: Nếu hệ thống cảm biến khí gas phát hiện khí gas, đèn LED sẽ nhấp nháy, còi sẽ kêu lên, cửa sổ sẽ mở ra đồng thời sẽ gửi tin nhắn thông báo đến Pushover.
  • 💡 Cảm biến ánh sáng bật đèn: Đèn LED sẽ tự động bật nếu môi trường cảm biến tiếp xúc thiếu ánh sáng.

🛠️ Hệ thống

image

🔧 Công nghệ sử dụng

⚙️ Phần cứng:

  • 📸 Camera (sử dụng Camera laptop)
  • 📛 Đầu lọc thẻ từ RFID
  • ⛽ Cảm biến khí gas
  • 🌞 Cảm biến ánh sáng
  • 💡 Đèn và còi báo động
  • 🖥️ Arduino
  • ⚡ Động cơ servo

💾 Phần mềm:

  • 🐍 Thư viện face_recognition và OpenCV trong Python
  • 📲 Ứng dụng pushover

📋 Yêu cầu hệ thống

⚙️ Phần cứng:

  • 🖥️ Arduino, 3 đèn led, còi, cảm biến khí gas, cảm biến ánh sáng, 3 servo, đầu lọc thẻ từ
  • 🔌 Cáp USB để kết nối máy tính với Arduino

💾 Phần mềm:

  • 🐍 Python (xử lý nhận diện khuôn mặt, điều khiển cửa và thực hiện gửi thông báo)
  • 🛠️ Arduino IDE (nạp code Arduino)
  • 📩 Pushover (dùng để gửi thông báo)

📦 Cài đặt thư viện cần thiết

pip3 install opencv-python pyserial requests flask numpy

🔌 Hướng dẫn cắm dây bảng mạch

🔐 Cắm dây đối với chức năng mở cửa khuôn mặt, cảnh báo khí gas, cảm biến ánh sáng:

image

💳 Cắm dây đối với chức năng mở cửa bằng thẻ từ RFID:

  • Kết nối RFID với Arduino

image

  • Kết nối servo với Arduino

image

📚 Hướng dẫn cài đặt và chạy chương trình

🛠️ Chuẩn bị phần cứng

  • 🔐 Nạp mã Arduino cho chức năng mở cửa bằng khuôn mặt, cảnh báo khí gas, cảm biến ánh sáng:
    • Mở file FaceGasLightControl.ino bằng Arduino IDE
    • Kết nối board Arduino với máy tính
    • Chạy nạp mã nguồn vào board
    • Đảm bảo chạy cổng COM8 để phù hợp với mã trong file face_recognition_with_web.py
  • 💳 Nạp mã Arduino cho chức năng mở cửa bằng thẻ từ:
    • Mở file RFIDDoor.ino bằng Arduino IDE
    • Kết nối board Arduino với máy tính
    • Chạy nạp mã nguồn vào board

🐍 Cài đặt python

Cài đặt python về máy và cài các thư viện phía trên bằng pip

📱 Cài đặt và đăng ký ứng dụng pushover

  • Cài đặt ứng dụng về máy điện thoại bằng AppStore hoặc CH Play
  • Đăng ký tài khoản trên pushover để lấy key sử dụng

🚀 Các bước chạy chương trình

  • Bước 1: Chạy file capture_faces.py để thiết lập khuôn mặt và lưu hình ảnh vào folder data_set (python capture_faces.py). Ứng dụng sẽ chạy sau đó camera máy tính mở lên, bạn cần nhập tên người dùng vào terminal sau đó enter để camera chụp lại khuôn mặt của bạn và lưu vào folder data_set.
  • Bước 2: Chạy file train_faces.py để training chương trình sau khi lưu xong khuôn mặt (python train_faces.py).
  • Bước 3: Chạy file face_recognition_with_web.py để sử dụng chức năng nhận diện khuôn mặt và thông báo khí gas (python face_recognition_with_web.py).

📘 Hướng dẫn sử dụng

🔐 Nhận diện khuôn mặt mở cửa:

  • Người dùng đưa khuôn mặt vào camera để nhận diện.
  • Nếu nhận diện đúng với khuôn mặt đã lưu cửa sẽ tự động mở ra.
  • Sai khuôn mặt sẽ hiển cảnh báo đồng thời cửa sẽ không mở.

💳 Quét thẻ từ mở cửa:

  • Người dùng đưa thẻ từ vào quét.
  • Nếu đúng mã thẻ cửa sẽ mở.
  • Sai mã thẻ sẽ không mở cửa.
  • Nếu cửa đang mở chờ hết 1 phút cửa sẽ tự động đóng.

⛽ Cảnh báo khí gas:

  • Sử dụng bật lửa xì gas vào cảm biến.
  • Cảm biến phát hiện khí gas còi sẽ kêu, đèn nhấp nháy, cửa sổ mở và thông báo qua pushover.

💡 Cảm biến ánh sáng bật đèn:

  • Chỉ cần lấy tay che toàn bộ cảm biến hoặc để cảm biến vào nơi thiếu ánh sáng.
  • Đèn sẽ tự động bật.

🖼️ Poster

Poster_CNTT5_ThanhNguyen