Der ESP8266 ist ein 32-Bit-Mikrocontroller der Firma Espressif Systems inklusive einem Wifimodul. Durch die Ansteuerung von Sensoren und Aktoren können in Verbindung mit dem Wifi Daten über das Netzwerk versendet werden und so ein cyberphysisches System mit dem Raspberry Pi entworfen werden. In diesem Zusammenhang spricht man auch vom "IOT - internet of things".
Das WEMOS-Entwicklerboard hat 16 Pins. Verschiedene Sensoren lassen sich einfach aufstecken und über eine Base-Platine sind diese auch nebeneinander steckbar. Abb. 1.2 zeigt das Pinlayout des WEMOS D1 mini Boards.
Weitere Infos zum ESP unter:
Weitere Infos zu WEMOS-Modulen:
Lade die Thonny IDE herunter:
Starte die Software und schließe per USB den ESP8266 an Deinen Rechner an. Wähle unter Thonny>Settings im Reiter Interpreter> folgende Daten aus:
Interpreter | MicroPython (ESP8266) |
Port or WebREPL | USB Serial ... |
Zum Aktualisieren oder Installieren des MicroPython-Interpreters auf dem ESP8266 klicke in dem geöffneten Fenster auf MicroPython installieren oder aktualisieren.
Target Port | USB Serial ... |
MicroPython family | ESP8266 |
vaiant | Espressif • ESP8266 |
version | aktuelle Version wählen ... |
Bei Problemen mit dem USB-Serial-Treiber: Sollte der Gerätetreiber für den USB-Serial-Port nicht installiert sein, kommt im Gerätemanager unter "Andere Geräte" bei "USB-Serial" ein gelbes Warndreieck. Mit Rechtsklick auf das Gerät kann man unter Details beim Eigenschaften-Dropdown die Hardware-ID herausfinden. So kann man im Internet auf der Herstellerseite den richtigen Treiber finden.
Bei Problemen mit Thonny: Sollte es nach dem Flashen zum Absturz von Thonny kommen, versuche es mit der Software Mu Editor. Die Software hat unter den Einstellungen einen Reiter ESP firmware flasher. Die aktuelle Firmware kann man unter micropython.org herunterladen.
Die blaue LED am ESP-Modul soll blinken. Sie ist am Pin O2 (dies ist auch der TX Pin) angeschlossen.
In der Thonny IDE wird mit der Programmiersprache Python programmiert. Die Programme sind in zwei Bereiche aufgeteilt. Der erste Bereich ist der Setup-Bereich. Hier werden Bibliotheken importiert, stehen Initialisierungen und einmalige Aufrufe. Der zweite Bereich ist die Schleife while True:
. Hier stehen Aufrufe, welche ständig wiederholt werden. Dieser zyklische Wiederholungsvorgang ist auch typisch für eine Speicherprogrammierbare Steuerung die in großen Industrieanalgen eingesetzt wird.
from machine import Pin #Bibliothek zur Ansteuerung der Pins
import time #Bibliothek für Zeitfunktionen
led = Pin(2, Pin.OUT) #Der Pin 2 wird als digitaler Ausgang gesetzt
while True:
led(1) #LED einschalten
time.sleep(0.5) #0,5 s warten
led(0) #LED ausschalten
time.sleep(0.5) #0,5 s warten
Nach dem Import der beiden Bibliotheken wird ein Objekt angelegt: led = Pin(2, Pin.OUT)
. Dabei wird der der ausgewählte Pin 2 als digitalen Ausgang festgelegt.
Mit dem Aufruf led(1)
schaltet man die LED ein, mit led(0)
schaltet man sie aus.
Mit dem Funktionsaufruf time.sleep(0.5)
erzeugt man eine Zeitverzögerung. Der Wert 0.5 steht hierbei für 0,5 s. So kann man die Blinkfrequenz verändern.
Im ersten Schritt wird die Thonny IDE installiert und die notwendigen Konfigurationen vorgenommen.
Im zweiten Schritt wird das Programm geschrieben, verifiziert und auf den ESP-Mikrocontroller ausgeführt.
print("Hello World")
lassen sich Textausgaben anzeigen. Lass Kommentare zu Deinem Programm ausgeben.Der Taster ist an Pin 0 angeschlossen.
from machine import Pin #Bibliothek zur Ansteuerung der Pins
import time #Bibliothek für Zeitfunktionen
led = Pin(2, Pin.OUT) #Der Pin 2 wird als digitaler Ausgang gesetzt
taster = Pin(0, Pin.IN) #Der Pin 0 wird als digitaler Eingang gesetzt
while True:
if Taster.value(): #Zugriff auf Taster
...
print("LED an")
. import ... |
Einbinden von Bibliotheken |
led = Pin(2, Pin.OUT) |
Objekterzeugung: Pin 2 ist ein digitaler Ausgang |
while True: |
zyklische Programmwiederholung |
led(1) |
LED wird mit Spannung versorgt |
time.sleep(2) |
Zeitverzögerung von 2 s erzeugen |