Tutte le news su OLED con ESP8266

0

Di Stefano Lovati

Il progetto presentato in questo articolo sfrutta la funzionalità di connessione WiFi del modulo ESP8266 per visualizzare in tempo reale, su un piccolo ma estremamente nitido ed economico display OLED, le ultime notizie pubblicate dalle agenzie e dai principali siti di informazione mondiali

l progetto presentato in questo articolo, molto economico e di semplice realizzazione, consente di visualizzare su un piccolo display OLED le ultime notizie pubblicate dalle principali agenzie di stampa e siti di informazione a livello mondiale.
Le finalità del progetto sono anzitutto (ma non soltanto) didattiche: il lettore avrà infatti modo di apprendere le principali tecniche utilizzate per interfacciarsi con siti che rendono disponibili, tramite l’utilizzo di particolari strutture dati, delle informazioni di pubblico interesse e utilità. Assemblato su una piccola breadboard, il circuito composto dal modulo ESP8266, dal display OLED e dai relativi collegamenti diventa inoltre un gadget simpatico e divertente da tenere sulla scrivania, in grado di accompagnarci durante le lunghe sessioni di lavoro davanti al computer, mentre guardiamo la TV oppure stiamo semplicemente passando il tempo impegnati in uno dei nostri passatempi preferiti. Un vantaggio non trascurabile del circuito proposto è quello di presentare assorbimenti estremamente ridotti, potendo quindi essere comodamente alimentato tramite batteria oppure con un piccolo power bank.

Schema a blocchi

Figura 1: schema a blocchi del progetto

 

Lo schema a blocchi del progetto, sovrapposto al prototipo in funzione, è visibile in Figura 1. Il cuore del sistema è rappresentato dalla scheda NodeMCU, basata sul noto system-on-chip ESP8266 sviluppato dall’azienda Cinese Espressif Systems.
Il SoC ESP8266 incorpora tutto ciò che serve per creare delle applicazioni dotate di connettività wireless: oltre al transceiver WiFi, il modulo è infatti equipaggiato con un microcontrollore Tensilica a 32 bit, memoria flash e memoria RAM, una ricca dotazione di periferiche (GPIO, UART, I2C, I2S, SPI, ADC e altro ancora), tutto integrato in un dispositivo dalle dimensioni estremamente compatte.

 

Figura 2: la scheda NodeMCU con in evidenza il modulo basato sul SoC eSP8266

 

Come visibile in Figura 2, il modulo incorpora inoltre l’antenna, necessaria per la connettività WiFi, stampata direttamente sul PCB del modulo stesso. La scheda NodeMCU andrà programmata con lo sketch, sviluppato in ambiente Arduino IDE, allegato al presente articolo.
Dopo aver eseguito la fase di configurazione di alcuni parametri (che verrà analizzata in un successivo paragrafo) il programma può essere compilato e scaricato sulla scheda NodeMCU. Sfruttando le API (Application Programming Interface) rilasciate dal sito web News API [1], il programma sarà in grado di acquisire in tempo reale le principali notizie pubblicate dalle agenzie di stampa e dai siti di informazione di tutto il mondo (come, ad esempio, le notizie “Ultima Ora” pubblicate dal sito Ansa.it).
La sorgente e la categoria di notizie può essere scelta dall’utente e configurata all’interno dello sketch, potendo così “filtrare” gli argomenti ritenuti più interessanti: notizie sportive, di attualità, tecnologia, scienza ecc. L’interazione tra lo sketch e l’interfaccia offerta dal sito News API è rappresentata in Figura 1 dalla nuvoletta “Internet” e dal relativo collegamento (con trasferimento dati di tipo bidirezionale) con la scheda. Sebbene l’accesso al sito News API sia totalmente gratuito, occorre effettuare la registrazione per ottenere la chiave (“API key”) che andrà poi utilizzata per richiedere le informazioni al sito stesso.
Il protocollo utilizzato per il collegamento è il classico HTTP, peraltro adatto a questo tipo di applicazione in cui non è richiesta la cifratura dei dati ma, soprattutto, semplicità e compattezza del codice generato. Vedremo più avanti come comporre le stringhe di interrogazione al server HTTP, basandoci sul tipo di notizie che vogliamo ottenere. A seguito di ogni richiesta HTTP eseguita dall’applicazione, la scheda riceve un pacchetto dati che andrà opportunamente elaborato per estrarre le informazioni utili, cioè il contenuto della notizia.
Questa informazione verrà poi inviata al display OLED, gestito tramite apposite librerie che provvedono ad inviare al dispositivo sia i comandi che i dati previsti dal protocollo implementato dal controller. L’applicazione utilizza un display OLED monocromatico molto compatto (0,96 pollici) con risoluzione pari a 128 x 64 punti e interfaccia I2C.

 

Figura 3: il display OLED da 0,96” con interfaccia I2C

 

Il display, visibile in Figura 3, offre un contrasto e una luminosità nettamente superiori rispetto a quelli ottenibili con un normale display LCD, unitamente ad assorbimenti e dimensioni estremamente ridotti. Inoltre, è possibile creare, utilizzando degli appositi strumenti software, delle immagini bitmap con dimensione pari a 128 x 64 partendo da immagini reali quali fotografie, disegni, logo di aziende, ecc. Come vedremo, anche questa funzionalità verrà utilizzata nel progetto presentato nell’articolo.

Per continuare a leggere questo articolo devi accedere al sito. Per favore effettua il login o registrati .
Totale 0 Voti
0

Dicci come possiamo migliorare questo articolo..

+ = Verify Human or Spambot ?

Informazioni sull'autore

Sono Stefano, nato a Milano nel 1963. Dopo aver conseguito la laurea in Ingegneria Elettronica al Politecnico di Milano, ho iniziato la mia attività lavorativa come sviluppatore firmware e software. Nel corso degli anni ho vissuto e "cavalcato" la progressiva trasformazione del mondo embedded, dai primi microprocessori a 8 bit programmabili esclusivamente in assembler ai più recenti Soc, FPGA, DSP e logiche programmabili con prestazioni e caratteristiche di assoluto rilievo. Mi interesso di tecnologia ed elettronica a 360°, dedicando parte del mio tempo libero allo studio di nuovi componenti e alla realizzazione di piccoli progetti.

Nessun commento su "Tutte le news su OLED con ESP8266"

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.