TKK_E32230947/SETUP.md

1.9 KiB

CARA SETUP FOTO DETEKSI REALTIME

============================================================

Yang perlu dilakukan (3 langkah saja):


LANGKAH 1 — Aktifkan Firebase Storage

  1. Buka https://console.firebase.google.com
  2. Pilih project: smart-donation-adff1
  3. Di menu kiri klik: Storage → klik Get Started
  4. Pilih region: asia-southeast1 → klik Next → Done
  5. Setelah Storage aktif, klik tab Rules dan ganti dengan:
rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if true;
    }
  }
}
  1. Klik Publish

LANGKAH 2 — Install library baru di Python

Jalankan perintah ini di terminal:

pip install firebase-admin opencv-python ultralytics

Kalau pakai conda/Anaconda:

pip install firebase-admin --break-system-packages

Library firebase-admin sudah include Storage, tidak perlu install tambahan.


LANGKAH 3 — Ganti file

Ganti file lama dengan file baru dari folder ini:

  • main.py → ganti main.py yang lama
  • index.html → ganti web/index.html yang lama

ESP32 tidak perlu diubah sama sekali.


Cara Kerja Setelah Setup

ESP32-CAM kirim foto
    ↓
Flask terima + YOLO deteksi
    ↓
Flask upload foto (overwrite 1 file) ke Firebase Storage
    ↓
Flask simpan URL foto ke Realtime DB: smart_donation_box/last_detection
    ↓
Dashboard baca URL dari Realtime DB → tampilkan foto otomatis

Hanya 1 file foto yang tersimpan di Storage (last_detection.jpg), selalu di-overwrite → Storage tidak penuh.


Struktur Firebase Realtime DB (tambahan baru)

smart_donation_box/
└── last_detection/          ← NODE BARU
    ├── foto_url   : string  → URL publik foto di Firebase Storage
    ├── label      : string  → Hasil deteksi (misal: "Rp 2000, Rp 5000")
    └── timestamp  : number  → Waktu deteksi (Unix ms)