Newbee braucht hilfe

Hallo ich bin absoluter anfänger und habe von jemanden ein scatch, was eine hompage auf machsoll um daten vom stromzähler zu lesen. Allerding bekomme ich keine verbinung hin; kann sich den scatch jemand angucken bitte?

#include <ESP.h>
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <ESP8266WiFiMulti.h>
#include <ESP8266HTTPUpdateServer.h>


const String Hostname = "Elster2";
const String Version ="Elster OTA V1.00 \n(C) Schuggi 2016";

ESP8266WiFiMulti wifiMulti;
ESP8266WebServer server(80);  
ESP8266HTTPUpdateServer httpUpdater;

String txt;
String txt2;

void setup(void) {
  int Timeout;

 
  Serial.begin(9600,SERIAL_7E1);
  Serial.println(Version);
  
  Serial.println("Initialized");
  WiFi.mode(WIFI_STA);
  WiFi.config(IPAddress(192,168,178,238), IPAddress(192,168,178,1), IPAddress(255,255,255,0));
  
  wifiMulti.addAP("deine SSID", "dein Kennwort");
  wifiMulti.addAP("deine SSID 2", "dein Kennwort 2");
  WiFi.hostname(Hostname);
   
  while (wifiMulti.run() != WL_CONNECTED)// Warten auf verbindung
  {
    delay(500);
    Timeout++;
    if (Timeout>100) break;
    Serial.print(".");
  }            
  
  Serial.println("connected");
  Serial.println(WiFi.SSID());
  Serial.println(WiFi.localIP()); 
  Serial.println();
  delay(2000);
  
  httpUpdater.setup(&server);
  server.on("/", Ereignis_Info);
  server.onNotFound(Ereignis_Info);
  server.begin();               // Starte den Server
  
}

void Ereignis_Info()
{
  String T = "";
  T = Version + "\n\n";
  T = T+ "SSID:     "+WiFi.SSID()+" \n";
  T = T+ "RSSI:     "+String(WiFi.RSSI())+" \n";
  T = T+ "Hostname: "+WiFi.hostname()+" \n";
  T = T+ txt2;
  server.send(200, "text/plain", T);
}


void loop() 
{
  if (Serial.available() > 0) 
  {
     char ch = Serial.read();
     Serial.print(ch);
     if (ch=='/')
     {
      txt2=txt;
      txt="";
     }
     txt+=ch;
  }
  server.handleClient(); 
}

Dann ist es immer besser den Autoren des Sketches zu fragen.
Der kennt den am Besten.
Zumal der sicher auch die richtige Hardware hat.

Der scatch ist von 2016 und die hadware ist die gleiche die ich hier habe (esp wemos mini). Mir geht es darum das im scatch eine defenierte feste ip ist und die verbindet sich leider nicht mit meiner fritzbox. Kann man den scatch so um schreiben das die ip über dhcp vergeben wird?

chris291080:
Der scatch ist von 2016 und die hadware ist die gleiche die ich hier habe (esp wemos mini). Mir geht es darum das im scatch eine defenierte feste ip ist und die verbindet sich leider nicht mit meiner fritzbox. Kann man den scatch so um schreiben das die ip über dhcp vergeben wird?

Sicher geht das, aber einfacher ist das Anpassen der IP-Adressen an deine Fritzbox.

You can reset static without resorting to the C Espressif SDK calls, although it's not particularly obvious. You must call WiFi.config(0, 0, 0); to reset the static configuration back to DHCP. I am not sure if this was introduced in a later version than the current release (2.3.0), but, it's working in the newest Git. – Dawn Minion Oct 17 '16 at 16:47

From stackoverflow

kannst du mir evtl im scatch zeigen was ich alles ändern muss um die ip zu bekommen die ich mir wünsche?

WiFi.config(IPAddress(gewünschte ip), IPAddress(gateway), IPAddress(subnet)); richtig so?

chris291080:
kannst du mir evtl im scatch zeigen was ich alles ändern muss um die ip zu bekommen die ich mir wünsche?

WiFi.config(IPAddress(gewünschte ip), IPAddress(gateway), IPAddress(subnet)); richtig so?

Ja, so passt es.
Die IP kannst du selbst wählen, sie muss nur ins
Netz passen.

Versuch es mal mit:

WiFi.config(IPAddress(192, 168, 178, 150), IPAddress(192, 168, 178, 1), IPAddress(192, 168, 178, 1), IPAddress(255, 255, 255, 0));

Fritzbox hat glaub ich ne voreingestellte DHCP-Range von 20-200. Möglicherweiße stört es ja das Board oder die Fritzbox wenn die feste IP auserhalb des Bereiches liegt. Sollte normalerweiße kein Problem sein da Feste IP's ja meistens auserhalb des DHCP-Bereiches sind, aber wer weiß. :o

Der Schnipsel ist jetzt so aufgebaut:

WiFi.config(ip, dns, gateway, subnet);

Und nach den Kommas bei den IP's noch ein Leerzeichen eingefügt.

Wird in der Dokumentation auch mit nem Leerzeichen nach den Kommas gemacht.

Grüße

  wifiMulti.addAP("deine SSID", "dein Kennwort");
  wifiMulti.addAP("deine SSID 2", "dein Kennwort 2");
  WiFi.hostname(Hostname);

In der ersten Zeile natürlich bitte nicht vergessen die SSID deines Access Points und dein WLAN Kennwort zu hinterlegen. Die zweite Zeile wäre für einen zweiten Access Point, wenn du einen hast und in die Dritte Zeile kommt ein eindeutiger Gerätename (Mit diesem Namen wird dein Gerät dann in der Fitzbox angezeigt).

Das mit der dritten Zeile vergiss mal. Habe gerade erst gesehen das es ein definierter String ist.