# Projekt: Home-Bro – Der nervige Mitbewohner ## 🎯 Vision Ein KI-basiertes Überwachungssystem mit Persönlichkeit. Home-Bro beobachtet Räume über verschiedene Kameras (Satelliten) und kommentiert den Zustand (z. B. Unordnung) auf sarkastische und proaktive Weise. ## 🏗 Architektur (Distributed System) ### 1. Das Gehirn (Brain) - Repository: `home-bro-brain` - **Hardware:** AMD Ryzen 7500 (PC) - **Umgebung:** Docker-Container (FastAPI + YOLOv11) - **Aufgabe:** Zentrale Bildanalyse, Objekterkennung (Tassen, Teller, Flaschen) und Generierung sarkastischer Sprüche. ### 2. Die Satelliten (Clients) - Repository: `home-bro-client` - **Primär-Satellit:** Raspberry Pi 4 mit Logitech C922 Webcam. - **Input:** Wake-Word "Porcupine", Audio-Aufnahme, 1080p Snapshots. - **Output:** Audio-Wiedergabe über Bluetooth-Speaker (CSL). - **Video-Satelliten:** - TP-Link Tapo C220 (Anbindung via RTSP/OpenCV). - ESP32-CAM Module (OV3660/OV2640) für Nebenräume. ## 🛠 Tech-Stack - **KI:** Ultralytics YOLOv11 (Objekterkennung). - **Backend:** FastAPI (Python) für die zentrale API. - **Kommunikation:** REST (Push vom Pi) & RTSP (Pull von Tapo). - **Editor:** Antigravity (Gitea-Anbindung). - **Doku:** NotebookLM für Strategie & Projekt-Gedächtnis. ## 📋 Aktueller Entwicklungs-Fahrplan ### Phase 1: Brain-Fundament (Lokal auf Mac/PC) - [x] Repository-Struktur anlegen. - [x] `requirements.txt` definieren. - [x] `app/vision.py` mit YOLO-Inferenz und Sarkasmus-Logik implementieren. - [x] `app/main.py` als API-Endpunkt fertigstellen. - [x] Lokaler Test via FastAPI Swagger-UI (`/docs`) oder Test-Script. ### Phase 2: Client-Anbindung (Pi & Webcam) - [ ] `home-bro-client` Repository erstellen. - [ ] Snapshot-Logik auf dem Pi implementieren (`fswebcam` oder `libcamera`). - [ ] Wake-Word Trigger mit Bild-Upload an das Brain verknüpfen. ### Phase 3: Erweiterung & "Nerv-Faktor" - [ ] "Gedächtnis"-Funktion (Status-Tracking: Wie lange steht die Tasse schon dort?). - [ ] Sprachausgabe (TTS) der sarkastischen Sprüche am Pi. - [ ] (Optional) Tapo C220 via RTSP integrieren (sobald Hardware vorhanden). ## 📝 Notizen für NotebookLM - **Persönlichkeit:** Sarkastisch, leicht passiv-aggressiv, fokusiert auf Ordnung. - **Hardware-Hack:** Bluetooth-Speaker am Pi benötigt stabilen Akku/Stromversorgung, um Lastspitzen bei Speaker-Nutzung abzufangen. - **Workflow:** Coding in Antigravity -> Push zu Gitea -> Deployment auf Ryzen/Pi.