ESP32 ed il Nextion
Qui tratteremo due aspetti:
Punto 1: l'ESP ha tre porte UART Hardware, quella più indicata per collegare il monitor Nextion è la UART2 perchè è totalmente libera non usata per altri scopi. Mentre la 0 e la 1 hanno gia dei pin dedicati per la 2 vanno assegnati. I pin che abbiamo dedicato sono: il D6 per TX ed il D7 per l'RX e vanno assegnati con questa linea di codice:
Punto 2:
Per poter gestire il monitor Nextion bisogna scaricare la libreria Nextion.h dal sito ufficiale della Nextion e poi eseguire delle modifiche. Ia libreria viene rilasciata come file zip:
ITEADLIB_Arduino_Nextion-master.zip
Questa Libreria è pensata per essere utilizata con alcune modifiche o con un ESP32 o con un Arduino sdella serie core AVG tutti glialtri modelli co una sola UART. Mentre sarebbe molto più utile utilizzare il monitor Nextion sia con Arduino nano ESP32 sia con ua scheda Core AVR (Uno, Nano, Leonardo, Mini Pro), quest'ultimi a differenda dell'ESP che ha Tre porte UART Hardware hanno solo una porta UART hardware quella sui pin TX e RX, per poter utilizzare il nextion senza creare conflitti bisogna lasciare la porta Hardware per caricare gli sketch e utilizzare il monitor seriale e creare una porta UART SoftwareSerial che è una porta virtuale che posso associare a pin di mia scelta. In questo modo Arduino colloquia con il nextion tramite questa porta e lascia l'unica porta Hardware per sketch/monitor. Ecco allora l'idea di creare una libreria che possa funzionare su qualsiasi tipo di Arduino. Per prima cosa abbiamo eliminato la classe nexUpload.h/cpp. Qesta è una vecchia classe che serviva per caricare i file progetto tft nella flash del Nextion via seriale da Arduio. In pratica Arduino leggeva un file progetto da una SD a lui collegata e la inviava via UART al nextion che la carcava nella memoria flash. Io personalmente non avrei comunque mai utilizzato questa modalità di caricamento dei file tft preferendo inserire l'SD direttamente nel lettore di microSd del Nextion. Però in questa classe c'era un metodo che ci permetteva di impostare il baud rate del Nextion cosa invece molto utile, ma eliminando questa classe il metodo non è più disponibile. Abbiamo allora scritto noi una funzione che facesse la stessa cosa l'abbiamo inserita nel file Nextion.h inline. Ora dobbiamo spiegare una cosa. Qundo noi utilizziamo un Arduino ESP32 carichiamo il core corrispondente che possiede al suo inteno la classe: HardwareSerial.h ma non esiste la classe: SoftwareSerial.h perchè avendo già tre UART Hardware molto veloci no avrebbe avuto senso avere anche delle porte virtuali software molto lente. Mentre se utilizziamo un arduino con Arduino core AVR avendo una sola UART hardware dedicata al caricamento degli sketch e l'uso del monitor seriale, hanno la necessità di avere un'altra porta necessariamete software per questo nel core è presete la classe SoftwareSerial.h. Allora nel codice se si rileva la presenza di un ESP32 allora viene compilato il metodo: inline void setNextionBaud(HardwareSerial &ser, uint32_t baud) Altrimenti: inline void setNextionBaud(SoftwareSerial &ser, uint32_t baud)
Nextion.h
Altro file da modificare è il NexConfig.h
La procedura per caricare questa libreria è:
Nello sketch scriveremo cosi se abbiamo un ESP32:
Nello sketch scriveremo cosi se abbiamo un Nano Classic, nano Every, UNO, mini pro:
Dove vengono memorizzate le librerie che si istallano come file.zip? In Arduino IDE se andiamo su File/Impostazioni possiamo impostare il percorso dove salvare gli sketch quello di default è: C:\Users\cersi\Documents\Arduino\libraries Ma qui oltre a memorizzare gli sketch che salvi vengono memorizzate anche le librerie che carichi come file .zip da Sketch\#include libreria\ Aggiungi libreria da file zip. Per tenere separate le libreria dagli sketch, lasciare in ipostazioni il percorso: C:\Users\cersi\Documents\Arduino\libraries e questo farà in modo che tuttele librerie che carichiamo da sketch verranno memorizzate qui. Quando creiamo un nuovo sketch e lo ndiamo a salvare l'IDE ci apre questa direttoy, ma poichè noi non vogliamo salvare ilnostro sketch lì dovremmo manualmete andare nella direttory di lavoro il chè è lungo e tedioso. C'è però un modo più rapido per andarci. Aprire esplora risorse portarsi nella direttory di lavoro e in alto a sinistra cliccare su Aggiungi ad Accesso rapido. Questo frarà in modo che quando andiamo a salvare dall'iDE un nuovo sketch si aprirà la finestra di salvataggio alla posizione delle librerie ora basterà cliccare su Accesso rapido e ci comparirà la nosta cartella di lavoro basta cliccarla e subito saremo li. C'è però una cosa da sistemare, Windows aggiunge automaticamente tra la raccolta degli accessi rapidi un certo numero di cartelle dalle visite recenti QUesta fa si ce se volessimo eliminare quelle che non c'interessano dovremmo con il pulsante destro cliccare su ciascuna di esse e applicare elimina da accesso rapido, però come ne eliminiamo una subito Windows ne aggiunge un'altra. Per poter pulire le cartelle in Accesso rapido e lasciare solo quelle che ci interessano bisogna bloccare questo meccanismo automatico. Andare in Esplora file, cliccare Visualizza → Opzioni → Cambia cartelle e ricerca → Opzioni cartella
Le cartelle che aggiungerai manualmente rimarranno fisse fino a che non le cancelli tu.
|