void loop()
{
if (Client.available() > 0) {
incomingByte = Client.read();
if (incomingByte == 'accendi') {
digitalWrite(Led, HIGH);
}
}
if (incomingByte == 'spegni') {
digitalWrite(Led, LOW);
}
}
ma non so se il funzionamento è giusto.
il funzionamento sarà il seguente:
La scheda si connette ad internet va sul sito che gli dico io e incomincerà a leggere la pagine web.
se troverà i valori 'accendi' (accenderà il led) se troverà i valori 'spegni' (spegnerà il led).
potete vedere se può funzionare visto che io non ne ho la possibilità se non prima di un paglio di giorni??
le connessioni HTTP non son fatte per comunicazioni persistenti, ogni cambiamento dovrebbe essere una richiesta GET. altrimenti dopo qualche secondo la comunicazione dovrebbe andare in time out.
incomingByte = Client.read(); ritorna una lettera alla volta; devi quindi creare un loop che legga una lettera alla volta fino a quando non raggiunge il terminatore di fine messaggio/riga
le connessioni HTTP non son fatte per comunicazioni persistenti, ogni cambiamento dovrebbe essere una richiesta GET. altrimenti dopo qualche secondo la comunicazione dovrebbe andare in time out.
incomingByte = Client.read(); ritorna una lettera alla volta; devi quindi creare un loop che legga una lettera alla volta fino a quando non raggiunge il terminatore di fine messaggio/riga
1- come si fa una richiesta in get? mi puoi dare qualche tutoriali e/o dire qualche comanda che faccio questo tipo di azine??
2- allora farò un ciclo while che accumula i dati letti in un array e poi confronterà i valori degli array e farà l'azione.
get è il tipo di richiesta (esiste anche la post)
/wiki/pagina_principale è il percorso e nome della pagina. Se manca il nome della pagina o la sua estensione, normalmente i server HTTP aggiungono una di default (solitamente index per le pagine, html per l'estensione, ma spesso si modificano in base alle esigenze)
HTTP/1.1 è il protocollo di comunicazione utilizzato.
edit: anche
client.println(Connection: Keep-Alive);
è errato, giusto sarebbe:
client.println("Connection: Keep-Alive");
ma credo che questa sia una svista
comunque per testare questi comandi prova via telnet a collegarti a un server http (per esempio arduino.cc) e scrivere a mano qualche richiesta GET..
dato che in telnet non si può cancellare (ogni tasto premuto è subito inviato) conviene prepararsi il comando in blocco note e poi fare copia-incolla