ESP8266ESP8266 - Einführung

Feste IP-Adresse vergeben

In diesem Artikel zeige ich Dir, wie Du deinem ESP8266 eine feste IP-Adresse vergeben kannst.

Um eine WLAN-Verbindung herstellen zu können, wird der unten gezeigte Code genutzt. Als Bibliothek nutzen wir dazu die ESP8266Wifi sowie den WifiClient. Im ersten Schritt definiere ich zwei Konstanten mit der WLAN-SSID sowie dem WLAND-Kennwort. In der Setup-Methode wird mit der WiFi Klasse die WLAN-Verbindung initialisiert. Dazu wird der Begin-Methode die WLAN-SSID und das Kennwort übergeben. Im Anschluss wird mit einer while-Schleife der Status der Connection überwacht und gewartet, bis eine Verbindung hergestellt wurde. In der Loop-Methode wird zudem gefragt, ob die Connection besteht, wenn ja können entsprechende Dienste über das WLAN genutzt werden.

In manchen Fällen macht es Sinn, für bestimmte Wifi-Geräte eine feste IP-Adresse zu vergeben. Dies kann zum einen direkt im Router/DHCP-Server definiert werden. Alternativ kannst Du die IP-Adresse des ESP8266 auch direkt im Code definieren. Dazu muss der folgende Block integriert werden. Über den folgenden Code wird die IP-Adresse, die Gateway-Adresse sowie die Subnetmask gesetzt. Zudem wird auch die IP-Adresse des DNS-Servers gesetzt.

IPAddress ip(192, 168, 2, 101);   // IP fest einstellen
IPAddress gateway(192, 168, 2, 1); // Gateway-Adresse definieren
IPAddress subnet(255, 255, 255, 0); // Subnetmask
IPAddress dns(192, 168, 2, 1); // DNS-Server
WiFi.config(ip, dns, gateway, subnet);

 

Hier der gesamte Code zur Herstellung einer Wifi-Verbindung mit Nutzung einer festen IP-Adresse:

#include <ESP8266WiFi.h>
#include <WiFiClient.h>

const char* ssid = "YOUR_WLAN_SSID";
const char* password = "YOUR_WLAN_PWD";

void setup() {
  Serial.begin(115200);
  delay(10);

  IPAddress ip(192, 168, 2, 101);
  IPAddress gateway(192, 168, 2, 1);
  IPAddress subnet(255, 255, 255, 0);
  IPAddress dns(192, 168, 2, 1);
  WiFi.config(ip, dns, gateway, subnet);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.print(".");
  }

  Serial.println("");
  Serial.println("WiFi connected");
}

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

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

2 Gedanken zu „Feste IP-Adresse vergeben

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.