Cover Cabai Detection | Project
Kembali ke Beranda

Cabai Detection | Project

Sistem deteksi kematangan dan kualitas cabai berbasis YOLO dengan streaming real-time melalui MQTT dan ESP32-CAM.

Kategori

other

Dipublikasikan

22 Juli 2026

Teknologi

PythonFlaskYOLOOpenCVMQTTESP32-CAMFlask-SocketIOUltralyticsHTMLCSSJavaScript

Cabai Detection Project

Proyek ini adalah sistem deteksi objek menggunakan algoritma YOLO untuk mengidentifikasi tingkat kematangan dan kualitas cabai (Cabai Hijau, Cabai Kering-Busuk, Cabai Merah, Cabai Setengah Matang).

Sistem ini dirancang untuk menerima stream gambar secara real-time dari perangkat IoT (seperti ESP32-CAM) melalui protokol MQTT, memprosesnya menggunakan YOLO untuk deteksi, dan menampilkan hasilnya pada antarmuka web berbasis Flask dan SocketIO.

Struktur Utama Proyek

  • app.py: Server utama berbasis Flask yang menangani web interface, koneksi MQTT untuk menerima gambar, melakukan inferensi YOLO, dan memancarkan hasilnya (via WebSocket/SocketIO).
  • mock_esp32.py: Script simulator kamera yang menggunakan webcam laptop untuk mengirim gambar ke broker MQTT, berguna untuk testing jika perangkat ESP32-CAM fisik tidak tersedia.
  • train_cabai.py: Script untuk melakukan proses training model YOLO dari awal menggunakan dataset cabai Anda.
  • config.py: File konfigurasi yang berisi pengaturan broker MQTT, path menuju model YOLO, dan confidence threshold.
  • data/: Folder yang menyimpan konfigurasi dataset (seperti data.yaml) dan gambar latih.

Prasyarat

Sebelum menjalankan proyek, pastikan Anda telah memiliki hal-hal berikut yang berjalan di sistem Anda:

  1. Python 3 dan Virtual Environment (.venv).
  2. Mosquitto MQTT Broker berjalan di 127.0.0.1 (localhost) dengan port 1883.

Cara Menjalankan Proyek

Buka terminal (Command Prompt/PowerShell) di dalam folder CabaiDetection, lalu ikuti perintah berikut:

1. Mengaktifkan Virtual Environment (Opsional namun disarankan)

Aktifkan environment Python untuk menggunakan pustaka/dependencies yang sudah terinstal:

.\.venv\Scripts\activate

(Jika Anda belum menginstal dependensi, jalankan: pip install -r Requirements.txt)

2. Menjalankan Server Web (Aplikasi Utama)

Server ini akan memuat model YOLO dan bersiap menerima gambar dari MQTT.

python app.py

Setelah berjalan, buka browser Anda dan akses: http://127.0.0.1:5001

3. Menjalankan Simulator Kamera (Jika tidak ada ESP32)

Jika Anda tidak memiliki ESP32 yang terhubung, Anda bisa menggunakan kamera laptop sebagai simulasi pengirim gambar. Buka terminal baru, aktifkan .venv seperti pada langkah 1, lalu jalankan:

python mock_esp32.py

Script ini akan menangkap gambar dari webcam dan mengirimkannya ke MQTT sehingga server app.py dapat memproses dan mendeteksi cabainya.

4. Melakukan Training Model Baru

Jika Anda ingin melatih ulang (train) model YOLO dengan dataset cabai terbaru, gunakan perintah:

python train_cabai.py

Catatan Penting setelah Training: Setelah proses training selesai, model terbaik akan tersimpan di dalam folder runs/train/cabai_model/weights/best.pt (atau direktori serupa). Pastikan Anda memperbarui variabel MODEL_PATH di dalam file config.py agar mengarah ke file model yang baru tersebut, sehingga app.py menggunakan model terbaru Anda.

Muhammad Makbul NFull Stack Developer
© 2026 Dibangun dengan hati