Go Down

Topic: Utilizzo input form HTML per controllo orario su pin arduino (Read 465 times) previous topic - next topic

alphagamma

Ciao ragazzi.
Sto continuando i miei esperimenti con arduino e ethernet. Allora, ora sono ad un punto fermo: arduino va a formare un webserver e tramite una connessione ddns cerco di comandarlo da remoto (ancora non mi è possibile dato che avevo una linea VoIP Telec** e con il modem/router che danno loro in comodato d'uso aprendo le porte riesco ad entrare dall'esterno, ma la IP camera collegata al mio impianto non riesco a farla funzionare, dopo svariate prove sono giunto alla conclusione che è il router..quindi stò tornando al RTG tradizionale e cambiare router[mio]).
In sostanza, da remoto tramite browser ci si collega all' IP dell' arduino e si va ad aprire e chiudere un relè collegato al pin, nella pagina web sono presenti 2 buttons uno per l'accensione e l'altro per lo spegnimento del relè
Code: [Select]

client.println("<th>Comandi</th></tr>");
          client.print("<tr><td>RELE1</td>""<td><button type=button><a href=\"/ACCENDI\" target=\"inlineframe\">ACCENDI</a></button></td><td><button type=button><a href=\"/SPEGNI\" target=\"inlineframe\">SPEGNI</a></button></td></tr>");

e dopo l'uscita </HTML> va a leggere le stringhe
Code: [Select]

if(readString.indexOf("ACCENDI") >0)//controlla se stato premuto Accendi
          {
            digitalWrite(4, HIGH);    // mette ad HIGH il pin 4
            Serial.println("Led On");

if(readString.indexOf("SPEGNI") >0)//controlla se stato premuto Spegni
          {
            digitalWrite(4, LOW);    // mette a LOW il pin4
            Serial.println("Led Off");

Ora stavo cercando il modo per scrivere una funzione dove, inserito l'orario tramite questo codice:
Code: [Select]

<form action="demo_form.asp">
  Select a time: <input type="time" name="usr_time">
  <input type="submit">
</form>

mi gestisse il controllo del relè.  Ho ordinato un rtc ds1307 e vorrei che tramite l'input form di cui sopra venga comandato il relè. A parte che stò ancora pensando a come rispondere all'ASP con arduino, è fattibile secondo voi mettere il risultato dell'input form in una variabile e fare un controllo ogni tot millis() per confrontare l'ora voluta di accensione con quella attuale dell'RTC? Nel senso imposto nel submit form 22.30, inserisco i valori 22 e 30 come variabili e per esempio ogni 60 secondi controllo se corrisponde tramite byte ora = Wire.read(); e byte minuti = Wire.read(); all' RTC; se le due si eguagliano allora faccio partire l' ON. Può essere una cosa fattibile o c'è una funzione più logica e semplice da realizzare secondo voi?
Grazie,
Marco

Go Up