

Inklay: un display fai da te a bassa potenza che incita ad andare in bici

Mi reco regolarmente a Zurigo in bicicletta. Decido ogni mattina se prendere la bici o meno in base al tempo. Poiché nessuna app mi attrae e ho bisogno di ulteriore motivazione, costruisco il mio display personale.
Nei mesi più caldi mi reco regolarmente al lavoro in bicicletta a Zurigo. La decisione se prendere o meno la bicicletta avviene di solito la mattina presto, subito dopo essermi alzato. Controllo l'app meteo e decido spontaneamente a seconda del tempo, del vento e della temperatura. Tuttavia trovo la visuale nell'applicazione meteo poco stimolante. Occorre anche troppo tempo per raccogliere i dati più importanti per me.
Quindi ho avuto un'idea: voglio che le informazioni meteorologiche che mi interessano al mattino siano direttamente visibili. Inoltre, i chilometri settimanali e annuali che percorro dovrebbero motivarmi ad andare in bicicletta il più spesso possibile.
Una soluzione fatta in casa
Compro un tablet e metto insieme un piccolo sito web come dashboard. Ma presto mi rendo conto che non voglio una cosa del genere. Niente più cavi e prese di corrente in camera da letto. Voglio qualcosa di semplice. Qualcosa che è lì, che funziona in modo passivo e di cui non devo preoccuparmi.
Ad un certo punto della mia ricerca mi sono imbattuto nei display E-Ink. E-ink è estremamente efficiente dal punto di vista energetico e ho capito subito che potevo realizzare la mia idea senza cavi e spine di alimentazione.

Cerco tutti i componenti necessari, li ordino e nel corso di diversi mesi progetto un prodotto che soddisfa i miei standard e che posso assemblare da solo.
Il display finito mi mostra il meteo della mia località e i miei chilometri percorsi in bicicletta a settimana e all'anno – sia ringraziato il collegamento Strava. È collegato a Internet via WiFi e recupera i nuovi dati una volta all'ora per risparmiare la carica della batteria. Il display è incassato in un telaio di legno e in un case realizzato con stampa 3D appositamente progettato.
Dall'idea al prodotto finale
Dopo alcune ricerche iniziali scopro alcuni progetti di E-Ink entusiasmanti su Internet. Trovo progetti per la visualizzazione di dati meteo, calendari personali e liste di cose da fare. All'inizio è difficile avere una visione d'insieme dell'hardware e delle tecnologie utilizzate. Ma capisco sempre di più tutte le possibilità e anche i loro limiti.
Componenti
Opto per un display E-Ink di Waveshare. All'inizio dovrebbe essere un display in bianco e nero. Più tardi ordino un display a tre colori. Il nuovo display offre una risoluzione di 800 x 576 pixel. Un refresh del display richiede circa 20 secondi.


Posso controllare il display con un Raspberry Pi o un Arduino. Tuttavia, Waveshare vende una piccola scheda di sviluppo dotata di tutti i componenti necessari. Fornisce anche un'interfaccia diretta con il display. Il controller dispone del chip ESP8266, che ha il WiFi integrato e può essere programmato direttamente tramite l'Arduino IDE.

Per l'alimentazione del display e del controller utilizzo una batteria ricaricabile 3,7 V. Questa batteria offre 2000 mAh e può alimentare il sistema per quasi tre mesi secondo i miei calcoli. Vedremo nella pratica. Posso caricare la batteria tramite USB. Il corrispondente modulo di caricamento si trova nell'Adafruit Online Store.

Codice
Nel frattempo ho ricevuto i componenti. Ora posso programmare il controller ESP8266 direttamente dall'IDE Arduino. Ma non ne sono un fan e per fortuna trovo un'estensione per Visual Studio Code. Non ci vuole molto e sul display evoco il mio primo «Hello World».
Per ricevere dati da Internet, devo stabilire una connessione WiFi. La corrispondente libreria WiFi ESP8266 fornisce tutte le funzioni necessarie a questo scopo. Il mio display è rapidamente pronto a ricevere i dati meteo. OpenWeather offre un'API semplice e gratuita per questo scopo. Tuttavia, la memoria su ESP8266 è molto limitata. La JSON Response di OpenWeather è a volte troppo grande e il programma va in crash. Tuttavia, la libreria Arduino JSON fornisce la possibilità di filtrare i risultati in anticipo e di caricare in memoria solo i dati richiesti.
Per risparmiare energia, posso mettere il controller in stand-by. Con la cosiddetta funzione deep-sleep, il controller riduce tutte le attività e mantiene solo i processi assolutamente necessari per riattivarsi da solo dopo un tempo definito. Decido di aggiornare il display solo una volta ogni ora.
L'integrazione dei dati di Strava è un po' più complicata. A differenza di OpenWeather, l'API è protetta tramite HTTPS. Inoltre, posso accedere ai dati personali solo se mi sono precedentemente autenticato con Strava. Questa procedura si chiama OAuth 2.0. Alla fine tutto questo funziona e ho accesso ai miei dati personali come i chilometri in bicicletta, i tour in bicicletta e così via. Purtroppo non ci sono chilometri settimanali nell'API come API endpoint. Devo calcolarli io stesso dai miei ultimi giri in bicicletta.
Infine, voglio mostrare tutti i dati con una bella grafica sul display – per quanto sia possibile fare con un E-Ink. Per la visualizzazione di caratteri e immagini utilizzo la GxEPD2 Library. Questa biblioteca è stata sviluppata da uno svizzero. Da quando ho acquistato un nuovo display Waveshare, ha gentilmente ampliato la sua biblioteca per me.

Telaio del display e custodia
Sono un fan del legno. Nel mio appartamento ho molti mobili in legno. Per me è chiaro che voglio incorporare il display in una cornice di legno. In un progetto precedente ho avuto modo di conoscere le possibilità del taglio e dell'incisione laser. Questo servizio è offerto dal Laser-Atelier di Zurigo. Dopo alcune prove con diversi legni e tecniche di incisione, effettuo l'ordine. Il risultato: un telaio in legno tagliato con precisione e un’incisione, una base per il controller e il caricatore USB.


Un po' più complicata è la produzione del case. I display Waveshare non sono centrati. Ma voglio davvero avere una cornice uniforme. Posso compensare questo decentramento con il mio case. Un taglio laser non è possibile qui. Decido quindi di utilizzare la stampa 3D. Qui ricevo il sostegno di un buon amico di Lauschsicht. Occorrono almeno quattro iterazioni prima di essere soddisfatti del risultato. Prima progetto il case in Cinema 4D e poi passo a Fusion360. Quest'ultimo è molto più adatto a questo tipo di lavoro.



Installo anche due interruttori. Il primo interruttore serve ad accendere e spegnere il display. E con il secondo posso interrompere la modalità deep-sleep – durante lo sviluppo o il debug non voglio che il controller vada in stand-by dopo pochi secondi.
Per il montaggio metto il display nella custodia e lo incollo alla struttura in legno. Incollo anche il controller alla base. Saldo il caricabatterie USB e gli interruttori al controller. Il montaggio di un singolo display richiede circa un'ora.

Alcune statistiche sul mio progetto
- Un taglio laser, inclusa l'incisione, richiede circa 30 secondi – sì, è incredibilmente veloce.
- La compilazione del codice richiede circa 2 minuti.
- Una stampa 3D del case richiede circa 4 ore.
- La consegna di una batteria Adafruit dagli USA richiede 2 giorni.
- La consegna di un display Waveshare dalla Cina richiede dalle 2 alle 3 settimane.
Cosa ho imparato?
Il progetto è principalmente un progetto personale. L'idea è nata durante il primo lockdown in primavera. Ora posso dire di aver imparato tantissimo. Mi sono occupato di tecnologie con cui ho lavorato poco o mai prima d'ora. La curva di apprendimento è ripida e il fattore divertimento è corrispondentemente alto. È anche incredibilmente bello creare qualcosa con le proprie mani. Come designer e sviluppatore di software di solito non lo faccio molto spesso. E la cosa migliore è che da allora ho fatto molti altri tour in bicicletta.

In ogni caso, sono entusiasta di portare avanti il progetto. Ho già qualche idea interessante in proposito. Per esempio un'app Companion, più integrazioni, più sport, dati degli amici, statistiche emozionanti e divertenti e molto altro ancora.
Il prodotto è adatto anche per altre applicazioni. Un calendario di famiglia in soggiorno, per esempio, o un'immagine del radar della pioggia vicino al guardaroba. Quali sono le tue idee? Fammelo sapere nei commenti.


Lavoro come designer e sviluppatore indipendente. Sono anche fondatore di Vision 11, un piccolo studio di design per esperienze digitali a Zurigo. Vision 11 crea esperienze eccezionali, interattive e coinvolgenti per clienti nazionali e internazionali.
www.vision11.ch