#!/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