1.9 KiB
1.9 KiB
CARA SETUP FOTO DETEKSI REALTIME
============================================================
Yang perlu dilakukan (3 langkah saja):
LANGKAH 1 — Aktifkan Firebase Storage
- Buka https://console.firebase.google.com
- Pilih project: smart-donation-adff1
- Di menu kiri klik: Storage → klik Get Started
- Pilih region: asia-southeast1 → klik Next → Done
- 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;
}
}
}
- 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 lamaindex.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)