Skip to content

Anos2003/CNXLA_BTL_Smart_Pig_Farm

Repository files navigation

Hệ Thống Giám Sát Hành Vi Của Lợn

AIoTLab Faculty of Information Technology DaiNam University


1. Giới thiệu Dự án

Đây là hệ thống Giám sát Nông nghiệp Thông minh (Smart Pig Farm) được phát triển theo triết lý "vibe coding" trong khuôn khổ học phần môn Công nghệ Xử lý ảnh và nông nghiệp thông minh& thành phố thông minh.

Mục đích chính của dự án là nghiên cứu và ứng dụng mô hình AI (YOLO) vào việc theo dõi hành vi vật nuôi trong thời gian thực, kết hợp với các cảm biến IoT mô phỏng để tự động hóa môi trường chuồng trại.

Dự án là bước đệm vững chắc để tiến tới xây dựng các giải pháp tự động hóa toàn diện trong mô hình Nông nghiệp công nghệ cao (Smart Agriculture).


2. Bối cảnh & Vấn đề thực tiễn

Trong chăn nuôi quy mô công nghiệp, việc theo dõi sức khỏe và hành vi của vật nuôi đòi hỏi rất nhiều nhân lực. Môi trường chuồng trại khép kín nếu không được kiểm soát tốt (nhiệt độ quá lạnh, nồng độ khí độc Amoniac tăng cao) sẽ dẫn đến dịch bệnh và giảm năng suất.

Dự án này ra đời nhằm giải quyết bài toán đó. Hệ thống hoạt động như một người quản lý 24/7, có khả năng "nhìn" qua camera để đếm số lượng, phân tích hành vi (ăn, ngủ, di chuyển) và tự động kích hoạt các thiết bị phần cứng (Quạt hút, Đèn sưởi) khi phát hiện môi trường có dấu hiệu bất thường.


3. Demo

Video demo: Xem video hệ thống hoạt động


4. Tính năng cốt lõi

Hệ thống kết hợp giữa Computer Vision và IoT Dashboard với các tính năng chính:

  • Phân tích hành vi (AI Tracking): Ứng dụng YOLO theo dõi và phân loại chính xác 3 trạng thái của lợn: EAT (Đang ăn), SLEEP (Đang ngủ), MOVE (Đang di chuyển).
  • Thuật toán Custom NMS: Khắc phục triệt để lỗi phân mảnh Bounding Box (1 vật nuôi bị nhận diện thành 2 ID) do rung lắc camera.
  • Vùng nhận diện (ROI): Cấu hình vùng máng cám linh hoạt để tăng độ chính xác khi nhận diện hành vi EAT.
  • Tự động hóa IoT: Giám sát thông số Nhiệt độ và Khí Gas, tự động ra quyết định bật/tắt thiết bị dựa trên tập tính vật nuôi.
  • Cảnh báo Telegram: Gửi báo cáo theo thời gian thực về điện thoại người quản lý kèm theo cơ chế chống Spam (Cooldown).
  • Ghi log Database: Trích xuất toàn bộ lịch sử hoạt động và trạng thái môi trường ra file Excel để phân tích.

5. Logic điều khiển thiết bị (State Machine)

Hệ thống sử dụng cỗ máy trạng thái để so sánh và ra quyết định chính xác:

Sự kiện / Điều kiện Cảnh báo Telegram Hành động hệ thống
Can thiệp thủ công Báo cáo chi tiết lệnh Bật/Tắt Ghi đè tự động, ưu tiên thực thi ngay lập tức
Khí Gas > Ngưỡng (VD: 300 PPM) ☠️ Báo động môi trường khí độc Tự động BẬT Quạt hút
Nhiệt độ > Ngưỡng (VD: 40°C) 🔥 Báo động nhiệt độ cao Tự động BẬT Quạt hút
Nhiệt độ < Ngưỡng (VD: 20°C) VÀ Lợn tụ tập ❄️ Báo động tập tính (Tụ tập do lạnh) Tự động BẬT Đèn sưởi
Các chỉ số trở về bình thường 🔴 Thông báo ngắt lệnh tự động Tự động TẮT các thiết bị

6. Công nghệ sử dụng

Python Streamlit OpenCV YOLO Pandas


7. Cấu trúc project

CNXLA_BTL_Smart_Pig_Farm/
├── 📄dashboard.py         # File chính điều phối Giao diện & AI
├── 📄telegram_api.py      # Module xử lý giao tiếp Telegram
├── 📄excel_logger.py      # Module xử lý lưu trữ Database
├── 📄hardware_iot.py      # Module điều khiển phần cứng/giả lập
├──  📁arduino_firmware/    # Thư mục mã nguồn nạp cho vi điều khiển
│   └── 📄relay_controller.ino
├──  📁models/
│   └── 📄best.pt          # Trọng số mô hình YOLO
├── 📁videos/              # Dữ liệu video đầu vào
├── 📁outputs/             # File Excel ghi nhật ký
├── 📄.env.example         # File mẫu cấu hình biến môi trường
├── 📄.gitignore           # Cấu hình bỏ qua file cho Git
├── 📄requirements.txt     # Danh sách thư viện cần thiết
└── 📄README.md            # Tài liệu hướng dẫn

8. Cài Đặt và Khởi chạy

# 1. Clone project
git clone [https://github.com/Anos2003/CNXLA_BTL_Smart_Pig_Farm.git](https://github.com/Anos2003/CNXLA_BTL_Smart_Pig_Farm.git)

# 2. Di chuyển vào thư mục dự án
cd CNXLA_BTL_Smart_Pig_Farm

# 3. Cài đặt thư viện
pip install -r requirements.txt

# 4. Tạo file .env và cấu hình Telegram API (Xem hướng dẫn trong file .env.example)

# 5. Bật Terminal và chạy Dashboard
streamlit run dashboard.py
# Hướng dẫn Kết nối Phần cứng (Tùy chọn ESP32/Arduino)
Mặc định, hệ thống chạy ở chế độ Giả lập (Simulation). Để kết nối với thiết bị thật:

# Bước 1: Nạp mã nguồn cho vi điều khiển
-Mở file arduino_firmware/relay_controller.ino bằng Arduino IDE.
-Kết nối mạch và nạp code.

# Bước 2: Cấu hình giao tiếp Serial
-Mở file hardware_iot.py.
-Sửa USE_REAL_HARDWARE = True.
-Sửa SERIAL_PORT thành cổng USB thiết bị đang nhận diện (VD: 'COM3', '/dev/ttyUSB0').

9. Đóng góp


10. Phát triển

Dự án được phát triển trong khuôn khổ môn học Công nghệ Xử lý Ảnh.

Sinh viên thực hiện:

Giảng viên hướng dẫn: Thầy Lê Trung Hiếu & Thầy Nguyễn Văn Nhân - Khoa Công nghệ Thông tin - Đại học Đại Nam


11. Giấy phép

Dự án này được phát hành theo giấy phép MIT License.

Bạn được phép sử dụng, chỉnh sửa và phân phối lại mã nguồn cho mục đích học tập hoặc phát triển cá nhân.

About

Hệ thống Giám sát Nông nghiệp Thông minh (Smart Pig Farm). Ứng dụng Computer Vision (YOLO) phân tích hành vi vật nuôi, kết hợp dữ liệu IoT tự động điều khiển môi trường chuồng trại. Tích hợp Streamlit Dashboard và cảnh báo Telegram. BTL Công nghệ Xử lý ảnh.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors