Der ESP8266 von Espressif Systems (Shanghai) ist ein programmierbarer WLAN-SoC mit UART- und SPI-Schnittstelle und integriertem TCP/IP Stack. Diese Chips sind unglaublich g├╝nstig und bereits f├╝r ca. 3ÔéČ zu haben.

Wir werden wahrscheinlich in diesem Blog mit 3 Microcontrollern arbeiten:

  • ESP8266
  • ESP32
  • MXChip AZ3166

Zun├Ąchst fokussieren wir uns auf den ESP8266. Insbesondere die reine Datenerfassung mit Hilfe von Sensoren und die Kommunikation mit der Azure Cloud gelingt mit dem ESP8266 sehr einfach. Doch bevor wir irgendetwas in die Cloud senden k├Ânnen, m├╝ssen wir uns mit dem Internet verbinden.

Was ben├Âtigen wir f├╝r die Programmierung des ESP8266? Zun├Ąchst m├╝ssen wir Arduino IDE herunterladen. Angeschlosen wird

Nach der Installation starten wir die Arduino IDE und konfigurieren die IDE, so dass diese unseren Chip ansprechen kann. Nachdem Start der Anwendung ├Âffnen wir im Men├╝ Datei den Men├╝punkt Voreinstellungen.

Im Reiter Einstellungen geben wir im Feld Zus├Ątzliche Boardverwalter-URLs nachfolgende Url ein:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Anschlie├čend best├Ątigen wir die Eingabe mit OK und ├ľffnen im Men├╝ Werkzeuge > Board den Men├╝punkt Boardverwalter. Es ├Âffnet sich ein neuer Dialog Boardverwalter. Dort geben wir in das Suchfeld den Begriff esp8266 ein und dr├╝cken die Eingabetaste. Es sollte sich ein Ergebnis finden. Bei diesem Eintrag (esp8266 by ESP8266 Community) klicken wir auf die Schaltfl├Ąche Installieren.

Nachdem wir den Dialog mit Schlie├čen geschlossen haben, k├Ânnen wir nun unter dem Men├╝ Werkzeuge > Board > ESP8266 Boards (2.74) den Eintrag NodeMCU 1.0 (ESP-12E Module) ausw├Ąhlen.

Mit dem WLAN verbinden

Um eine WLAN-Verbindung herstellen zu k├Ânnen, m├╝ssen wir zun├Ąchst die notwendige WiFi-Bibliothek installieren. Dazu w├Ąhlen wir im Men├╝ Werkzeuge den Eintrag Bibliotheksverwalter. Dort geben wir im Suchfeld den Begriff wifi ein und installieren die WiFi-Bibliothek WIFI Built-In by Arduino.

So, nun sind wir bereit und k├Ânnen unseren Chip mit dem WLAN verbinden. Dazu nutzen wir nachfolgenden Code. Was passiert hier genau?

  • Definiere zwei Konstanden mit SSID und dem WLAN-Passwort
  • In der setup() Methode wird zuerst die Datenrate f├╝r die Serielle Daten├╝bertragung definiert (Serial.begin())
  • Danach initialisiert WiFi.begin(SSID, pass) die WLAN-Verbindung mit den zuvor definierten Konstanten ssid und password.
  • Mit einer Pause von jeweils einer Sekunde pr├╝ft WiFi.status den Status der Verbindung bis eine erfolgreiche Verbindung hergestellt werden konnte
  • Zum Schluss wird die erhaltene IP-Adresse an die Serielle-Schnittstelle ausgegeben, welcher auf dem Serial Monitor erscheint
#include <ESP8266WiFi.h>

#ifndef STASSID
#define STASSID "BOG X"
#define STAPSK  "Passw0rd"
#endif

const char* ssid     = STASSID;
const char* password = STAPSK;


void setup() {
  Serial.begin(115200);
  delay(100);
  
  Serial.print("Connect to Wifi ");
 
  WiFi.begin(ssid, password);
 
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.print(".");
  }
 
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
}

void loop() {
  if (WiFi.status() == WL_CONNECTED) {
    // Your WiFi-Stuff here :-)
  }
}

Um das Programm auf unseren Chip zu schreiben w├Ąhlen wir zuerst im Men├╝ Sketch den Men├╝punkt ├ťberpr├╝fen/Kompilieren.

Wenn der Vorgang erfolgreich war, w├Ąhlen wir im Men├╝ Sketch den Men├╝punkt Hochladen um das Programm auf den Chip zu schreiben.

Um die serielle Ausgabe zu sehen, k├Ânnen wir den Seriellen Monitor ├Âffnen ├╝ber das Men├╝ Werkzeuge und dem Men├╝eintrag Serieller Monitor.

Der Serial Monitor

Und voilà, die Ausgabe zeigt uns, dass sich unser Chip erfolgreich mit dem WLAN verbunden hat und auch die IP-Adresse 192.168.0.92 zugewiesen bekommen hat.