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

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“

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

Danach musst du einmal auf das
STOP-Schild in der Symbolleiste
klicken, damit Thonny sich mit dem
ESP verbindet.

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:
- Speichere den aktuellen Zustand der LEDs
- Ermittle den Endzeitpunkt für die LEDs
- Wiederhole die Animation bis zum Endzeitpunkt
- Stelle den vorherigen Zustand wieder her
In der while-Schleife findet die eigentliche Animation statt.
Auch hier ist der prinzipielle Ablauf immer derselbe.
- Setze die Farbwerte der LEDs.
- Zeige die Farben an
- Warte einen Moment
Um die Farbwerte der LEDs zu ändern wird die Funktion set_color(led_id, red, green, blue) verwendet.
- Der erste Parameter gibt die ID der LED an. Um die ID einer LED zu ermitteln, zähle vom ESP ausgehend die LEDs. Beginne dabei bei 0 zu zählen.
- Der zweite Parameter gibt den Rot-Wert an.
- Der dritte Parameter gibt den Grün-Wert an.
- Der vierte Parameter gibt den Blau-Wert an.
Die Farbwerte können zwischen 0 und 255 liegen.
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,
},
- In Zeile 1 wird ein Schlüssel vergeben. Die Bedeutung ist an dieser Stelle erstmals nicht relevant. Er muss aber in jedem Fall einmalig sein.
- In Zeile 2 wird ein Name vergeben. Dieser Text wird hinterher auf dem Knopf auf der Webseite erscheinen.
- In Zeile 3 muss der Name deiner Funktion angegeben und ein wled vorangestellt werden
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
- Prüfe erstmals, ob die Daten für dein W-LAN korrekt sind.
- Der ESP kann manchmal Probleme haben sich mit dem W-LAN zu verbinden. Probiere es daher mehrmals, ob es funktioniert.
- Prüfe ob das W-LAN an deinem aktuellen Standort stark genug ist. Für den ESP ist ausreichende Stärke notwendig
- 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.