Go Down

Topic: Settare variabile con valore ricavato da GET (Read 1 time) previous topic - next topic

ziopippo

Salve a tutti,
vorrei assegnare ad una variabile di nome "posizione" il valore letto da una 
Code: [Select]
if(readString.startsWith("GET /?out=0&value=")) ovvero inserendo nel browser questo url "http://192.168.1.222:800/?out=0&value=2" vorrei che la variabile posizione assuma il valore di 2. Premetto inoltre che i valori che voglio siano ammissibili vadano da 0 a 100.
Grazie per l'aiuto.

pablos71

Ciao Zio,  XD
Ma hai cercato sul forum? perchè ricavare dati da richieste GET ne abbiamo parlato alla nausea, parsing delle stringhe in arrivo da client ecc ecc
Hai cercato sul playground? perchè anche lì ci trovi diversi esempi
Hai guardato gli esempi dentro le cartelle dell'IDE?
Hai guardato su google? ci sono svariate paginette.
Hai fatto uno sketch ..... una bozza qualcosa su cui fare domande su quello che non capisci?

questo è tutto il codice che hai fatto?
Code: [Select]
if(readString.startsWith("GET /?out=0&value="))

ciao
L'esperienza è il tipo di insegnante più difficile ....
Prima ti fa l'esame e poi ti spiega la lezione.

ziopippo

Ciao pablos, pensavo avessi scritto con l'inchiostro trasparente. Volevo infatti rispondere al tuo post già da questa notte ma non sono riuscito a visualizzare il tuo reply nè da telefono, nè da tablet, nè da pc e non mi è neanche arrivata la mail del tuo reply. Che strano!  :smiley-eek-blue:

Ovviamente prima di postare ho fatto diverse ricerche sia su forum che su google, ma non ho trovato soluzioni al mio problema.

Il pezzo di codice postato fa parte di uno scketch già funzionante che mi visualizza sia su browser che su di una app scritta per android queste informazioni:
5 temperature ed umidità interne, due umidità e temperature esterne, una di un congelatore, la potenza istantanea impegnata in Wh e, arrivando alla mia domanda posso aprire e chiudere totalmente una tenda da sole e visualizzare la percentuale di apertura trasformando un valore da ohm in percentuale (da 0 a 100). Ciò che voglio fare è poter aprire la tenda ad una posizione prestabilita e non tutta sù o tutta giù.
Ho trovato una funzione che mi permette di isolare una porzione di stringa partendo da una posizione nota e fissa però non fa al caso mio perchè non posso sapere a priori quanti caratteri isolare dopo la posizione di partenza, essi infatti vanno da uno a tre caratteri (da 0 a 100). Attualmente infatti se digito: "http://192.168.1.222:800/?out=0&value=700" ottengo al serial monitor la risposta "muovo tenda a poizione: 700" ma se scrivo "http://192.168.1.222:800/?out=0&value=7" ricevo: "muovo tenda a poizione: 7 H" infatti prende anche parte della risposta "HTTP/1.1".
Speravo quindi che esistesse una funzione in grado di isolarmi solo la parte numerica senza dovermi fare cicli di controllo sulla lunghezza del testo ed adattarlo ogni volta. ;)

Successivamente farò ulteriori richieste su come posso far fare ad aduino da doppio server, ovvero farlo rispondere alle mie richieste dell'app e, contemporaneamente far inviare ad un mio server con MySQL tutti i dati per storicizzarli e manipolarli a mio piacimento ma, questa è un'altra storia anche se sono ben accetti consigli su cosa cercare  ]:D

Grazie ancora per il tuo intervento.

Go Up