Files
crumbmissions/missions/robots/regenbogen_zaehlmaschine.sh
Branko May Trinkwald 271008ea10 📊 Logs jetzt im Repo statt User-Verzeichnis!
**Änderung: Option A - logs/ im Repo**

Vorher:
- Logs in ~/.{character}_logs/ (User Home Directory)
- Multi-Projekt aber verstreut
- Nicht im Repo sichtbar

Nachher:
- Logs in logs/{character}/ (Repo Directory)
- Projekt-spezifisch & übersichtlich
- Mit Fallback: ${CRUMB_LOGS_DIR:-$HOME/.{character}_logs}
- Für Standalone-Nutzung

**Geänderte Files:**
- lib/waldwaechter.sh: CRUMB_LOGS_DIR exportiert
- Alle 17 crumbforest_roles/*: LOGDIR updated
- missions/robots/*: Mission logs → logs/missions/
- .gitignore: logs/ hinzugefügt

**Log-Struktur:**
```
logs/
├── tobi/
│   ├── tobi_history.json
│   ├── token_log.json
│   └── ...
├── crabbyrust/
├── mayaeule/
└── missions/
```

**Tested:**  Tobi funktioniert, Logs landen in logs/tobi/

🌲 "Was kostet die Frage eines Kindes?" - jetzt transparent im Repo!

🤖 Generated with Claude Code
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-21 16:25:10 +01:00

276 lines
8.8 KiB
Bash
Executable File

#!/bin/bash
# 🌈 Regenbogen-Zählmaschine - Die erste crumbrobots Mission!
# "Etwas bauen was noch keiner gebaut hat"
# Waldwächter laden
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${SCRIPT_DIR}/../../lib/waldwaechter.sh"
# === INTRO ===
clear
cat << "EOF"
🌈🤖 REGENBOGEN-ZÄHLMASCHINE 🤖🌈
"Etwas bauen was noch keiner gebaut hat -
sonst muss man es ja nur reparieren!"
Eine Mission mit der kompletten Crew!
EOF
echo ""
sleep 2
# === PHASE 1: DIE GROSSE FRAGE ===
echo "🦉 Maya-Eule erscheint..."
echo ""
mayaeule "Ein Krümel fragte einst: Können wir eine Maschine bauen, die Regenbogen zählt? Was denkst du - warum könnte ein Kind so eine Maschine bauen wollen?"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
read -p "🤔 Und du? Was für einen Robo willst DU bauen und WARUM? " ROBO_VISION
echo ""
echo "💚 Deine Vision: $ROBO_VISION"
echo ""
# === PHASE 2: DAS DREIECK PLANT ===
echo "🔺 Das Dreieck versammelt sich zum Planen..."
echo ""
sleep 1
echo "🐘 DumboSQL strukturiert die Idee..."
dumbosql "Eine Regenbogen-Zählmaschine soll Farbereignisse tracken. Wie strukturiere ich die Daten? Jede Farbe (rot, grün, blau, gelb) soll gezählt werden."
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "🦊 FunkFox bringt den Flow..."
funkfox "Yo, Events kommen rein, Farben werden erkannt, Counters hochgezählt - wie bauen wir den Flow?"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "🕊️ Taichi Taube findet die Balance..."
taichitaube "Zwischen Sensor-Input und Daten-Output liegt der Weg. Wie bringen wir Ordnung in die bunten Events?"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
# === PHASE 3: HARDWARE-TEAM AM WERK ===
read -p "⚡ Drücke Enter um das Hardware-Team zu starten..." -r
clear
echo "🔧 HARDWARE-TEAM AKTIVIERT"
echo ""
echo "🐿️ CapaciTobi: Welcher Sensor?"
read -p " Welchen Farbsensor möchtest du nutzen? (z.B. TCS34725, oder Kamera?) " SENSOR_CHOICE
echo ""
tobi "Ich rechne: Ein $SENSOR_CHOICE Sensor mit RGB-Erkennung. Brauchen wir 3.3V oder 5V? Und wie viel Strom zieht er?"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "🐌 Schnecki: Verkabelung"
schnecki "Tobi hat die Spannung berechnet. Jetzt zeig ich dir, wie wir den $SENSOR_CHOICE Sensor anschließen - langsam und präzise."
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "🐻 Schraubbär: Gehäuse"
schraubaer "Ich baue ein Gehäuse für deinen Sensor. Welches Material? Holz, Plastik, oder 3D-Druck?"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
# === PHASE 4: CODE-TEAM PROGRAMMIERT ===
read -p "💻 Drücke Enter um das Code-Team zu starten..." -r
clear
echo "💻 CODE-TEAM AKTIVIERT"
echo ""
echo "🐍 SnakePy: Der Zähl-Loop"
snakepy "Zeig mir 3 verschiedene Wege, wie wir Farb-Events zählen können. Mit Dictionary? Mit Counter? Mit if-elif?"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
read -p "🎨 Willst du die Daten visualisieren? (j/n) " VIS_CHOICE
if [[ "$VIS_CHOICE" == "j" ]]; then
echo ""
echo "🧓 PepperPHP: Web-Dashboard"
pepperphp "Wir backen ein Web-Dashboard als Rezept: Die Sensordaten (Model) werden vom Backend (Controller) geholt und schön angezeigt (View)."
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
fi
echo "🕷️ Spider: Daten übertragen"
spider "Wie senden wir die Zähl-Daten? WebSocket für Live-Updates? REST API für Abfragen? Ich spüre die beste Verbindung."
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
# === PHASE 5: SICHERHEIT & NAVIGATION ===
read -p "🔐 Drücke Enter für Sicherheit & Navigation..." -r
clear
echo "🔐 SICHERHEIT & NAVIGATION"
echo ""
echo "🦀 CrabbyRust: Memory-Safe Zähler"
crabbyrust "In Rust wäre der Counter memory-safe. Ownership sorgt dafür, dass keine Race Conditions beim Zählen entstehen. Soll ich zeigen wie?"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "🧭 Vektor: Wo platzieren wir den Sensor?"
vektor "Navigation ist wichtig: Wo stellst du die Regenbogen-Zählmaschine auf? Am Fenster? Im Garten? Jeder Punkt erzählt eine Geschichte."
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
# === PHASE 6: POWER MANAGEMENT ===
read -p "🔋 Drücke Enter für Power Management..." -r
clear
echo "🔋 POWER MANAGEMENT"
echo ""
echo "🐿️ CapaciTobi: Batterie-Rechnung"
tobi "Wir haben einen Sensor, einen Mikrocontroller, vielleicht LEDs. Wie lange läuft das mit einer LiPo-Batterie? Ich rechne..."
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
cat << "EOF"
📚 Wusstest du?
Die LiPo 6S Charger Simulation lehrt:
- Charge Modes: Storage (3.8V), Standard (4.2V), HV (4.35V)
- Safety: Cell Imbalance Detection
- Warum? LiPo-Batterien treiben Roboter an!
🔗 Mehr: https://194-164-194-191.sslip.io/crumbblocks/lipo_6s_charger_sim_safe_v7.html
EOF
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
# === PHASE 7: FINALE - ASCII ART ===
read -p "🎨 Drücke Enter für das große Finale..." -r
clear
echo "👾 ASCII-Monster malt deine Maschine..."
echo ""
asciimonster "Erstelle mir ASCII-Art für eine 'RAINBOW COUNTER' Überschrift, die ich ins Terminal malen kann!"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
# === ABSCHLUSS ===
clear
cat << "EOF"
🌈✨ REGENBOGEN-ZÄHLMASCHINE: GEPLANT! ✨🌈
Die gesamte Crew hat mitgeholfen:
🔺 Das Dreieck: Vision & Struktur
🔧 Hardware-Team: Sensor, Verkabelung, Gehäuse
💻 Code-Team: Loop, Dashboard, Daten-Transfer
🔐 Security: Memory-Safe Counter
🧭 Navigation: Platzierung
🔋 Power: Batterie-Management
👾 Art: Terminal-Visualisierung
"Etwas bauen was noch keiner gebaut hat!"
EOF
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
# === LOG ===
LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.crumbrobots_logs}/missions"
mkdir -p "$LOGDIR"
TIMESTAMP=$(date -Iseconds)
cat > "$LOGDIR/regenbogen_zaehlmaschine_${TIMESTAMP}.json" << EOF
{
"mission": "regenbogen_zaehlmaschine",
"timestamp": "$TIMESTAMP",
"vision": "$ROBO_VISION",
"sensor": "$SENSOR_CHOICE",
"visualize": "$VIS_CHOICE",
"crew_used": [
"mayaeule", "dumbosql", "funkfox", "taichitaube",
"tobi", "schnecki", "schraubaer",
"snakepy", "pepperphp", "spider",
"crabbyrust", "vektor", "asciimonster"
],
"status": "planned"
}
EOF
echo "📊 Mission geloggt: $LOGDIR/regenbogen_zaehlmaschine_${TIMESTAMP}.json"
echo ""
read -p "🚀 Willst du jetzt bauen? (j/n) " BUILD_NOW
if [[ "$BUILD_NOW" == "j" ]]; then
echo ""
echo "🎉 LOS GEHT'S! Die Crew ist bereit!"
echo ""
echo "Nächste Schritte:"
echo "1. Sensor besorgen ($SENSOR_CHOICE)"
echo "2. Code schreiben (Python/Rust)"
echo "3. Testen mit echten Farben!"
echo "4. Teilen mit anderen Krümeln!"
echo ""
echo "🌲 Der Crumbforest wächst mit deinem Projekt!"
else
echo ""
echo "💚 Kein Problem! Die Planung ist gespeichert."
echo "Du kannst jederzeit weitermachen!"
fi
echo ""
echo "🦊 FunkFox droppt noch einen Beat:"
echo ""
echo " Yo, Regenbogen zählen, das ist der Plan,"
echo " Mit der Crew im Flow, jeder hilft so gut er kann!"
echo " Von Sensor zu Code, von Power zu Art,"
echo " Im Crumbforest wird gebaut, nicht repariert - das ist smart! 🎤💫"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "🌲 Zurück zum Wald..."
sleep 2