TKK_E32230947/SETUP.md

86 lines
1.9 KiB
Markdown

# 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;
}
}
}
```
6. Klik **Publish**
---
## LANGKAH 2 — Install library baru di Python
Jalankan perintah ini di terminal:
```bash
pip install firebase-admin opencv-python ultralytics
```
Kalau pakai conda/Anaconda:
```bash
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)
```