Go Down

Topic: Problema con ESP8266 (Read 289 times) previous topic - next topic

Il_Nano

Sep 14, 2018, 01:58 pm Last Edit: Sep 15, 2018, 11:50 am by Il_Nano
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..

SukkoPera

#1
Sep 14, 2018, 02:23 pm Last Edit: Sep 14, 2018, 02:23 pm by SukkoPera
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" +

"Code is read much more often than it is written, so plan accordingly. Design for readability."

Guida rapida a ESP8266: https://goo.gl/kzh62E

Il_Nano

#2
Sep 14, 2018, 02:45 pm Last Edit: Sep 14, 2018, 02:48 pm by Il_Nano
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?

SukkoPera

Se hai un solo modulo ESP-01 non saprei, ma è possibile. Se hai una NodeMCU, WeMos D1, ecc..., invece normalmente non è necessario.
"Code is read much more often than it is written, so plan accordingly. Design for readability."

Guida rapida a ESP8266: https://goo.gl/kzh62E

gpb01

#4
Sep 14, 2018, 06:01 pm Last Edit: Sep 14, 2018, 06:02 pm by gpb01
>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
Search is Your friend ... or I am Your enemy !

Il_Nano

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 :)...

gpb01

#6
Sep 15, 2018, 12:02 pm Last Edit: Sep 15, 2018, 12:02 pm by gpb01
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
Search is Your friend ... or I am Your enemy !

zoomx

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.

Go Up