Chi conosce Star Trek sa riconoscere la grafica LCARS del computer di bordo. Ma è possibile replicarla su di un Raspberry PI e controllare sensori?
Nell’universo fantascientifico di Star Trek, LCARS, sigla di Library Computer Access and Retrieval System (sistema di recupero e accesso “dati e funzioni” del computer), è un’interfaccia informatica, sia software che hardware, usata sulle astronavi della Federazione Unita dei Pianeti.
Nella cronologia di Star Trek, il termine fu usato per la prima volta in Star Trek – The Next Generation e nelle serie successive. Nel contesto del mondo reale, il termine “LCARS” è usato frequentemente per indicare lo stile delle schermate del sistema LCARS, in particolar modo quelli di Next Generation.
A questo stile ci si riferisce anche come okudagrammi, dal nome di Michael Okuda, il designer della serie. Lo stile è molto diffuso nei siti web dei fan di Star Trek
PiRitOS
“Ritos è un sistema LCARS per siti web basato su Star Trek: Lower Decks,” ci dice James Mitchell, creatore di PiRitos. “È stato creato da me. Fondamentalmente, è un bel sito di tipo screensaver per i fan. PiRitos è l’estensione del sistema Ritos, ospitato su un Raspberry Pi e ha alcune funzionalità extra basate su server. Ad esempio, la connessione ai sensori e la sincronizzazione dello stato di allerta rosso con altri client Web connessi.
Ciò significa che è possibile creare un gioco di ruolo di Star Trek, con diversi schermi in una stanza, che abbiano un certo grado di connettività, come la visualizzazione di un allarme rosso.
“Successivamente, ho collegato i LED sul retro del mio monitor e lampeggiavano in rosso se lo stato era ‘allarme rosso'”, continua James. “Ho collegato un HAT Raspberry Pi Sense al server Flask, in modo che i dati meteorologici della stanza venissero inviati al sistema PiRitos. Alla fine, per un po’ di divertimento, ho collegato un RP2040 al server e questo ha trasmesso la lettura del proprio sensore di temperatura interno al server Flask. In tal modo lo stato viene inviato anche a tutti i client connessi.”
Processori isolineari
Il progetto stesso è iniziato esclusivamente come Ritos per browser ma, dopo averlo visto in azione, James ha chiesto se poteva avere il codice sorgente per realizzare PiRitos. L’ha usato come scusa per imparare Flask e Socket.IO, poiché ritiene di imparare meglio tramite un progetto.
“MeWho Rob ha deciso di aiutarmi, e in alcune settimane siamoriusciti a lavorare insieme per aprire alcune delle funzioni JS e allegare il codice Socket.IO”, spiega James. “Dopodiché, il risultato finale è stato un semplice sistema di controllo in cui Flask e Socket.IO comunicano con i client connessi. Una volta che la comunicazione tra server e client funzionava, è stato semplicissimo estenderla all’hardware fisico come LED e sensori”.
Contatto!
Il risultato è fantastico: se ne è parlato nel numero di MagPI (dal quale anche questo articolo è tratto) dopo che è stato condiviso in lungo e in largo sui social media, con molti fan di Raspberry Pi e Star Trek entusiasti del progetto.
“Al momento, non credo di avere intenzione di fare altro con il sistema PiRitos”, ammette James. “È stato un po’ divertente e un’ottima esperienza di apprendimento, ma ci vorrebbe molto lavoro per trasformarlo in qualcosa di più utile. Personalmente, voglio armeggiare di più con la connessione di Raspberry Pi con altri servizi intelligenti come l’accensione e lo spegnimento di prese e luci intelligenti. Questo potrebbe entrare in PiRitos ad un certo punto. O il contrario, ottenere un assistente vocale, come Alexa, per impostare lo stato di allerta rossa sarebbe fantastico, ma [noi] non abbiamo alcuna road map del genere al momento… so che Rob sta andando avanti per creare un sito LCARS basato sulla serie Picard, e forse possiamo lavorare per farlo funzionare anche con Raspberry Pi!
Join our groups on Telegram…