ESP Mikrocontroller 8266

ESP | Getting started with Arduino



Ideen: J. Rahm, Friedrich-Ebert-Schule Esslingen, 2021

smaller than a credit card ESP8266

NodeMCU v3 ESP8266 Pinlayout
Abb. 1.1 NodeMCU v3 ESP8266 Pinlayout.

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.

  • 32 Bit
  • Digitale Ein- und Ausgänge (GPIOs)
  • Serielle Schnittstelle
  • I2C, SPI
  • 5 V und 3.3 V Anschluss

Weitere Infos zum ESP unter:

you will need ESP Stückliste



nodeMCU v3.0 ESP8266 und Zubehör: BMP180,  DHT11
Abb. 2 nodeMCU v3.0 ESP8266 und Zubehör: BMP180, DHT11.
  • ESP
  • ESP8266 nodeMCU v3.0
  • ESP32 nodeMCU (alternativ)

  • Add-ons for your ESP
  • DHT11 Temperatur- / Luftfeuchtesensor
  • BMP180 Luftdruck- und Temperatursensor
  • Micro USB 2.0 Flachkabel, A Stecker – Micro B Stecker

Mehr Infos für die IT-Berufsschule:

install Arduino IDE zur Programmierung des ESP



Arduino IDE Einstellungen

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
				

get ready ESP Bibliothek laden



Installiere die entsprechende ESP-Bibliothek und binde anschließend das korrekte Board ein.

Werkzeuge>Board>
Boardverwalter> esp8266
ESP8266 Boards> Generic 8266 Module
Boardverwalter Installation
Einstellung des virtuellen COM-Ports

Verbinde den ESP-Mikrocontroller mit USB-Kabel mit deinem Rechner und wähle den korrekten virtuellen COM-Port.

Werkzeuge>Port> COM...

use your ESP LED-Blinklicht



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 Programmier­sprache 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.

ESP mit leuchtender blauer LED

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.

Arbeitsauftrag 1 my 1st ESP program

ESP LED Programm

Im ersten Schritt wird die Arduino IDE installiert und die notwendigen Konfigurationen vorgenommen.

  1. Lade die Arduino IDE herunter.
  2. Gib die korrekte Boardverwalter URL für den entsprechenden ESP-Mikrocontroller ein.
  3. Installiere die entsprechende ESP-Bibliothek und binde anschließend das korrekte Board ein.
  4. Verbinde den ESP-Mikrocontroller mit USB-Kabel mit deinem Rechner und wähle den korrekten virtuellen COM-Port.

Im zweiten Schritt wird das Programm geschrieben, verifiziert, kompiliert und auf den ESP-Mikrocontroller geladen.

  1. Gib den Code im geöffneten Sketch ein und speicher die Datei unter einem aussagekräftigen Namen.
  2. Verifiziere den Code und übertrage das Programm auf den Mikrocontroller.
  3. Teste die Funktion, ändere die Zeiten und teste es erneut.
  4. Die Pins können auch direkt über deren GPIO Nummer angesprochen werden. Ersetze den Namen LED_BUILTIN durch die entsprechende GPIO-Nummer.
  5. Teste die mitgelieferten Beispielprogramme für den ESP-Controller.

Wichtige Funktionen zum Programmieren des ESP



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