I got my old Nook set up as a TRMNL display! Just weather and daily steam sales right now but after a long afternoon of figuring it all out, accidentally wiping everything back to stock once, then doing it all again more efficiently, I'm pretty happy with myself
Repurposing my dusty old iPad 3 as a TRMNL display, with a self-hosted TRMNL server running in my homelab.
Di recente ho visto un video su YouTube riguardante un'azienda chiamata TRMNL che vende display e-ink always-on. Questi display e-ink sono pensati per essere utilizzati come dashboard per visualizzare qualsiasi tipo di informazione.
La cosa interessante di TRMNL è che gran parte del suo stack software è open-source, auto-ospitabile e compatibile con vari dispositivi di terze parti (ad esempio Kindle) o qualsiasi dispositivo in grado di aprire una pagina web.
Avevo un vecchio iPad 3 che prendeva polvere in un cassetto e ho pensato che sarebbe stato divertente configurarlo nel mio laboratorio casalingo. La configurazione è stata piuttosto semplice. Non ho ancora dedicato molto tempo alla creazione di schermate informative, ma anche con le poche che ho al momento, sono soddisfatto di come funziona.
A quanto ho capito, l'architettura software di TRMNL è piuttosto semplice. Il server raccoglie periodicamente dati da varie fonti (ad esempio, interrogando un endpoint o tramite webhook), li elabora in una pagina web utilizzando dei template e ne acquisisce uno screenshot per il dispositivo dell'utente. Il dispositivo su cui è in esecuzione il client – ad esempio, nel mio iPad si tratta semplicemente di Safari con una pagina web aperta – interroga il server a intervalli fissi, recupera gli screenshot più recenti e li visualizza sullo schermo.
Penso che dovrebbe essere abbastanza facile implementare qualcosa del genere con Vibe-Code per il tuo caso specifico, magari con una configurazione ancora più semplice (ad esempio, saltando la generazione dell'immagine e facendo in modo che il tuo dispositivo apra una pagina che si aggiorna regolarmente). Comunque, questa configurazione mi piace e continuerò a usarla.
La configurazione
Alla fine ho optato per LaraPaper come server. Ha un'interfaccia utente piuttosto minimale, è facile da configurare con una singola immagine Docker e supporta nativamente le ricette provenienti da cataloghi ufficiali e della community.
Docker Compose
Ho aggiunto il seguente codice YAML al file Docker Compose del mio homelab:
Dopo aver avviato il mio nuovo servizio e riavviato nginx con la nuova configurazione, ho visitato la dashboard di LaraPaper e ho registrato un account. Per fare in modo che il server visualizzasse le immagini nelle dimensioni dello schermo del mio iPad, ho dovuto prima aggiungere un modello di dispositivo personalizzato .
Dopo aver configurato il modello del dispositivo , ho aggiunto un nuovo dispositivo con un indirizzo MAC e una chiave API casuali e ho creato una playlist per il dispositivo .
iPad
Sul mio iPad, ho semplicemente aperto la /mirrorpagina tramite l'URL della mia istanza LaraPaper ospitata e ho aggiunto un collegamento al sito web sulla schermata iniziale per visualizzarlo a schermo intero. Potevo anche aprire questa pagina nel mio browser per consultare le ricette che volevo provare.
Ricette
Una cosa che apprezzo di LaraPaper è la possibilità di modificare immediatamente qualsiasi ricetta selezionata da un catalogo, una volta importata. Alcune ricette mi piacevano (ad esempio, quella che visualizza l'ultimo fumetto di xkcd o un'altra che mostra citazioni stoiche), ma non tutte apparivano al meglio sullo schermo del mio iPad appena scaricate. Probabilmente ciò è dovuto alle dimensioni maggiori dello schermo rispetto ai display standard di TRMNL.
Tuttavia, con gli LLM, è piuttosto facile modificare questi modelli di ricette a proprio piacimento. Basta copiare il codice del modello in una chat LLM e chiedere di modificarlo secondo le proprie esigenze. Non è perfetto, ma dopo qualche tentativo si può ottenere il risultato desiderato.
Cosa succederà dopo?
Al momento ho configurato solo un numero limitato di schermate informative, ma grazie alla flessibilità offerta da LaraPaper, mi vengono in mente alcune idee:
Recupera i dati dalle API di Garmin o Strava e visualizza un calendario delle attività.
Mostra il grafico dei miei contributi su GitHub (non è qualcosa che ottimizzo, penso solo che sia interessante da vedere).
Visualizza estratti di tutti i nuovi post dai miei abbonamenti RSS
Monitora le performance del mio portafoglio utilizzando l'API di Zerodha.
Mostrami le previsioni del tempo o l'indice di qualità dell'aria (AQI) della zona intorno a me
Scopri quando andrà in onda il prossimo episodio dell'anime che voglio guardare.
Quando ne avrò l'occasione, vorrei anche sperimentare la visualizzazione di pannelli colorati sull'iPad.
Per ora è tutto. Mi piacerebbe molto sapere anche del tuo TRMNL, se decidi di crearne uno. Scrivimi pure idee, commenti o suggerimenti all'indirizzo email che trovi sulla mia homepage .
This is how my current TRMNL Transit Chart Dashboard looks like! Version one. The large headings are my natal chart planets, while the subtext is the transit chart planets, and how the aspect my natal planets. When the orb is less than 2, it is highlighted as black. There's some bugs, but it's mostly correct. I used something called freeastrology.api (actually not sponsored, they give you 50 free requests everyday and that was sufficient for me). Because of this, I can't publish this recipe on TRMNL myself. I plan to eventually put the code out if anyone wants it! Just message me.