ESP8266 D1 Mini programmieren - der Start und die Einrichtung
Pascal
Inhaltsverzeichnis [Verbergen]
Der ESP8266 D1-Mini
Der ESP8266 ist ein beliebtes Board, wenn es darum geht, eigene Projekte einfach smart umzusetzen. Das Prinzip ist kein neues und viele werden es schon vom Raspberry Pi kennen.
Wir haben am ESP8266 D1-Mini einige digitale I/O Pins, einen analogen Pin, eine SPI-Schnittstelle und eine I2C-Schnittstelle. Das alles bietet uns die Möglichkeit, so ziemlich alle gängigen Module, die man vom Arduino & Raspberry kennt, auch mit einem ESP8266 D1-Mini zu betreiben.
Die integrierte serielle Schnittstelle ermöglicht es uns, den D1 Mini direkt per microUSB-Kabel mit dem PC zu verbinden und zu programmieren.
Was brauche ich?
Im Prinzip brauchst du genau drei Dinge, um einen ESP8266 D1-Mini programmieren zu können.
- einen Computer mit einer USB-Schnittstelle
- ein microUSB-Kabel
- einen ESP8266 D1-Mini
Der Treiber
Du kannst versuchen, deinen ESP8266 D1-Mini mit dem PC zu verbinden. Die Chance, dass dein Computer das Board nicht erkennt ist relativ hoch. Die Lösung dafür ist ein Treiber für den auf den D1-Mini gelöteten USB to serial Chip - CH340G.
Github: CH340G Treiber für Windows, Mac und Linux
Wenn der Treiber installiert ist, sollte euer PC das Board erkennen.
Die Entwicklungsumgebung
Als Entwicklungsumgebung verwenden wir die Arduino IDE.
Die IDE unterstützt neben dem Arduino auch andere Platinen wie das NodeMCU, oder eben den ESP8266 D1-Mini.
Die IDE müsst ihr downloaden und installieren.
Arduino: Download-Seite der Arduino IDE
Das ESP8266-Paket zur Entwicklungsumgebung hinzufügen
Standardmäßig wird der ESP8266 nicht in der Liste der Boards angezeigt.
Um das zu ändern, muss das Paket vom ESP8266 manuell installiert werden.
Dafür gibt es zwei Möglichkeiten.
Möglichkeit 1 - Über den Boardverwalter
Die erste Möglichkeit ist die Einbindung des Pakets durch den Boardverwalter.
Dazu gehen wir zu Werkzeuge -> Board -> Boardverwalter.
Im Boardverwalter suchen wir dann nach ESP8266.
Es sollte der Eintrag esp8266 by ESP8266 Community gefunden werden.
Dieses Paket können wir über den Button Installieren zu unserer IDE hinzufügen.
Falls das Paket nicht auftauchen sollte, müssen wir die zweite Möglichkeit nutzen.
Möglichkeit 2 - Über die Boardverwalter URLs
Wir öffnen die Einstellungen und sehen unten ein Textfeld mit dem Namen Zusätzliche Boardverwalter-URLs.
In dieses Textfeld kopieren wir den folgenden offiziellen Link des esp8266 by ESP8266 Community-Pakets.
http://arduino.esp8266.com/stable/package_esp8266com_index.json
http://arduino.esp8266.com/sta…age_esp8266com_index.json
Das ESP8266 Board auswählen
Wir haben das Paket der ESP8266-Boards jetzt in unserer IDE eingebunden und können somit aus einer langen Liste unseren D1-Mini auswählen. Dazu geht ihr auf Werkzeuge -> Board -> LOLIN(WEMOS) D1 R2 & mini.
Einstellungen für den ESP8266 D1-Mini
Unterschiedliche Boards benötigen unterschiedliche Einstellungen.
Die Standardparameter für einen ESP8266 D1-Mini sehen dabei aber immer so aus:
Upload Speed: 921600
CPU Frequency: 80 MHz
Flash Size: 4M (no SPIFFS)
Debug port: Disabled
Debug Level: Keine
IwIP Variant: v2 Lower Memory
VTables: Flash
Exceptions: Disabled
Erase Flash: Only Sketch
Port: COMx - variiert von PC zu PC
Wenn ihr diese Einstellungen einmal getroffen habt, müsst ihr diese erst wieder ändern, wenn ihr ein anderes Board ausgewählt hattet.
Der erste Test - Blink Beispiel
Um zu checken, dass die IDE und das Board richtig eingerichtet wurde, laden wir ein ganz einfaches Programm, das schon fertig als Beispiel existiert auf den ESP. Das Blink-Beispiel.
Dazu gehen wir auf Datei -> Beispiele -> 01.Basics -> Blink
- /*
- Blink
- Turns an LED on for one second, then off for one second, repeatedly.
- Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
- it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
- the correct LED pin independent of which board is used.
- If you want to know what pin the on-board LED is connected to on your Arduino
- model, check the Technical Specs of your board at:
- https://www.arduino.cc/en/Main/Products
- modified 8 May 2014
- by Scott Fitzgerald
- modified 2 Sep 2016
- by Arturo Guadalupi
- modified 8 Sep 2016
- by Colby Newman
- This example code is in the public domain.
- http://www.arduino.cc/en/Tutorial/Blink
- */
- // the setup function runs once when you press reset or power the board
- void setup() {
- // initialize digital pin LED_BUILTIN as an output.
- pinMode(LED_BUILTIN, OUTPUT);
- }
- // the loop function runs over and over again forever
- void loop() {
- digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
- delay(1000); // wait for a second
- digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
- delay(1000); // wait for a second
- }
Das Beispiel macht nichts anderes, als die onboard-LED im Sekundentakt blinken zu lassen.
Entweder bearbeiten wir den Code, indem wir beispielsweise den delay(1000) verändern, oder wir laden den Code direkt auf unseren ESP8266 D1-Mini.
Dazu drücken wir einfach den Pfeil in der linken oberen Ecke der IDE.
Der ESP8266 D1-Mini beginnt zu blinken. Im Sekundentakt. Oder schneller, oder langsamer.
Das mach er nicht nur, wenn er am PC angeschlossen ist. Das macht er, sobald er mit einem USB-Kabel mit Strom versorgt wird.
Entweder Zuhause, im Auto, am Strand oder ganz wo anders - Wenn das Programm einmal auf den ESP geschrieben wurde, lässt es sich unabhängig von PC und IDE betreiben.
Der Abschluss
Wie man sieht, ist es kein Hexenwerk das erste Programm auf den ESP8266 D1-Mini zu speichern.
Wir haben natürlich viel mehr Möglichkeiten als die onboard-LED blinken zu lassen.
Aber eins nach dem anderen.
Falls ihr nicht warten könnt und sofort mit dem Projekt starten wollt, findet ihr hier eine Übersicht der Pins und deren Eigenschaften.
ESP8266 D1 Mini Pinbelegung und Eigenschaften
Die verwendeten Links zu Shops sind Affiliate-Links.