Buongiorno a tutti,
sto impostando uno sketch con Nano 33 IOT su Cloud per un sistema di irrigazione automatico.
Avrei necessità di impostare un ora affinché possa partire l'impianto d'irrigazione (fondamentalmente un timer).
Quale potrebbe essere il metodo più "furbo" tenendo conto delle potenzialità del Cloud di Arduino?
Avete da consigliarmi delle letture o esempi in merito?
Attendo cortese riscontro.
Visto che c'è il WiFi sincronizza il tempo con un server NTP.
Per quanto riguarda il timer giornaliero, io di solito faccio "i conti" usando il tempo nel formato unix time(numero di secondi trascorsi dal 01/01/1970 00:00:00) ovvero rappresentato come una singola variabile unsigned long.
calcoli il momento in formato unix time in cui è iniziata la giornata attuale facendo l'operazione
unsigned long currentUnixTime = "il metodo della libreria che recupera il tempo aggiornato";
unsigned long startOfDay = currentUnixTime - (currentUnixTime % 86400);
a questo punto per attivare il timer all'ora X, basta fare un semplice if (occhio che rimane valido per la durata di un secondo, gestisci eventuali fronti di salita se necessari).
unsigned long oraX = ora*3600 + minuti*60;
if (startOfDay + oraX == currentUnixTime ){
//timer attivo
}
ok grazie Contestatnt,
la via è quella non c'è un qualche altro modo utilizzando le proprietà del cloud.
Sono neofita e avevo l'impressione che potesse essere una metodologia sorpassata, visto che la mia fervida immaginazione mi aveva spinto a cercare qualche variabile nativa del cloud.
Prossimo weekend ci provo.
Grazie ancora!
Cosa intendi con "variabile nativa del cloud"??
Con Cloud si intende un servizio erogato su richiesta attraverso una connessione Internet... non ci sono variabili, ma servizi per l'appunto, i quali dipendono dallo specifico prodotto offerto in Cloud e di solito sono accessibili con le cosiddette API (Application Programming Interface).
Ricapitolando, se il servizio Cloud, che a 'sto punto presumo sia Arduino IoT Cloud, ti consente di recuperare in qualche modo la data aggiornata puoi anche usare quello.
Di solito nei messaggi aggiungono sempre un timestamp, potresti sfruttarlo per sincronizzare il tempo localmente, ma un server NTP sarebbe più preciso perché il timestamp in realtà è relativo al momento di creazione del messaggio di risposta.
Si giustamente intendevo Arduino IoT Cloud.
Interessante quello che dici relativamente ai messaggi, voglio provarci.
Alla fine la mia esigenza è far aprire ad una determinata ora un elettrovalvola, non ho esigenze particolari di precisione.
Grazie infinite per lo spunto!