Fix: .env wird automatisch geladen (MQTT-Events kamen nicht an)

Ohne 'source .env' liefen Broker/Topic auf Defaults (127.0.0.1 statt
192.168.10.7, vehiclecounter/cam1 statt counter/cam1) -> keine Events.
Jetzt laedt app.py die .env per python-dotenv beim Start.

- load_dotenv() vor dem Auslesen von os.environ
- README: .env-Konfig + supervisord-Hinweis (directory=), python-dotenv

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-01 14:35:13 +02:00
parent bde547368d
commit d593f9e8af
2 changed files with 28 additions and 1 deletions

View File

@@ -28,7 +28,7 @@ Eine webbasierte Anwendung zur Echtzeit-Objekterkennung und -Verfolgung mittels
2. Erforderliche Python-Pakete installieren:
```bash
pip3 install flask opencv-python numpy ultralytics requests paho-mqtt
pip3 install flask opencv-python numpy ultralytics requests paho-mqtt python-dotenv
```
3. **CUDA-fähiges PyTorch installieren** (für GPU-Beschleunigung). Die passende
@@ -58,6 +58,25 @@ python3 app.py
Die Anwendung ist dann unter `http://localhost:8080` erreichbar.
### Konfiguration (.env)
Kamera-, MQTT- und Inferenz-Einstellungen werden über Umgebungsvariablen
gesteuert. Lege dazu eine `.env`-Datei im Projektverzeichnis an sie wird
beim Start **automatisch geladen** (`python-dotenv`):
```bash
export CAMERA_URL="http://CAMERA-IP:81/stream"
export MQTT_HOST="MQTT-HOST"
export MQTT_PORT=1883
export MQTT_TOPIC="counter/cam1"
export CAMERA_ID="cam1"
```
> ⚠️ Beim Betrieb über einen Prozess-Manager (z. B. **supervisord**) muss das
> Arbeitsverzeichnis auf das Projekt zeigen (`directory=/pfad/zum/projekt`),
> sonst wird die `.env` nicht gefunden und es greifen die Defaults.
> Die `.env` ist per `.gitignore` ausgeschlossen und gehört nicht ins Repo.
### Webcam-Erkennung
1. Öffnen Sie `http://localhost:8080` im Browser