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 der Abbildung 1.1 wird das Pinlayout des ESP8266 von NodeMCU gezeigt.
Weitere Infos zum ESP unter:
Mehr Infos für die IT-Berufsschule:
Lade die Arduino IDE herunter:
Öffne die Software und gib unter Arduino>Preferences folgende Boardverwalter URLs für den ESP32 und ESP8266 ein:
https://dl.espressif.com/dl/package_esp32_index.json
https://arduino.esp8266.com/stable/package_esp8266com_index.json
Installiere die entsprechende ESP-Bibliothek und binde anschließend das korrekte Board ein.
Boardverwalter> | esp8266 |
ESP8266 Boards> | Generic 8266 Module |
Verbinde den ESP-Mikrocontroller mit USB-Kabel mit deinem Rechner und wähle den korrekten virtuellen COM-Port.
Werkzeuge>Port> | COM... |
Die blaue LED am ESP-Modul soll blinken. Sie ist am GPIO2 Pin (dies ist auch der TX Pin) angeschlossen. Beachte dass dieser Pin über LED_BUILTIN angesprochen wird.
In der Arduino IDE wird mit der Programmiersprache C programmiert. Die Programme sind in zwei Bereiche aufgeteilt. Der erste Bereich ist die Funktion setup(){...}
. Hier stehen Initialisierungen und einmalige Aufrufe. Der zweite Bereich ist die Funktion loop(){...}
. Hier stehen Aufrufe, welche ständig wiederholt werden. Dadurch erhält der Anwender eine bessere Übersicht über den Programmablauf.
void setup() {
pinMode(LED_BUILTIN, OUTPUT); // Initialisiere den LED_BUILTIN Pin als Ausgang
}
void loop() {
digitalWrite(LED_BUILTIN, LOW); // LED ein (die LED ist low active)
delay(1000); // 1 s Zeitverzögerung
digitalWrite(LED_BUILTIN, HIGH); // LED aus
delay(500); // 0,5 s Zeitverzögerung
}
Das Programm beinhaltet drei weitere Funktionen. Die Funktion pinMode(LED_BUILTIN, OUTPUT);
legt den ausgewählten Pin (hier LED-BUILTIN als digitalen Ausgang fest.
Mit der Funktion digitalWrite(LED_BUILTIN, LOW);
kann man den Pin auf 0 V (LOW
) oder 5 V (HIGH
) setzen.
Mit der Funktion delay(1000);
erzeugt man eine Zeitverzögerung. Der Wert 1000 steht hierbei für 1000 ms oder 1 s. So kann man die Blinkfrequenz verändern.
Im ersten Schritt wird die Arduino IDE installiert und die notwendigen Konfigurationen vorgenommen.
Im zweiten Schritt wird das Programm geschrieben, verifiziert, kompiliert und auf den ESP-Mikrocontroller geladen.
LED_BUILTIN
durch die entsprechende GPIO-Nummer.setup(){...} |
für Initialisierungen und einmalige Aufrufe |
loop(){...} |
für ständig wiederholende Aufrufe |
pinMode(LED_BUILTIN, OUTPUT); |
initialisieren eines Pins als Aus- oder Eingang |
digitalWrite(LED_BUILTIN, LOW); |
setzen eines digitalen Pins |
delay(1000); |
Zeitverzögerung erzeugen |