Files
Crumb-Core-v.1/docs/crumbforest/# Snake Camera Vision v2 – Milestone 1 (.md

2.5 KiB
Raw Blame History

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_feed neu → 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