Da WeMos a WEB: mancano scritture....

Carico dei dati su Database SQL con semplici istruzioni tipo:

  if (client.connect("www.miosito.info", 80)) {
    strURL = "GET /importS.php?s=";
    strURL += serialnumber;
    strURL += "&d=";
    strURL += strXY;
    strURL += " HTTP/1.1";
    client.println(strURL);
    client.println("Host: www.miosito.info");
    client.println("User-Agent: Arduino 1.0\r\n\r\n");
  }

Tutto perfetto, i dati arrivano al miosito e poi in pochi millisecondi vengono scritti su Database.

Ma ogni tanto mancano delle scritture...

Siccome DO PER SCONTATO che le scritture da WeMos partano, dove si perdono ?
E come posso controllare se la trasmissione ha avuto buon esito?

Il log del webserver di www . tuosito . info cosa dice?

Ciao, Ale.

Dove lo vedo?

Difficile dirlo, anzitutto occorre sapere se il 'sito' è un pc locale o è in hosting, nel primo caso dipende dal webserver e dal sistema operativo, nel secondo ci dovrebbe essere un pannello di controllo che ti dia l'accesso al log.
Una cosa che potresti intanto controllare, ma confesso che qui non ho esperienza diretta con arduino e le sue librerie, è la risposta del webserver, risponde con un numero, 200 ad esempio significa tutto ok, 404 risorsa non trovata, etc.
Prova ad aggiungere del codice come si fa con la seriale, aspetti il client.available() e se arriva controlli la risposta. Ovviamente devi prevedere un timeout, altrimenti se il server non risponde per qualche motivo rimani bloccato. Poi, ripeto, non ho esperienza diretta e non sono sicuro che sia la via giusta da percorrere, ma una prova la puoi fare.

Ciao, Ale.

E' in hosting su aruba, ma non sapevo ci fosse un log, magari cerco.
Grazie

Ciao, il mio wemos d1 r2 chiama una php da più di 3 anni, circa 1700 chiamate al giorno, e non ha mai perso un colpo. Perchè non fai logging/tracing sulla pagina php? A naso il problema potrebbe essere li.

Il problema, probabilmente, risiede nella copertura WiFi dato che il mio WeMos è su una macchina carrellata.
Quindi a volte non è sotto copertura, ma in questo caso non ci dovrebbe essere il client.connect....

Tu, immagino, sei sempre sotto WiFi.

silvioz:
Ciao, il mio wemos d1 r2 chiama una php da più di 3 anni, circa 1700 chiamate al giorno, e non ha mai perso un colpo. Perchè non fai logging/tracing sulla pagina php? A naso il problema potrebbe essere li.

Tu le chiamate le fai come faccio io o usi un metodo diverso?

Qualcosa del genere

HTTPClient http;
http.begin("www.miosito.com/q.php?xyz=100&a=1&b=10");
int httpCode = http.GET();
if (httpCode > 0) {
    String payload = http.getString(); 
}
http.end();

Proverei a commentare il tuo codice, inserire questo metodo, farmi restituire un banale "OK" dal php e controllarlo (variabile payload). Il problema non mi sembra difficilmente risolvibile, o qui o nella php lo troverai sicuramente.

Grazie mille !!!

steve-cr:
E' in hosting su aruba...

Se è aruba business nel pannello plesk trovi la voce registri con i log di tutti gli errori

Effettivamente non facevo controlli. Mi fidavo....

Con questa modifica dovrei essere in una botte di ferro.

    String c = client.readString();
    if (c.substring(0, 15) == "HTTP/1.1 200 OK") // Conferma di SCRITTURA -------
    {
        ..........

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.