Ciao a tutti.
Volevo avere un chiarimento se possibile.
Avrei la necessità di implementare usando i monitor touch Nextion una sorta di interfaccia touch per un mio progettino.
QUesto sistema deve mostrare dei dati proveniente da alcuni sencosi collegati in rete, mostrare data ed ora e fare chiamate HTTP.
Sicuramente per leggere valori dai sensori, utilizzero un modulo NodeMcu con wifi integrato, o un arduino con Wifi integrato, che si preoccuperò di leggere e scrivere valori.
Per implementare un orologio invece, volevo sapere se era possibile sfruttare le potenzialità del Nextion per far fare tutto a lui (la parte orologio).
grazie a tutti per eventuali suggerimenti.
Si a patto che il display Nextion sia un modello Enhanced che ha a bordo un RTC.
Ma la domanda è perché?
in pratica io vorrei, creare un sorta di applicationc he ti consenta di visionare data e ora, che poi possa attraverso diverse pagine, mostrare dati che arrivano dai sensori, e attraverso dei pulsanti poter fare delle chiamate HTTP, per fare questo avevo pensato di utilizzare una scheda Arduino con ESP8266, piuttosto che un modulo NCU o qualcosa di simile.
Ci deve essere connessione di rete (rete locle), ma non è detto che ci sia connessione internet.
Avevo pensato di implementare direttamente l orologio sul Nextion perchè poi magari Arduino poteva non riuscire a fare da orologio più gestire altre operazioni.
Mi sbaglio ?
la differenza di costo tra un display standard e uno enhanced è molto maggiore di un modulino RTC da applicare ad Arduino, se non hai necessità di visualizzare anche i secondi e/o se questi, quando ci sono operazioni bloccanti, restano bloccati per uno/due secondi non è un problema io non andrei su quello avanzato ma gestirei il tutto da Arduino.
Anzi ora che ci penso potresti fare un ibrido ovvero sul Nextion hai i timer che puoi sfruttare per fare un orologio che Arduino va ad aggiornare solo una volta ogni tanto (Es. un minuto, dieci minuti, ecc. in base alla precisione riscontrata) in questo modo sopperisci alle operazioni bloccanti usando un moduklo RTC economico per Arduino e senza spendere troppo per il display avanzato.
Mi spiego meglio, all'avvio del sistema Arduino inviada data e ora al nextion che con un timer settato a 1000 ms aggiorna in modo autonomo la label contenente i dati di ora e data. Chiaramente il Nextion non sarà precisissimo con il segnale di clock (così come non lo è Arduino) e perderà progressivamente l'orario esatto come farebbe Arduino se si sfruttasse solo millis() per calcolare il trascorrere del tempo, dopo alcune ore saresti sfasato di un certo numero di secondi e/o minuti. Credo che avvenga anche con il Nextion.
Ma se tu ogni tanto da Arduino leggi l'ora dall'RTC e la invii al Nextion in questo modo (circa):
Spegni il timer del nextion che aggiorna l'orologio
Invii la nuova data, ora, secondi
Riattivi il timer del Nextion
Periodicamente lo rifasi, ogni quanto è necessario non so dirtelo perché dipende da un sacco di fattori non determinabili (Qualità costruttiva, temperatura d'esecuzione, ecc.) ma sperimentando troverai il giusto compromesso
senti mi hai dato davvero un bel suggerimento.
Quindi acquisto un modulo RTC che viene collegato ad Arduino, da qui io leggo l'orario e lo invio al nextion il quale provvederà ad aggiornare il suo tempo in automatico. Dopo x minuti Arduino refrescerà in automatico questo timer.
Ti ringrazio molto per il suggerimento.
Nel frattempo mi è sovvenuto un altro suggerimento
forse puoi risparmiarti anche l'RTC, se hai tempo di fare prove.
L'idea nuova è basata sulla disponibilità della rete internet. Ovvero hai detto che potrebbe non esserci ok se sai che nella maggior parte dei casi c'è o che la sua mancana non supera la durata massima di alcune ore allora invece di usare l'RTC ogni tanto interroghi tramite chiamate NTP un server che ti dice l'ora e la mandi al Nextion.
Se invece questo dato non è dato saperlo allora vai di RTC