Ciao gero13,
è possibile fare quel che dici, il problema è che Arduino non è in grado di lavorare con le variabili di sessione (come sarebbe piu' giusto fare). Per questo motivo, una volta effettuato il login, la pagina resterà costantemente aperta, a meno che tu non esegua il logout attraverso il pulsante specifico all'intero della pagina. Un altro potenziale problema è il fatto che, una volta eseguito il login, la pagina resterà aperta per tutti gli utenti che ci si connettono, siano essi nella tua rete casalinga o attraverso un DNS.
Detto ciò, veniamo al dunque: ti basta intervenire un attimino sul codice che carica la pagina web, una volta che un client vi si è connesso:
- Codice: Seleziona tutto
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
readString.concat(c);
if (c == '\n' && currentLineIsBlank){
if (readString.indexOf("Nome=usernamechevuoi&Pwd=passwordchevuoi") > 0) {
login=true;
}
if (readString.indexOf("L=exit") > 0) {
login=false;
}
if(login==true){
//ho eseguito il login, carico la pagina classica
} else {
//carico pagina con form di login
}
}
}
N.B: nella form devi dare il nome giusto ai campi, in questo caso il campo utente lo chiamerai "Nome" e il campo password "Pwd".
Spero di esserti stato di aiuto.
Ciao!