Wemos D1 mini (ESP8266) Einrichtung - esdkrwl/IoT4School GitHub Wiki (2024)

Diese Anleitung beschreibt den Vorgang der Ersteinrichtung des Wemos D1 mini Mikrocontrollers mithilfe von Thonny,
einer integrierten Entwicklungsumgebung für Python.

Voraussetzung dieser Anleitung ist ein für IoT4School vorbereiteter Raspberry Pi.

Um ihren Raspberry Pi für IoT4School vorzubereiten, folgen Sie den Schritten einer der beiden Anleitungen:

Wurde das IoT4School-Abbild verwendet, ist Thonny bereits auf dem Raspberry Pi installiert.
Auch müssen keine USB-Treiber installiert werden, da diese schon im Betriebssystem integriert sind.

Die Anleitung bezieht beschreibt daher die Erstkonfiguration und die Aktualisierung mithilfe des Raspberry Pis.
Für Windows- und Mac-Systeme sollte die Anleitung analog durchzuführen sein, jedoch sind hier folgende, zusätzliche Schritte auszuführen:

  • Installation von Thonny (LINK), falls nicht installiert (Für weitere Informationen zur Installation siehe hier)
  • Installation des USB-Treibers (Windows: Download)
    (Für Mac nur nötig, falls die Betriebssystem Version älter als 10.14 Mojave. Siehe hier.)

Ersteinrichtung

Überschreiben der MicroPython-Firmware

Wenn noch nicht durchgeführt, laden Sie sich den kompletten Inhalt des Repositories als .zip herunter und speichern diesen auf Ihrem PC oder Raspberry Pi:
Wemos D1 mini (ESP8266) Einrichtung - esdkrwl/IoT4School GitHub Wiki (1)
Entpacken Sie das Verzeichnis und kopieren die entpackten Dateien auf den Raspberry Pi oder Ihrem PC.

Starten Sie das Programm, in dem Sie oben links in der Benutzeroberfläche auf das "Himbeer"-Symbol klicken und über den Punkt Programming die Thonny Python IDE auswählen:

Sollte Thonny im "einfachen Modus" starten, wehchseln Sie in den "normalen Modus" über den Button in der rechten, oberen Ecke.
Anschließend muss Thonny neu gestartet werden.

Navigieren Sie zum Reiter View und aktivieren dort Files.

Verbinden Sie Ihren Wemos D1 mini Mikrocontroller per Micro-USB mit dem Raspberry Pi.

Navigieren Sie zum Reiter Run und wählen "Select interpreter..." aus.

Hier stellen Sie als Interpreter MicroPython (ESP8266) ein und als Port wählen Sie USB Serial aus:

Sollte kein USB Serial- Gerät sichtbar sein, prüfen Sie nochmal die Verbindung zu Ihrem Gerät oder benutzen Sie ein anderes Micro-USB-Kabel.

Wählen Sie im Anschluss den Punkt Install or update firmware aus.
Sollte eine Fehlermeldung Can't find esptool erscheinen, folgen Sie den Thonny-Installations-Anweisungen.

Wenn das Tool installiert ist, sollte folgendes Fenster erscheinen:
Wemos D1 mini (ESP8266) Einrichtung - esdkrwl/IoT4School GitHub Wiki (2)
Wählen Sie wieder als Port USB Serial aus und navigieren über den Button Browse... zum heruntergeladenen und entpackten Repository.
Die Firmware-Datei endet auf .bin und befindet sich im Ordner MicroPython Firmware.
Sollten mehrere Firmware-Dateien vorhanden sein, wählen Sie anhand der Namensgebung die neueste Version aus.

Die restlichen Einstellungen können Sie so beibehalten. Mit einem Klick auf den Install-Button wird die MicroPython-Firmware geflasht.
Erscheint die Meldung Done!, schließen Sie die beiden Fenster, um wieder zum Thonny-Hauptfenster zu gelangen.

Übertragen der IoT4School Python-Skripte

In der unteren, linken Ecke des Hauptfenster sollte nun ein "Micropython device" mit der Datei boot.py gelistet sein.
Sollte dies nicht der Fall sein, betätigen Sie noch einmal den roten Button ("Stop/Restart backend").

Nun navigieren Sie im Files-Menü des Computers zum Github-Repository-Ordner esp8266, in dem sich die benötigten Python-Skripte befinden.
Markieren Sie, bis auf den Ordner frozen, alle Dateien (mittels gedrückter SHIFT-Taste) und öffnen Sie über einen Rechtsklick das Kontextmenü.
Hier wählen Sie den Punkt "Upload to /" aus:

Bestätigen Sie noch das Überschreiben der Datei boot.py. Anschließend befinden sich die Dateien unter "Micropython device".

Optional: Anpassen der device_config.json

In der device_config.json des Mikrocontrollers befinden sich alle, für das Gerät, nötigen Informationen, um sich mit einem
WLAN-Netzwerk zu verbinden und eine Verbindung zum MQTT-Server (In unserem Fall zum Raspberry Pi) herzustellen.

Um diese zu öffnen, klicken Sie innerhalb des Files-Menü auf die device_config.json des "Micropython device".
Diese sollte sich daraufhin öffnen:

Achten Sie auf die eckigen Klammern um den Namen der Datei! Sollten diese fehlen, haben sie wohlmöglich die device_config.json auf dem Raspberry Pi geöffnet.
In dieser Datei lassen sich folgende Dinge konfigurieren:

  • name (Geräte-ID, mit dem sich das Gerät am MQTT-Server anmeldet. Außerdem Name des Zugriffspunkts bei fehlgeschlagener WLAN- bzw. MQTT-Verbindung.)
  • ap_mode_password (Passwort, mit dem man sich mit dem Gerät im Zugriffspunkt-Modus verbinden kann.)
  • webrepl_password (Passwort für den kabellosen Zugriff auf den Mikrocontroller, sobald sich dieser am MQTT-Server angemeldet hat)
  • wireless_config (Hier lassen sich die SSID und das Passwort des Netzwerks eintragen, mit dem sich der Mikrocontroller verbinden soll.)
  • mqtt_settings (Angabe des MQTT-Servers sowie des MQTT-Ports. Bei Verwendung des IoT4School-Images muss an dieser Stelle nichts angepasst werden.)

Wichtig: Der Name sollte einmalig vergeben werden, weil dieser ein Identifikator für das Zustellen von MQTT-Nachrichten ist.
Ansonsten kann es dazu kommen, dass zwei Geräte mit selbem Namen die selbe Nachricht erhalten.

Abschluss der Konfiguration

Schließen Sie Thonny und betätigen Sie die Reset-Taste des Mikrocontrollers.
Alternativ können Sie den Mikrocontroller vom Raspberry Pi trennen und eine andere 5V Stromquelle verwenden, an der Sie das Gerät anschließen.

Der Mikrocontroller führt nun die übertragenen Skripte aus und versucht sich mit den, in der device_config.json hinterlegten Zugangsdaten, mit dem Netzwerk zu verbinden.

Ein Indikator für die erfolgreiche Verbindung ist die, auf dem Mikrocontroller integrierte, LED.

Bei Erfolg blinkt diese zunächst und leuchtet nach ein paar Sekunden durchgängig. Das Gerät hat sich erfolgreich mit dem WLAN-Netzwerk und dem MQTT-Server verbunden.
In diesem Fall ist die Einrichtung des Gerätes abgeschlossen.

Bei Misserfolg blinkt die LED, hört aber dann auf zu leuchten. Die Verbindung zum Netzwerk fehlgeschlagen und das Gerät wechselt nun in den Zugriffspunkt-Modus.

Nehmen Sie sich ein beliebiges, WLAN-fähiges Gerät (Zum Beispiel PC, Mobiltelefon, Tablet) und verbinden sich mit dem Zugriffspunkt:

Der Name des Zugriffspunkts entspricht name aus der device_config.json (Standard: wemos9999).
Das Passwort entspricht ap_mode_password aus der device_config.json (Standard: 12345678).

Sobald Sie verbunden sind, öffnen Sie ihren Browser und geben die IP-Adresse 192.168.4.1 in Ihre Adresszeile ein.
(Diese IP-Adresse bekommt jedes Gerät, welches sich in den Zugriffspunkt-Modus schaltet.)

Es erscheint folgendes Fenster:

Bekommen Sie die Meldung, dass die Standard-Geräte-ID wemos9999 erkannt wurde, ändern Sie diesen und Klicken, ohne Eingabe der Zugangsdaten, auf Connect.
Das Gerät sollte die Änderung der Geräte-ID bestätigen und führt einen Neustart durch.
Anschließend wechselt das Gerät erneut in den Zugangspunkt-Modus, allerdings unter dem neu vergebenen Namen als Zugriffspunkt-Namen.
Verbinden Sie sich erneut mit dem Zugangspunkt, geben 192.168.4.1 in die Adresszeile Ihres Browsers ein und konfigurieren nun das Gerät nach Ihren Wünschen.
Wählen Sie das Netzwerk aus, mit dem auch der Raspberry Pi verbunden ist und hinterlegen diesen als MQTT-Server.
Dies kann sowohl über die IP-Adresse als auch über den Hostnamen des Raspberry Pis erfolgen.

Nach der Eingabe der Daten klicken Sie auf Connect.
Sollte die Verbindung erfolgreich sein, erhalten Sie darüber eine Meldung im Browser:

Die LED auf dem Mikrocontroller sollte nun auch durchgängig angeschaltet sein.

Bei Misserfolg werden Sie ebenfalls informiert und das Gerät zeigt Ihnen an, ob das Problem an der Verbindung zum WLAN-Netzwerk oder zum MQTT-Server lag.
Prüfen Sie in dem Fall, ob Sie alle Daten richtig eingegeben haben.
Stellen Sie sicher, dass der Raspberry Pi eingeschaltet ist und sich im selben Netzwerk befindet.

Zum Abschluss können Sie nun noch einmal über die Datenbank der IoT4School-Website prüfen, ob das Gerät als "Verbunden" gelistet ist.
Hier können Sie noch einmal nachlesen, wie Sie auf die IoT4School-Webseite zugreifen: Zugriff IoT4School Webseite.

Wechseln Sie zum Reiter Datenbank und prüfen Sie, ob das eben konfigurierte Gerät in der Liste auftaucht:
Wemos D1 mini (ESP8266) Einrichtung - esdkrwl/IoT4School GitHub Wiki (3)

Sollte das Gerät verbunden sein, kann man dieses über den Button Blink! kurz zum Blinken bringen.
Dies kann der Identifikation der Geräte dienen, insbesondere, wenn versehentlich zwei Geräte mit der selben Geräte-ID konfiguriert wurden.

Tipp: Um die Geräte auch voneinander unterscheiden zu können, wenn diese nicht in Betrieb sind, empfiehlt es sich die Geräte-ID auf dem Mikrocontroller anzubringen:

Hiermit kann auch einer doppelten Vergabe der Geräte-ID entgegengewirkt werden.

Da Sie erfolgreich Ihren ersten Mikrocontroller in die IoT4School-Umgebung integriert haben, können Sie nun mit dem blockbasierten Programmieren von IoT-Projekten beginnen: Einführung in das blockbasierte Programmieren mit BIPES und Node-RED

Aktualisierung

Die Aktualisierung des Gerätes geschieht analog zur Ersteinrichtung.
Laden Sie sich die aktuellste Version des Repositories herunter und führen folgende Schritte aus:

Nicht bei jedem Update der Python-Skripte ist auch ein Update der Firmware erforderlich.
Ein Update der Firmware ist nur erforderlich, wenn neue Module entwickelt wurden, dessen Bibliotheken in die MicroPython-Firmware integriert wurden.
Die Module können Sie in diesem Fall erst nutzen, sobald sie ein Update auf eine neue Firmware-Version durchgeführt haben.

Wemos D1 mini (ESP8266) Einrichtung - esdkrwl/IoT4School GitHub Wiki (2024)

References

Top Articles
Latest Posts
Article information

Author: Terence Hammes MD

Last Updated:

Views: 6703

Rating: 4.9 / 5 (49 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Terence Hammes MD

Birthday: 1992-04-11

Address: Suite 408 9446 Mercy Mews, West Roxie, CT 04904

Phone: +50312511349175

Job: Product Consulting Liaison

Hobby: Jogging, Motor sports, Nordic skating, Jigsaw puzzles, Bird watching, Nordic skating, Sculpting

Introduction: My name is Terence Hammes MD, I am a inexpensive, energetic, jolly, faithful, cheerful, proud, rich person who loves writing and wants to share my knowledge and understanding with you.