Arduino Forum

International => Italiano => Software => Topic started by: Il_Nano on Sep 14, 2018, 01:58 pm

Title: Problema con ESP8266
Post by: Il_Nano on Sep 14, 2018, 01:58 pm
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.


Code: [Select]
#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..
Title: Re: Problema con ESP8266
Post by: SukkoPera on Sep 14, 2018, 02:23 pm
Se la variabile si chiama host, evidentemnte deve contenere solo l'host...

L'indirizzo puoi metterlo qui:

Code: [Select]
client.print(String("GET /pincopallino/index.php") + " HTTP/1.1\r\n" +

Title: Re: Problema con ESP8266
Post by: Il_Nano on Sep 14, 2018, 02:45 pm
L'indirizzo puoi metterlo qui:

Code: [Select]
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?
Title: Re: Problema con ESP8266
Post by: SukkoPera on Sep 14, 2018, 03:14 pm
Se hai un solo modulo ESP-01 non saprei, ma è possibile. Se hai una NodeMCU, WeMos D1, ecc..., invece normalmente non è necessario.
Title: Re: Problema con ESP8266
Post by: gpb01 on Sep 14, 2018, 06:01 pm
>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 (http://forum.arduino.cc/index.php?topic=113640.0) (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 (http://forum.arduino.cc/index.php?topic=149082.0) (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
Title: Re: Problema con ESP8266
Post by: Il_Nano on Sep 15, 2018, 11:45 am
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 :)...
Title: Re: Problema con ESP8266
Post by: gpb01 on Sep 15, 2018, 12:02 pm
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 :D :D :D

Guglielmo
Title: Re: Problema con ESP8266
Post by: zoomx on Sep 17, 2018, 12:35 pm
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.