esp32 e indirizzo ip fisso: esempio non funziona

ho compilato l’esempio della libreria esp32 per avere l’indirizzo ip fisso ma non riesce mai a collegarsi.
Se uso il dhcp funzione tutto.
Qualcuno ha provato?

grazie

/*
     Example of connection using Static IP
     by Evandro Luis Copercini
     Public domain - 2017
*/

#include <WiFi.h>

const char* ssid     = "Vodafone-roberto";
const char* password = "xxxxxxx";
const char* host     = "www.corriere.it";
const char* url      = "/index.html";

IPAddress local_IP(192, 168, 0, 170);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);
IPAddress primaryDNS(8, 8, 8, 8); //optional
IPAddress secondaryDNS(4, 4, 4, 4); //optional

void setup()
{
  Serial.begin(9600);

  if (!WiFi.config(local_IP, gateway, subnet, primaryDNS, secondaryDNS)) {
    Serial.println("STA Failed to configure");
  }

  Serial.print("Connecting to ");
  Serial.println(ssid);

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    WiFi.begin(ssid, password);
    Serial.print(".");
  }

  Serial.println("");
  Serial.println("WiFi connected!");
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
  Serial.print("ESP Mac Address: ");
  Serial.println(WiFi.macAddress());
  Serial.print("Subnet Mask: ");
  Serial.println(WiFi.subnetMask());
  Serial.print("Gateway IP: ");
  Serial.println(WiFi.gatewayIP());
  Serial.print("DNS: ");
  Serial.println(WiFi.dnsIP());
}

void loop()
{
  delay(5000);

  Serial.print("connecting to ");
  Serial.println(host);

  // Use WiFiClient class to create TCP connections
  WiFiClient client;
  const int httpPort = 80;
  if (!client.connect(host, httpPort)) {
    Serial.println("connection failed");
    return;
  }

  Serial.print("Requesting URL: ");
  Serial.println(url);

  // This will send the request to the server
  client.print(String("GET ") + url + " HTTP/1.1\r\n" +
               "Host: " + host + "\r\n" +
               "Connection: close\r\n\r\n");
  unsigned long timeout = millis();
  while (client.available() == 0) {
    if (millis() - timeout > 5000) {
      Serial.println(">>> Client Timeout !");
      client.stop();
      return;
    }
  }

  // Read all the lines of the reply from server and print them to Serial
  while (client.available()) {
    String line = client.readStringUntil('\r');
    Serial.print(line);
  }

  Serial.println();
  Serial.println("closing connection");
}

E dopo sei mesi di frequentazione del forum ancora non hai visto che ... nella sezione in lingua Inglese si può scrivere SOLO in Inglese ? ? ? :o

La prossima volta presta più attenzione in quale sezione metti i tuoi post ...

Guglielmo

P.S.: Il tuo post è già stato spostato nell'opportuna sezione del forum "Italiano"

Ma su cosa stai cercando di caricare quel programma ? ? ?

Guglielmo

così non potrà mai vedere il gateway...

IPAddress local_IP(192, 168, 0, 170);
IPAddress gateway(192, 168, 1, 1);

visto la subnet che hai impostato, le prime tre tripplette devono essere uguali.
se il gateway è su 192.168.1.1, l'indirizzo IP locale sarà 192.168.1.xyz

indigo62:
così non potrà mai vedere il gateway…

IPAddress local_IP(192, 168, 0, 170);

IPAddress gateway(192, 168, 1, 1);




visto la subnet che hai impostato, le prime tre tripplette devono essere uguali. 
se il gateway è su 192.168.1.1, l'indirizzo IP locale sarà 192.168.1.xyz

questo era uno dei tanti tentativi. il primo era con indirizzo come da esempio 192.168.1.170

mi sembrava chiaro dal testo che sto usando una esp32 con le relative librerie (almeno questo è l’intento).
Questo l’ho provato ora con questo risultato,(naturalmente o xxasato la pw) :

Connecting to Vodafone-roberto

/*
     Example of connection using Static IP
     by Evandro Luis Copercini
     Public domain - 2017
*/

#include <WiFi.h>

const char* ssid     = "Vodafone-roberto";
const char* password = "xxx";
const char* host     = "www.corriere.it";
const char* url      = "/index.html";

IPAddress local_IP(192, 168, 1, 170);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);
IPAddress primaryDNS(8, 8, 8, 8); //optional
IPAddress secondaryDNS(4, 4, 4, 4); //optional

void setup()
{
  Serial.begin(9600);

  if (!WiFi.config(local_IP, gateway, subnet )) {
    Serial.println("STA Failed to configure");
  }
  WiFi.mode(WIFI_STA);
  Serial.print("Connecting to ");
  Serial.println(ssid);

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    WiFi.begin(ssid, password);
    Serial.print(".");
  }

  Serial.println("");
  Serial.println("WiFi connected!");
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
  Serial.print("ESP Mac Address: ");
  Serial.println(WiFi.macAddress());
  Serial.print("Subnet Mask: ");
  Serial.println(WiFi.subnetMask());
  Serial.print("Gateway IP: ");
  Serial.println(WiFi.gatewayIP());
  Serial.print("DNS: ");
  Serial.println(WiFi.dnsIP());
}

void loop()
{
  delay(5000);

  Serial.print("connecting to ");
  Serial.println(host);

  // Use WiFiClient class to create TCP connections
  WiFiClient client;
  const int httpPort = 80;
  if (!client.connect(host, httpPort)) {
    Serial.println("connection failed");
    return;
  }

  Serial.print("Requesting URL: ");
  Serial.println(url);

  // This will send the request to the server
  client.print(String("GET ") + url + " HTTP/1.1\r\n" +
               "Host: " + host + "\r\n" +
               "Connection: close\r\n\r\n");
  unsigned long timeout = millis();
  while (client.available() == 0) {
    if (millis() - timeout > 5000) {
      Serial.println(">>> Client Timeout !");
      client.stop();
      return;
    }
  }

  // Read all the lines of the reply from server and print them to Serial
  while (client.available()) {
    String line = client.readStringUntil('\r');
    Serial.print(line);
  }

  Serial.println();
  Serial.println("closing connection");
}

Prova a togliere il secondo

WiFi.begin(ssid, password);

Quello all'interno del while.

silvioz:
Prova a togliere il secondo

WiFi.begin(ssid, password);

Quello all'interno del while.

Fatto non cambia niente.

Il tuo listato, che poi è quello contenuto negli examples della lib, a me funziona, eliminando la linea che ho indicato.
Quindi... prova a guardare i settings della Vodafone Station.
Se riscontri ancora problemi, chiedi direttamente su github

silvioz:
Il tuo listato, che poi è quello contenuto negli examples della lib, a me funziona, eliminando la linea che ho indicato.
Quindi… prova a guardare i settings della Vodafone Station.
Se riscontri ancora problemi, chiedi direttamente su github

grazie per la prova. era quello che mi serviva. quindi il problema è nel mio ambiente. se risolvo lo posto. Quella linea in più l’avevo inserita perchè ho visto in un altro mio sketch che non prendeva l’indirizzo al primo tentativo, così per provare…-

grazie mille ancora