[RISOLTO] AIUTO ETHERNET SHIELD

risultato lo converti in stringa

int val=31

(String)val non lo metti tra ""

qui non avevi fatto così ?
client.print("&in1=");
client.print(read1);
metti un + dovrei provare :slight_smile: non ne sono certo

si ok ! lo converto in stringa ma posso in unica linea chiudere e riaprire le virgolette ?

client.print("GET /prova_semplice.php?seriale=18102005&val="risultato" HTTP/1.0 HOST: tech-alarm.it");
client.println();

cosi ?

client.print("GET /prova_semplice.php?seriale=18102005&val=" + risultato + " HTTP/1.0 HOST: tech-alarm.it");
oppure così se risultato non è una stringa
client.print("GET /prova_semplice.php?seriale=18102005&val=" + (String)risultato + " HTTP/1.0 HOST: tech-alarm.it");

e ti giuro che ho cercato come un pazzo in rete ma il simbolo + proprio non lo ho trovato.... ok provo grazie ancora

:sweat_smile:

Scusa se ti angoscio questa sera !

  String valore = String(val_input);
  
  Serial.println(valore);
  
  
  
  if (client.connect(server, 80)) {
    client.print("GET /prova_semplice.php?seriale=18102005&val_input="+valore+" HTTP/1.0 HOST: tech-alarm.it");
    client.println();
    
    Serial.println("connesso");
    
    client.stop();
    client.flush();
    
    delay (1000);
    
  }

Dal serial monitor leggo il valore da 0 a 31 in base agli ingressi in modo corretto , si connette ma la pagina in PHP non si aggiorna

ho provato dal browser

http://........./prova_semplice.php?seriale=18102005&val_input=10

e funziona

quindi la stringa che invia arduino non va.....

uffa !!!

Se spezzi in 3 client print
Indirizzo
&valore
HTTP 1.1
Funzia?

Così dovrebbe andare, poi correggi se riesci a inviare in un unica riga

NOOO!! avevo appena provato quindi ho toccato altro !!! uffa cerco l'errore.. scusa

Ciao

sicuramente la parte "Host:..." va inviata come nuova riga (quindi con un -a capo- nel mezzo)
E alla fine devi inviare una riga vuota...

Magari sono quei + che non gli piacciono, si tratterebbe di preparare la stringa e di inviare con client.print la stessa completa

Nulla l'unico modo di farlo fungere è questo :

    client.print("GET /prova_semplice.php?seriale=18102005&val_input=");
    client.print(valore);
    client.println(" HTTP/1.0");
    client.println("HOST: tech-alarm.it");
    client.println();

Grazie ragazzi

P.S.

Ciao Luca seguo sempre il tuo sito... complimenti !!

allora bastava aggiungere uno \n :slight_smile:

Grazie per l'aiuto... vero vero !

Comunque ora con la libreria modificata sono 3 ore neanche un FREEZE !!!

Domani posto i risultati

:grin: :grin:

Mi fa piacere :slight_smile:

ciao

:smiley: :smiley: :smiley:

Ciao !
24 ore senza FREEZE !!!!
Una trasmissione ogni 5 secondi continuamente da ieri sera alle 22:00

Forse è la strada giusta !?!?!?

:grin: :grin: :grin:

Ultimo messaggio... e poi chiudo ..

4 giorni senza neanche un freeze della shield ethernet ( h 24 accesa , una trasmissione ogni 5 secondi )

ciaooooooo

Siccome hai scritto dall'altra parte che la patch la stai testando ma hai sempre lo stesso problema......in definitiva era da modificare la EthernetClient.cpp o no?

ciao

come ho detto in una risposta precedente avevo scritto che nonostante avessi modificato la EthernetClient.cpp si bloccava lo stesso .. ma poi mi sono corretto dicendo che avevo dimenticato di salvarla.!

In definitiva :

Dopo la modifica al file EthernetClient.cpp non si blocca più ( TEST di una trasmissione ogni 5 secondi da 4 giorni consecutivi )

spero di non aver creato confusione

Credo che sarebbe utile segnalare la modifica agli sviluppatori. :smiley:

la patch è già stata accettata qualche giorno fa ( Merge pull request #70 from johannrichard/ethernet-close_wait · arduino/Arduino@2a48aa5 · GitHub ) e farà parte della prossima release. Effettivamente porta dei miglioramente sostanziali.