Teckids-Wiki

Bunt und flauschig

Um deinen Kalle für dein zu Hause einzurichten oder Änderungen vorzunhmen, musst du zunächst Thonny installieren.
→ Thonny installieren

Mit Mikrocontroller verbinden

screenshot_(61).png
Nach dem Starten musst du erst den
ESP anschließen und dann als
„Interpreter“ auswählen.
Klicke dazu im Menü „Ausführen“ auf
„Konfiguriere den Interpreter“
screenshot_(64).png
Wähle dann im oberen Auswahlfeld
„MicroPython (generic)“ aus.
Im unteren Feld lässt du „Versuche,
den Port automatisch zu erkennen“
ausgewählt.
Klicke auf OK
screenshot_(67).png
Danach musst du einmal auf das
STOP-Schild in der Symbolleiste
klicken, damit Thonny sich mit dem
ESP verbindet.
screenshot_(71).png
Zuletzt kannst du im Menü „Ansicht“
„Dateien“ aktivieren. Dann siehst du
am linken Rand die Dateien auf
deinem Computer und auf dem ESP
und kannst sie wie im Workshop
öffnen und bearbeiten.

Nun hast du dich mit dem Microcontroller verbunden!

Konfiguration von Kalle

Um deinen Kalle verwenden zu können, muss er zunächst konfiguriert werden.

Öffne dazu die config.py.

name = "Dein Name"```

Hier kannst du deinem Kalle einen Namen geben.

wifi_ssid = ""
wifi_pw = ""

Setze dort die Zugangsdaten zu deinem W-LAN.

mqtt_topic = "topic"
mqtt_client_id = "bunt"

An dieser Stelle setzt du das MQTT-Topic. Das benötigst du um deinen Kalle später ansteuern zu können. Anhand des Topics erkennt dein Kalle, auf welche Befehle er reagieren soll.

Des weiteren muss du an dieser Stelle musst du auch noch eine client_id vergeben. Das kann eine beliebige Folge aus Kleinbuchstaben sein. Diese ist nur für den MQTT-Server notwendig, um deinen Kalle wieder zu erkennnen. Da die client_id einmalig sein muss, solltest du sie in jedem Fall ändern.

led_count = 8

Wenn dein Kalle aus 8 LEDs besteht, musst du hier nichts ändern. Wenn dein Kalle eine an der Anzahl an LEDs hat, dann passe diesen Wert entsprechend an.

Kalle benutzen

Wenn die Konfiguration abgeschlossen hast, starte den ESP neu. Wenn du den ESP noch an deinem Computer angeschlossen hast, kannst du das in Thonny über den grünen Pfeil machen. Alternativ kannst du einfach einen Spannungsquelle anschließen bzw. einschalten.

Nun sollte die erste LED blau leuchten. Nach einiger Zeit sollte die LED zu grün wechseln. Wenn dies nicht der Fall ist, dann schaue unter dem Punkt Fehlerbehebung nach.

Wenn die erste LED grün leuchtet, dann gehe auf kalle.lol und gebe dort das mqtt_topic an.

Du solltest nun deinen Kalle mit der Webseite steuern können.

Neue Animationen hinzufügen

Du kannst für dein Kalle natürlich auch eigene Animationen schreiben. Dafür musst du in der Datei wled.py eine neue Funktionen definieren.
Hier ist eine Vorlage für eine solche Funktion.

def animation(time_in_seconds: int = 10):
    # Save colors
    _save_state()

    # Define Endtime of Animation
    time_in_seconds = time_in_seconds
    end_time = time.time() + time_in_seconds

    # Animation
    while (time.time() < end_time):
        # Set new LED colors

        set_color(1, 0, 0, 255)

        # Show new LED colors
        leds.write()

        # Time to show actual set of led colors
        time.sleep(0.3)

    # Recover old colors
    _recover_state()

Der Ablauf ist für eine solche Animation ist prinzipiell immer derselbe:

  1. Speichere den aktuellen Zustand der LEDs
  2. Ermittle den Endzeitpunkt für die LEDs
  3. Wiederhole die Animation bis zum Endzeitpunkt
  4. Stelle den vorherigen Zustand wieder her

In der while-Schleife findet die eigentliche Animation statt.

Auch hier ist der prinzipielle Ablauf immer derselbe.

  1. Setze die Farbwerte der LEDs.
  2. Zeige die Farben an
  3. Warte einen Moment

Um die Farbwerte der LEDs zu ändern wird die Funktion set_color(led_id, red, green, blue) verwendet.

Mit der Funktion leds.write() werden die neuen Farben angezeigt.

Mit der Funktion leds.sleep(time_in_seconds) wird angegeben, wie lange das aktuelle 'Bild' angezeigt werden soll.

Damit die die Funktion auch über die Webseite starten kannst, muss sie auch noch die config.py angepasst werden.

Am Ende der Konfigurationsdatei werden alle Animationen aufgeführt, die Kalle anzeigen kann.
Am Ende der Konfigurationsdatei ist Code zu sehen, der ungefähr wie folgt aussieht.

functions = {
    "party" : {
        "name": "Party!",
        "function": wled.party,
    },
    "rainbow": {
        "name": "Rainbow!",
        "function": wled.rainbow,
    },
    "police": {
        "name": "Police!",
        "function": wled.police,
    },
} 

Für jede Animation gibt es die folgende Struktur

    "police": {
        "name": "Police!",
        "function": wled.police,
    },

Fehlerbehandlung

Keine Verbindung um Mikrocontroller

Prüfe, ob dein Benutzer in der Gruppe dialout ist. Öffne dazu ein Terminal und gebe den folgenden Befehl ein.

groups

Wird dort die Gruppe dialout nicht aufgeführt, dann musst dein User mit folgendem Befehl der Gruppe hinzufügen (bei username deinen Benutzernamen einsetzen):

sudo gpasswd -a username dialout

Die Status-LED bleibt blau

  1. Prüfe erstmals, ob die Daten für dein W-LAN korrekt sind.
  2. Der ESP kann manchmal Probleme haben sich mit dem W-LAN zu verbinden. Probiere es daher mehrmals, ob es funktioniert.
  3. Prüfe ob das W-LAN an deinem aktuellen Standort stark genug ist. Für den ESP ist ausreichende Stärke notwendig
  4. Prüfe, ob das W-LAN mit 2.4 GHz funkt. Manchmal kann es auch zu Problemen kommen, wenn das W-LAN sowohl mit 2.4 GHz als auch mit 5 GHz funkt. Suche dir dann ein W-LAN, das ausschließlich das 2.4 GHz nutzt.