Gelöst - Danke an Heinz "Rentner"Anfängerfrage zu fester IP Adresse

Hallo zusammen,
ich bin ein totaler Anfänger, und habe eine Frage, wie ich in meinem Sketch eine feste IP Adresse definieren kann, ich bekomme es leider nicht hin, und hoffe, das ich diese Frage hier stellen darf.

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

// Replace with your network credentials
const char* ssid = "Studio";
const char* password = "Geheim";

ESP8266WebServer server(80);   //instantiate server at port 80 (http port)

String page = "";
double data; 
void setup(void){

  pinMode(A0, INPUT);
  
  delay(1000);
  Serial.begin(115200);
  WiFi.begin(ssid, password); //begin WiFi connection
  Serial.println("");
  
  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.print("Verbunden mit WLAN ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
  server.on("/", [](){
 


page = "<h4>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Orangenbaum</h4><h4>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Aktueller Wert:&nbsp;"+String(data)+"</h4><h4>Wert mehr als 610 zu trocken </h4> <h4>Wert weniger als 410 zu feucht";

 
    server.send(200, "text/html", page);
  });
  
  server.begin();
  Serial.println("Web Server ist gestartet");
}
 
void loop(void){
  data = analogRead(A0);
  delay(100);
  server.handleClient();
}

Google ist dein Freund und Helfer

Hallo
das machst Du vor WIFI.begin

IPAddress staticIP(192, 168, 178, 12);  // eigene IP
IPAddress gateway(192, 168, 178, 1);  // Fritzbox Heimnetz
IPAddress subnet(255, 255, 255, 0);

WiFi.config(staticIP, gateway, subnet);
WiFi.begin(ssid, password);

Heinz

Ich mache die Festlegung nicht im Sketch, sondern im Router.
Das ist bei mir auch eine Fritzbox, da muss man das nur einmal nach erster Verbindung des neuen Geräts einstellen.
Vorteil (aus meiner Sicht): Ich habe die Zuteilung der Adressen an einer Stelle zentral.
So habe ich alle Telefone, Laptops, Rechner, Shellys, Tasmota-Dosen und die ESP-Spielereien jeweils in einem eigenen Bereich, NAS und Medienserver dann wieder woanders.

@Rentner:
Was passiert eigentlich, wenn die ...178.12 schon durch ein anderes Gerät in Benutzung ist?
z..B. gleicher Sketch auf zwei ESPs - ich habe es nie ausprobiert :frowning:

Die Verbindungen werden mindestens instabil oder gleich nicht zu Stande kommen, da das Handshake gestört wird.

Gruß Tommy
PS: Ich nutze DHCP mit der Einstellung, dass bekannten MAC wieder die gleiche IP zugewiesen wird.

Heinz. Danke, das hat mir geholfen, wirklich Super.

Der stärkere gewinnt. Aber wie schon geschrieben wurde, sehr unstabiel.
Bisher haben meine Versuche gezeigt, das beide Clients die Daten los wurden, nur eben nicht sicher.
Meine IPs sind meist im LittleFS bzw. Preferences gespeichert.
Für mich war das die einfachste Lösung um auch nicht "ständig" die Fritzbox zu betun. :wink:

@haraldm1

Kleiner Tipp von mir da du eine Fritzbox hast.

Editiere den MC in der Fritzbox. Dazu im HOMENETZ auf den Bleistift klicken.
Dann den Teil eine Adresse zuweisen und den Haken bei "Immer die selbe IP zuweisen" setzen.

Das ist viel Sicherer, als eine Hardware-Codierte Adresse die du ohne Aufwand nicht ändern kannst.

Ist nur so ein Tipp.

Um mir Stress zu ersparen habe ich das bei einigen meiner Geräte genau so gemacht.

Gruß

Pucki

Dann markierst Du bitte den Beitrag #3 von Heinz als Lösung - das hakt dann auch in der Übersicht das Kästchen ab.

Und warum sollte man die IP in einem fertigen System ändern ?
Und wenn ändern, geht das perfekt und ohne Aufwand per OTA.

Du kannst doch pucki nicht widersprechen, das geht garnicht.

1 Like

Warum nicht ?
Er hat doch sowieso wie immer Recht.

Hallo,
ich habe für meine ESP im Heimnetz früher auch mit festen IP Adressen gearbeitet. Das kann mit der Zeit in bisschen unübersichtlich werden. Da hilft dann nur eine Liste.
Die Variante mit der Fritzbox hat einen Nachteil wenn die mal erneuert wird. Dann hängt die IP von der Reihenfolge ab wie die ESP sich eingeloggt haben.
@Tommy56 hat mir mal eine Variante gezeigt die ich eigentlich noch besser finde und die immer gehen sollte.

const char* hostname = "Heizung";

WiFi.setHostname(hostname); 
WiFi.begin(ssid, password);

Gruß Heinz

Als Anmerkung dazu: Der Hostname wird nur beim DHCP-Dialog übertragen, also wenn der ESP die IP vom Router anfordert.
Bei einer festen IP im ESP wird er nicht übertragen.

Gruß Tommy

Edit: Bei einer Fritzbox wird der Hostname dann in den lokalen DNS eingetragen, so dass der ESP mit http://hostname bzw. http://hostname/DateiVerzeichnis aufgerufen werden kann.

Na und.

  1. Macht man regelmässig ein Backup von der Fritzbox, besonders wenn man die
    tauscht.

  2. Bei den Bleistift gibt es etwas tiefer die Möglichkeit die IP die zugewiesen wurde zu ändern. Und die Box anzuweisen diese IP IMMER zu verwenden.

Was dazu führt das man i.d.R. höchstens das gewisse Gerät neustarten muss.

Aber cool wie wenig man hier von einer guten Fritzbox weiss.

Ich habe die 6591 als Hauptbox und eine alte 7490 als Zusatz-Access-Point.

Gruß

Pucki

Neues Model nicht aus der gleicher Baureiche nimmt kein Backup an. Also wie öfters Unsinn von dir.
Das Klappt nur bei gleicher Baureihe, selbst erlebt und dem nähst erwartet mich das gleiche

Bei mir schon.
Solange man in der selbe Komunkationstechnik bleibt und ein upgrade macht.

Gruß

Pucki

Funktioniert bei meiner nicht !!!
es werden nur Tel. NR Zuweisung eingestellt, unter Backup verstehe ich was anderes.

Zum Glück haben wir den Oberschlauen pucki hier, der ja alles weiß.

1 Like

Wie ist das Gegenteil von Oberschlau?
Besser nicht ausschreiben sonst fliegt man raus aus Forum