SnakeCam Legacy Debug Log – Fehlerprotokoll & Lessons Learned 🐍
Dieses Dokument fasst chronologisch die Hauptfehler und Verwirrungen zusammen, die im Verlauf der SnakeCam v4 Entwicklung aufgetreten sind – inklusive Ursachen, Zeitpunkte und Lösungen. Ziel ist es, einen kindgerechten, reproduzierbaren Pfad zu erhalten – ohne Frust.
🪓 Fehler 1: gestures_v4 wurde nicht als Modul erkannt
Wann: 15.06.2025 – ca. 01:00 Uhr
Fehler:
ModuleNotFoundError: No module named 'gestures.gestures_v4'
Ursache: gestures_v4 wurde als Datei ohne .py-Endung erstellt. Python erwartet .py zum Import.
Lösung:
mv gestures_v4 gestures_v4.py
🎨 Fehler 2: Unicode/Emoji Problem beim Start
Wann: 15.06.2025 – ca. 01:20 Uhr
Fehler:
SyntaxError: Non-UTF-8 code starting with '\xe2'...
Ursache: Python-Datei enthielt ein Emoji (🐍), aber keine UTF-8-Deklaration.
Lösung: Ganz oben einfügen:
# -*- coding: utf-8 -*-
🪞 Fehler 3: Kamera-Ausgabe war gespiegelt, trotz CSS-Korrektur
Wann: mehrfach
Ursache:
- Sowohl im Python-Code (
cv2.flip(frame, 1)) als auch instyles.csswar gespiegelt → Doppelt = wieder normal. - Dann wurde nur eins von beiden deaktiviert, was zu dauerhafter Spiegelung führte.
Lösung:
# frame = cv2.flip(frame, 1) # deaktivieren, wenn CSS schon spiegelt
Oder im CSS:
.mirrored {
transform: none;
}
Empfehlung: Nur eine Spiegelung aktiv.
🧠 Fehler 4: Geste erkannt – aber nichts passiert
Wann: gegen 02:00 Uhr
Ursache: Geste wurde erkannt, aber die Funktion detect_hand_gesture() hatte fehlerhafte Grenzwerte oder zu grobe Bedingungen für z. B. Faust.
Beispiel:
if defects == 0:
gesture = "fist"
Aber diese Bedingung wurde nie erreicht.
Lösung: Grenzwerte nachjustieren, Debug-Werte ausgeben (defects, area, ratio), clean v4 Version verwenden.
📦 Fehler 5: Eingabefeld antwort wurde nie gespeichert
Wann: 15.06.2025 – ca. 02:50 Uhr
Fehler:
{"antwort": ""}
Ursache:
answer = request.form.get("answer", "") # FALSCH
Aber im HTML:
<input type="text" name="antwort">
Lösung:
answer = request.form.get("antwort", "").strip()
🧩 Lesson Learned
- 🔁 Kleine Namensabweichungen (answer vs. antwort) können große Wirkung haben.
- 🔍 Spiegelung und Bildausrichtung muss einheitlich erfolgen – entweder CSS oder OpenCV.
- 🐛 Fehler bewusst dokumentieren – als Teil des Lernprozesses, nicht als Mangel.
- 🧠 Kinder und Einsteiger brauchen Erfolgserlebnisse schnell – nicht 7h Debugging für einen „Wave“.
✅ Empfehlung
snake_log.jsonlregelmäßig prüfen (Einträge mit Inhalt?)- debug-Ausgaben im Terminal: hilfreich, aber kindgerecht beschriftet
- Sobald ein Geste erkannt wird: 🥳 Reaktion auf dem UI sichtbar machen
Stand: 15. Juni 2025, 03:00 Uhr
Commander: 🐍 SnakeCam Debug Taskforce
Modulstatus: 🟢 gestures_debug_test.py läuft stabil mit Handerkennung, Logging funktioniert – Faust wird nachjustiert.
📝 „Ein echter Fehler ist nur der, aus dem wir nicht lernen.“