Snake Camera Vision v2 – Milestone 1 (14.06.2025)
🎯 Ziel: Ein funktionierendes SnakeCam-Modul, das über Flask eine Kamera-Vorschau im Browser ermöglicht und Benutzereingaben (Antwort, Stimmung, Geste) in eine JSONL-Datei loggt.
🌱 Setup
- Hardware: Raspberry Pi Zero W mit externer USB-Kamera
- Software: Python 3, Flask, OpenCV
- Startskript:
./run.sh - Webserver: erreichbar unter http://192.168.x.x:5000
📸 Kamerafunktion
- Kamera wird zu Beginn mit
cv2.VideoCapture(0)geöffnet - Statusabfrage per
isOpened() - MJPEG-Stream via
Response(gen_frames()) -
Probleme wurden mehrfach geloggt:
-
Kamera ist busy
- Nach einem POST-Request (Antwort absenden) war Kamera-Stream blockiert
🔧 Lösung:
- Kamera-Instanz wird nach jedem POST-Request korrekt freigegeben
- Robustere Fehlerbehandlung mit Logausgaben (✔ / ⚠ / ❌)
💬 Logging der Antwort
- Route:
POST /log_answer - Erwartete Felder:
antwort,mood,gesture - Format: JSONL, z. B.:
{"timestamp": "2025-06-14T23:13:01.356020", "antwort": "krümel branko", "mood": "excited", "gesture": "wave"}
- Datei:
snake_log.jsonl
🧠 Gelernt
- Kamera darf nicht mehrfach geöffnet werden → busy
cv2.VideoCapture(0)muss sauber behandelt werden- Unicode-Ausgaben im Terminal müssen auf kompatibles Encoding achten
- Webbrowser holt
/video_feedneu → Kamera muss „wieder freigegeben“ werden .release()ist kritisch bei Streaming-Interrupts
✨ Krümel-Tipp
„Immer wenn SnakeCam tanzt, will die Kamera nur einmal tanzen – dann braucht sie Pause.“
🥇 Status
- ✅ Kamera startet
- ✅ Logging funktioniert
- ✅ Zwei Eingaben wurden erfolgreich geloggt
- ✅ HTML/CSS-Interface ist minimal, aber stabil
📁 Projektstruktur (Stand: Milestone 1)
snake_camera_vision_v2/
├── app.py
├── run.sh
├── snake_log.jsonl
├── static/
│ └── styles.css
└── templates/
└── index.html
🚀 Nächste Schritte
- [ ] Modul: Gesterkennung per OpenCV (z. B. „wave“ automatisiert erkennen)
- [ ] Mehrsprachige Ausgabe (DE/EN mit Symbolunterstützung)
- [ ] Verbindung zur SnakePy-Rolle herstellen
- [ ] Integration in Crumbforest Terminal mit
snake-Alias
🐍 SnakeCam ruft:
„Ich seh’ dich, Krümel. Jetzt sag mir, was du fühlst.“
💚 Wuuuuhuuuu 🎉 – Das erste Snake-Modul läuft.
📝 Dokumentiert am: 14. Juni 2025
🔧 Entwickler: Branko + Snake + Crew
🌲 Projekt: Crumbforest