Problema con ESP8266

Ciao a tutti.
Ho un problema con il modulo esp-01.

Vorrei inviare dati dei sensori collegati al modulo a uno script php sul mio computer ma quando provo a stabilire la connessione alla pagina dello script, il modulo mi da Connection Failed.

Ho scoperto dove è il problema ma non riesco a risolverlo, quando nella costante host del mio sketch inserisco l'indirizzo o l'ip della home page funziona tutto perfettamente, quando invece gli do l'inidirizzo dello script non funziona piu.

Esempio:

const char* host = "192.168.1.5"; Funziona correttamente.

const char* host = "192.168.1.5/pincopallino/index.php"; Non funziona..

Premetto che inserendo lo stesso identico indirizzo nel browser, funziona tutto perfettamente.

#include <ESP8266WiFi.h>

const char* ssid = "SSID";
const char* password = "PASS";

const char* host = "192.168.1.5/pincopallino/index.php";


void setup()
{
  Serial.begin(115200);
  Serial.println();
  WiFi.mode(WIFI_STA);
  Serial.printf("Connecting to %s ", ssid);
  //WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(".");
  }
  Serial.println(" connected");
}


void loop()
{
  WiFiClient client;

  Serial.printf("\n[Connecting to %s ... ", host);
  if (client.connect(host, 80))
  {
    Serial.println("connected]");

    Serial.println("[Sending a request]");
    client.print(String("GET /") + " HTTP/1.1\r\n" +
                 "Host: " + host + "\r\n" +
                 "Connection: close\r\n" +
                 "\r\n"
                );

    Serial.println("[Response:]");
    while (client.connected())
    {
      if (client.available())
      {
        String line = client.readStringUntil('\n');
        Serial.println(line);
      }
    }
    client.stop();
    Serial.println("\n[Disconnected]");
  }
  else
  {
    Serial.println("connection failed!]");
    client.stop();
  }
  delay(5000);
}

Grazie in anticipo..

Se la variabile si chiama host, evidentemnte deve contenere solo l'host...

L'indirizzo puoi metterlo qui:

client.print(String("GET /pincopallino/index.php") + " HTTP/1.1\r\n" +

L'indirizzo puoi metterlo qui:

client.print(String("GET /pincopallino/index.php") + " HTTP/1.1\r\n" +

[/quote]

Vabbe creerò qualcosa che mi autoinsulta quando scrivo cavolate :D:D

Problema risolto grazie mille SukkoPera!!!!!!

Una domanda, ma tutte le volte che modifico lo sketch e lo ricarico ( visto che è in costruzione succede molte volte) devo scollegare e ricollegare fisicamente l'esp-01?? c'è un modo per evitare questa operazione visto che a volte mi collego in remoto e non posso scollegarlo fisicamente?

Se hai un solo modulo ESP-01 non saprei, ma è possibile. Se hai una NodeMCU, WeMos D1, ecc..., invece normalmente non è necessario.

>Il_Nano: ... prima di tutto, NON avendolo tu mai fatto in passato, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO (che nel tempo è piuttosto cambiato) ...

... poi, ti ricordo che in conformità al suddetto regolamento, punto 7, devi editare il tuo primo post (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More -> Modify che si trova in basso a destra del tuo post) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).

In pratica, tutto il tuo codice dovrà trovarsi racchiuso tra due tag: [code] _il _tuo_ codice_ [/code] così da non venire interpretato e non dare adito alla formazione di caratteri indesiderati o cattiva formattazione del testo. Grazie,

Guglielmo

Grazie SukkoPera, installerò nodeMCU sull'esp cosi risolvo..

Salve Guglielmo, la presentazione la feci molti mesi fa quindi ci sarà da qualche parte sicuramente.

Ok per il resto :)...

Il_Nano:
Salve Guglielmo, la presentazione la feci molti mesi fa quindi ci sarà da qualche parte sicuramente.

Ok, grazie, m'era sfuggita ... trovata qualche pagina più indietro :smiley: :smiley: :smiley:

Guglielmo

Il_Nano:
Una domanda, ma tutte le volte che modifico lo sketch e lo ricarico ( visto che è in costruzione succede molte volte) devo scollegare e ricollegare fisicamente l'esp-01?? c'è un modo per evitare questa operazione visto che a volte mi collego in remoto e non posso scollegarlo fisicamente?

Se il modulo ha almeno 1M di flash puoi usare l'OTA che in pratica sarebbe che metti su un miniserver web e lo usi per caricare il nuovo firmware, ma fa tutto la libreria. Sta negli esempi per ESP8266.
Ovviamente devi fare in modo che il server sia raggiungibile da remoto se non è nella tua LAN.