switching to high quality piper tts and added label translations
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
# Home-Bro Brain (The Brain) 🧠
|
||||
|
||||
Das Gehirn des Home-Bro Projekts. Diese zentrale API ist für die Bildanalyse mittels YOLOv11 und die Generierung sarkastischer Kommentare zuständig.
|
||||
|
||||
## 🚀 Übersicht
|
||||
|
||||
Home-Bro Brain empfängt Bilder von Satelliten (Raspberry Pi, Tapo-Kameras, ESP32), analysiert diese auf Unordnung (Tassen, Flaschen, etc.) und gibt daraufhin einen passiv-aggressiven Kommentar zurück.
|
||||
|
||||
## 🛠 Tech-Stack
|
||||
|
||||
- **FastAPI**: Für die Bereitstellung der API.
|
||||
- **YOLOv11 (Ultralytics)**: Für die Objekterkennung.
|
||||
- **OpenCV**: Zur Verarbeitung von Kamera-Streams.
|
||||
- **Docker**: Optional für das Deployment in einem Container.
|
||||
|
||||
---
|
||||
|
||||
## 💻 Lokale Installation (Mac/PC)
|
||||
|
||||
Folge diesen Schritten, um das Brain lokal auf deinem Rechner zu testen:
|
||||
|
||||
### 1. Repository klonen
|
||||
|
||||
```bash
|
||||
git clone git@git.hnrx.net:homelab/home-bro-brain.git
|
||||
cd home-bro-brain
|
||||
```
|
||||
|
||||
### 2. Virtuelle Umgebung erstellen & aktivieren
|
||||
|
||||
```bash
|
||||
python3 -m venv venv
|
||||
source venv/bin/activate
|
||||
```
|
||||
|
||||
### 3. Abhängigkeiten installieren
|
||||
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
### 4. Konfiguration
|
||||
|
||||
Erstelle eine `.env` Datei (nutze `.env.example` als Vorlage):
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
Füge deine Zugangsdaten für ggf. vorhandene Tapo-Kameras hinzu:
|
||||
|
||||
- `TAPO_USER`: Dein Kamera-Benutzername
|
||||
- `TAPO_PASSWORD`: Dein Kamera-Passwort
|
||||
|
||||
### 5. Modell herunterladen
|
||||
|
||||
Das YOLO-Modell (`yolo11n.pt`) wird beim ersten Start automatisch heruntergeladen und im Ordner `models/` abgelegt.
|
||||
|
||||
---
|
||||
|
||||
## 🏃♂️ Ausführung
|
||||
|
||||
Starte den Server lokal:
|
||||
|
||||
```bash
|
||||
uvicorn app.main:app --host 0.0.0.0 --reload --reload-dir app
|
||||
```
|
||||
|
||||
Das Brain ist nun unter `http://localhost:8000` erreichbar.
|
||||
|
||||
### Lokaler Test via Swagger UI
|
||||
|
||||
Du kannst die API direkt im Browser testen. Öffne dazu:
|
||||
`http://localhost:8000/docs`
|
||||
|
||||
Dort kannst du den Endpunkt `/analyze/pi` nutzen, um manuell ein Foto hochzuladen und die Reaktion des Home-Bro zu sehen.
|
||||
|
||||
---
|
||||
|
||||
## 🐳 Docker Deployment (Optional)
|
||||
|
||||
Wenn du das Brain dauerhaft (z.B. auf einem Server) betreiben willst:
|
||||
|
||||
```bash
|
||||
docker-compose up -d --build
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📡 API Endpunkte
|
||||
|
||||
| Methode | Endpunkt | Beschreibung |
|
||||
| :------ | :--------------------- | :--------------------------------------------- |
|
||||
| `GET` | `/` | Zeigt das Web-Dashboard an. |
|
||||
| `GET` | `/api/latest` | Gibt den letzten Analysestatus zurück. |
|
||||
| `POST` | `/analyze/pi` | Empfängt ein Bild von einem Pi-Satelliten. |
|
||||
| `GET` | `/analyze/tapo/{room}` | Triggert eine Analyse eines Tapo RTSP-Streams. |
|
||||
Reference in New Issue
Block a user