Pensate a una soluzione innovativa che consenta di personalizzare liberamente e in profondità, il funzionamento di cornici digitali, display di vari produttori e schermi e-ink. Tutti questi prodotti possono svolgere funzioni specifiche trasformandosi in calendari smart per la casa e l’ufficio, display per sale riunioni, termostati intelligenti, dashboard industriali, schermi pubblicitari e molto altro ancora.
FrameOS è una piattaforma progettata per funzionare su kernel Linux: al momento è un’applicazione binaria ma, come spiega l’autore, è di fatto considerabile come un sistema operativo vero e proprio. D’altra parte, anche lo stesso Android non funziona proprio su kernel Linux?
Il progetto necessita dell’installazione su Raspberry Pi OS Lite (quindi senza desktop environment): una volta concluso questo passaggio, tuttavia, permette di personalizzare in toto il comportamento del display collegato.
Cos’è e come funziona FrameOS
Marius Andra, ideatore di FrameOS, racconta che il prodotto è nato con il preciso obiettivo di personalizzare il comportamento di un display e-ink collegato con una scheda Raspberry Pi Zero W. Si è poi evoluto in uno strumento ampiamente versatile e flessibile, in grado di “pilotare” un’ampia gamma di dispositivi utilizzabili, ad esempio, per visualizzare le informazioni provenienti da sensori o da dispositivi per l’Internet delle Cose (IoT).
Per iniziare a usare FrameOS, è necessario installare FrameOS Controller e poi configurare la scheda Raspberry Pi, seguendo la guida specifica per il proprio schermo. Sono supportati molti modelli di display e-ink, l’output HDMI (framebuffer) e la modalità kiosk tramite server Web.
FrameOS Controller è l’applicazione che consente di distribuire FrameOS su singoli dispositivi. Una volta caricato il software, gli schermi non necessitano più del controller per funzionare, anche se può essere utile mantenere attivo il componente software ai fini dell’elaborazione dei log.
Il sistema FrameOS è disponibile come immagine Docker, continuamente aggiornata e migliorata dallo sviluppatore. Il consiglio è di acquistare un Raspberry Pi Zero 2 W, che offre un buon compromesso tra prestazioni, consumo energetico e dimensioni.
Installazione su Raspberry Pi e utilizzo dello schermo collegato
Dopo aver scaricato e installato Raspberry Pi OS Lite tramite Raspberry Pi Imager, è importante modificare le impostazioni quando richiesto assicurandosi di impostare correttamente il nome dell’host e le credenziali WiFi. La chiave SSH deve essere copiata dalla pagina delle impostazioni di FrameOS Controller.
Collegando la scheda Raspberry Pi con lo schermo da gestire, i dispositivi inizieranno a colloquiare reciprocamente: a questo punto si è pronti per eseguire FrameOS e installare le app desiderate.
Una volta attivato, FrameOS prende il controllo dell’intero sistema, ha le sue cartelle apps
e drivers
, comportandosi di fatto come un sistema operativo. L’interfaccia di tipo drag-and-drop permette di combinare applicazioni scritte nel linguaggio Nim in modo da formare delle “scene”. È possibile modificare le app esistenti o crearne di nuove per adattarle alle proprie esigenze.
Nim è un linguaggio di programmazione general-purpose progettato per essere efficiente, espressivo e flessibile. Il suo sviluppo è iniziato nel 2005 con l’obiettivo di fornire una soluzione efficiente capace di ereditare le migliori caratteristiche di altri linguaggi popolari, come Python, Ada e Modula-3.
Lo stesso FrameOS è sviluppato utilizzando il linguaggio di programmazione Nim in modo da puntare su efficienza e prestazioni, sulla compilazione nativa, sull’interoperabilità, sulla facilità di scrittura e modifica del codice. FrameOS supporta anche il modello generativo GPT-4: utilizzandolo, è possibile usare l’intelligenza artificiale per scrivere e debuggare le applicazioni.
Le immagini pubblicate nell’articolo sono tratte dal sito ufficiale del progetto.