Files
CrumbCodex-v.0.0/waldrand/rollen/# Snake Camera Vision v2 – Milestone 1 (.md
Krümel Branko 83df9de035 🌲 CrumbCodex v0.0 - Genesis
12 Monate Crumbforest-Wachstum, sortiert nach Waldlogik.

Struktur:
- 454 Dokumente in 7 organischen Ebenen
- Lichtung → Waldrand → Waldmitte → Wurzeln → Krone → Unterholz → Samen
- INDEX.md für jede Ebene (eigene Stimme)
- WALDKARTE.md (Master-Navigation)
- crumbcodex.md (Das Versprechen zwischen Krümel & Bits)
- lichtung/willkommen.md (Nullfeld-Einstieg für Kinder)

Philosophie:
- Waldlogik statt Ordnerlogik
- Tiefe, Licht, Wurzeln - wie ein echter Wald
- Schutz für Krümel, Tiefe für Gräber, Poesie für Atmende

Repos verbunden:
- OZM-Keks-Handbuch-v1 (Das Wissen)
- Crumb-Core-v.1 (Das Herz) - 194.164.194.191
- crumbmissions (Das Spiel)

Wuuuhuuuuu! 🦉
2025-12-26 16:50:52 +01:00

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