7 luglio 2016

Cerco di aprirti la mente, Neo, ma posso solo indicarti la soglia. Sei tu quello che la deve attraversare (cit.)


Ciao!

Ve lo avevo promesso tempo fa e finalmente sono riuscito a mettere assieme i vari pezzetti: quello di oggi è il riepilogo degli ultimi mesi di prove e smanettamenti con il raspberry pi 3!

Ho anche raccolto tutte le domande che mi avete posto durante le settimane passate ed in questo articolo (e nel video ad esso correlato) trovate le mie risposte: spero siano esaurienti! Ad ogni modo sono sempre disponibile qui sul blog, su YouTube e su tutti gli altri canali social per maggiori dettagli, commenti, delucidazioni e soprattutto aperto a tutti i vostri suggerimenti!

Si comincia :D

Dopo averlo spacchettato ed averne dato una panoramica generale e, soprattutto, dopo averlo recensito ho iniziato a "giocare" con molte delle possibilità aggiuntive offerte dal piccolo micro-computer.


I. Multi Boot


Una delle cose che ho voluto subito mettere in chiaro è la possibilità di avere installati sul pi più sistemi operativi in contemporanea. Questa cosa è fondamentale quando si vuole provare più di un OS e ancor più se non si hanno a disposizione (o non si vogliono usare) più schede microSD.

Ci sono due possibili strade per gestire più sistemi operativi in multi boot: NOOBS e BerryBoot. Entrambi permettono di mantenere sulla stessa memoria più OS in simultanea ed ognuno di essi presenta alcune features interessanti.

Nel seguente video (che ho pubblicato sul mio canale YouTube) sono andato ad analizzare in dettaglio i due software:


Dopo averli provati, la mia preferenza va a BerryBoot perché è più personalizzabile e completo. NOOBS, al contrario, è quello consigliato o comunque direttamente supportato dalla Pi Foundation, ed è stato anche aggiornato nel corso dei mesi aggiungendo qualche funzione in più.

Utilizzare un gestore di boot non è una cosa indispensabile, soprattutto una volta scelto l'utilizzo che se ne vuol fare del pi e montato il sistema operativo prescelto. Ma per chi come me ama smanettare con vari OS e provare continuamente nuove possibilità, a meno di avere più schedine microSD, un gestore per il multi boot (come i due sopra descritti) ricopre un ruolo fondamentale!


II. Pi 3 come PC


Il raspberry pi 3 è decisamente più potente della precedente incarnazione. Per questo motivo uno degli utilizzi più semplici che può venir in mente è quello di trasformarlo in un piccolo PC domestico senza troppe pretese.

Di sistemi operativi compatibili con la piattaforma pi ce ne sono parecchi (anche se non tutti sono già compatibili con la terza versione). Tra di essi uno ha catturato maggiormente la mia attenzione: sto parlando di Ubuntu MATE.

MATE è un desktop environment che nasce dalla vecchia versione 2.x di GNOME. Esso è quindi abbastanza leggero ma allo stesso tempo ricco di funzionalità sia ereditate sia aggiunte dal team che ne mantiene attivo lo sviluppo. Ubuntu è invece la distribuzione Linux probabilmente più diffusa e famosa al mondo.

Unite MATE al core di Ubuntu ed avrete uno dei tanti flavor disponibili per la "distro umana". E proprio Ubuntu MATE è stato uno dei primi OS compatibili con la versione 3 del raspberry pi, tra l'altro subito allineata al ramo 16.04 del sistema operativo sviluppato da Canonical.

Dato che sono un utilizzatore di Ubuntu fin dalle sue origini, non potevo tirarmi indietro e ho subito provato Ubuntu MATE per il pi 3, pubblicando un video con le mie considerazioni:


Ubuntu MATE permette di usare il raspberry pi 3 come PC domestico senza alcun problema particolare: dalla scrittura di testi, fogli di calcolo o presentazioni fino alla navigazione (leggera) sul web; dall'editing di immagini fino all'accesso ad una quantità immensa di software disponibile sui repository di Ubuntu e perfettamente compatibile con il SoC ARM del pi!

Nota: qui potete scaricare Ubuntu MATE per raspberry pi.


III. IoT e sviluppo


Quando si pensa agli SBC come il pi, l'Internet delle Cose (IoT) è l'associazione più logica che possa balzare alla mente. E infatti l'utilizzo del piccolo micro-computer per la realizzazione di progettini amatoriali (o volendo anche professionali) che prevedano l'interazione autonoma con la rete è uno degli usi più comuni.

Uno degli scopi principali per i quali il pi è nato era quello di insegnare la programmazione ed avvicinare all'elettronica sia i bambini sia qualsiasi altro curioso o amante del DIY. E di strumenti per fare ciò ne sono spuntati a iosa nel corso degli anni: dai tool per aiutare nello sviluppo di codice ai tutorial per dar vita alle più disparate idee (guide che spesso vi segnalo nei miei articoli qui sul blog, vedi ad esempio qui, qui e qui).

La natura aperta della piattaforma pi ha favorito il proliferarsi di sistemi operativi pensati proprio per dar vita a progetti fai da te. E perfino Microsoft non ha potuto fare a meno di avvicinarsi a tale mondo. Il colosso di Redmond ha creato una versione ridotta di Windows 10 pensata proprio per dispositivi embedded sui cui ho pubblicato un focus:


Non si tratta della versione completa del sistema operativo, ma di una versione pensata proprio per la realizzazione di progetti amatoriali sviluppati con i linguaggi alla base della piattaforma Windows.

Sinceramente non sono del tutto convinto del lavoro realizzato finora da Microsoft: a meno di essere sviluppatori .NET di lunga data o avere particolari esigenze legate al mondo Windows, qualsiasi progetto realizzabile con Windows 10 IoT Core è perfettamente fattibile con praticamente qualsiasi altro OS basato su Linux esistente per il pi e probabilmente con una ben più ampia documentazione al riguardo.

Nota: qui potete registrarvi e scaricare Windows 10 IoT Core per raspberry pi.


IV. Pi 3 come media center


Uno degli usi più comuni del Raspberry Pi è quello di trasformarlo in un centro multimediale domestico. E per questo motivo, nel corso degli anni passati sono nati diversi sistemi installabili sul piccolo micro-computer che effettivamente permettono di trasformalo in un media center in grado di riprodurre filmati (locali, dalla rete domestica o via streaming), brani musicali, fotografie ed una infinità di usi secondari.

Quattro alternative principali sono riuscite ad emergere (OpenELEC, RaspPlex, xBian ed OSMC) ed io le ho analizzate in dettaglio nel focus seguente:


Tutti e quattro gli OS fanno uso di Kodi e perciò sono perfettamente paragonabili ed equivalenti, soprattutto per chi non cerca funzioni aggiuntive ad esso. Kodi è estendibile con plug-in ed add-on che lo trasformano in un sistema capace di fare di tutto.

Avendo in casa sia un TV con Androidtv sia il chromecast (come sicuramente saprete già :P), personalmente non ho l'esigenza di un media center da collegare al televisore. Ma se dovessi scegliere tra i quattro sistemi credo che punterei ad OSMC perché, essenzialmente, è quello più smanettabile. OpenELEC è quello più famoso e stabile, RasPlex è quello più chiuso ma perfettamente integrato nel mondo Plex e, infine, xBian è grosso modo paragonabile ad OSMC.

Nota: questi i link per il download dei quattro sistemi, OSMC, OpenELEC, XBian e RasPLEX.


V. Chrome OS ed Androidtv


Parlando di Androidtv e delle altre piattaforma di Google (come Chrome), ci sono diversi sviluppi intenti a portare tali progetti anche sul pi 3.

Porting di Android, Chrome OS, Androidtv, etc si trovano in diverse salse (e ve ne ho parlato più volte qui sul blog), anche se non tutti sono perfettamente funzionanti. Del resto stiamo parlando di lavori in fasi alpha o al massimo beta, ed in ogni caso non seguiti da BigG stessa il che si traduce in mancanze come il Play Store ed i Play Services.

Ad ogni modo, Chrome OS si basa sul progetto open-source Chromium OS e proprio di tale progetto è stato avviato un porting per il raspberry pi 3. Ad oggi si è arrivati alla versione 0.5 che ho analizzato nel seguente focus:


Il porting è promettente anche se c'è parecchio lavoro da fare: il fatto che Chromium OS sia molto leggero e che il pi 3 abbia un hardware paragonabile a quelli di molti chromebook fan sì che l'esperienza d'uso sia piacevole!

Sono rimasto particolarmente sorpreso dallo stato dei lavori, anche se il sistema risultante non è assolutamente ancora pronto per l'uso quotidiano.

Nota: qui potete scaricare Chromium OS per il raspberry pi.


Anche il porting di Androidtv è promettente: il sistema è fluido e non sembra avere particolari impuntamenti. Chiaro che possano capitare piccoli blocchi per alcune applicazioni o che alcune funzioni non siano ancora disponibili.
Ad ogni modo, nel seguente mio focus potete vedere lo stato di avanzamento dei lavori:


Google ha recentemente mostrato dell'interesse per il piccolo raspberry pi 3 aprendo uno spazio dedicato nel repository che contiene i sorgenti dell'AOSP. Ad oggi quello spazio è ancora vuoto ma, teoricamente, un giorno potrebbe essere riempito con sviluppi ad hoc per il piccolo computerino. Devo ammettere che l'idea mi intriga parecchio, soprattutto perché ad oggi Play Store e Play Services sul porting di Androidtv non funzionano e si fa fatica ad utilizzare il sistema al 100%.

Come detto in precedenza, avendo già un televisore con integrata l'incarnazione TV del robottino verde, dubito che trasformerò il pi 3 in un set-top-box con l'OS di Google. Ma sono convinto che se dovesse ricevere il supporto ufficiale o comunque se i lavori di porting dovessero raggiungere un buon livello, il rasbperry pi potrà diventare un'interessante alternativa ai vari box pensati per l'intrattenimento domestico con Android.

Nota: qui potete scaricare il porting di Androidtv per il raspberry pi 3.


VI. Pi 3 come server domestico


L'uso secondo me più interessante e divertente della piattaforma pi è quello di sfruttarne i bassi consumi e la sua relativa potenza per dar vita a piccoli progettini fai da te.

Come anticipato nel paragrafo sull'IoT, esistono una miriade di sistemi operativi compatibili con il raspberry pi (anche se non tutti ancora disponibili per la terza generazione) che sono basati sul kernel Linux. Abbiamo visto Ubuntu MATE, ad esempio, o lo stesso Raspbian che è l'OS ufficialmente sponsorizzato dalla Pi Foundation. Tra l'altro entrambi i sistemi operativi hanno origine in Debian.

Per un uso server, però, io sconsiglio di installare sistemi con interfacce grafiche o ricchi di pacchetti software che difficilmente verranno utilizzati. Per questo motivo, ho analizzato nel seguente focus tre OS minimali (chiaramente open-source) che non prevedono interfaccia grafica e, sostanzialmente, sono "vuoti" e pronti ad essere riempiti con il software strettamente indispensabile.
Sto parlando di Ubuntu Server, CentOS ed Arch Linux:


Ubuntu Server è la versione di Ubuntu pensata per un utilizzo server, quindi con tutti i vantaggi di essere un sistema direttamente supportato da Canonical e con una miriade di pacchetti software disponibili e guide all'uso belle che pronte.
CentOS è una distribuzione completamente gratuita supportata dalla community e derivata dai sorgenti distribuiti pubblicamente da Red Hat, alla base della famosa distribuzione Enterprise. Un sistema decisamente stabile, le cui versioni sono supportate fino a 10 anni, e tutto l'OS è studiato per essere sicuro, senza necessità di grande manutenzione, e sicuramente senza sorprese sgradite.
Arch, infine, è completamente indipendente e supportata dalla community. Tra i tre è sicuramente l'OS più minimalista, e che cerca di essere il più pulito possibile.

Poiché me lo avete espressamente chiesto, vi lascio il link a tre guide per sfruttare il pi con OS server:

Non c'è un vincitore in questa sfida poiché i tre sistemi permettono di far raggiungere gli stessi risultati: Ubuntu è forse quello più user-friendly praticamente già pronto all'uso, CentOS è quello più stabile anche se con pacchetti software meno recenti (il che potrebbe essere un problema in alcuni casi) ed Arch è quello più ostico ma aperto a personalizzazioni più spinte.

Nota: questi i link per il download dei tre sistemi operativi, Ubuntu Server, CentOS ed Arch Linux.


VII. Pi 3 come retro arcade machine e game console


Un ulteriore utilizzo del pi è quello di trasformalo in una retro-gaming machine. Uno dei sistemi che permettono di ottenere questo scopo senza troppa fatica è Retropie.

Retropie è costruito su Raspian, EmulationStation, RetroArch e svariati altri progetti tutti già integrati così da facilitare il processo di configurazione e permetterci di giocare con i nostri giochi arcade preferiti. Ma non solo: sono supportate tantissime piattaforme (NES, SuperNES, GameBoy, Sega, MAME, PlayStation, ...).

Ho pubblicato un focus sul canale YouTube dedicato proprio all'utilizzo a mo' di console videoludica:


Ma quello che non vi ho detto in quel focus è che esiste un secondo progetto, ancora in beta, in grado di trasformare il pi in macchina da gioco: Recalbox.

Esattamente come Retropie, anche Recalbox è basata su EmulationStation, Kodi e altri progetti già tutti integrati e configurati in modo che il nostro compito possa essere solo quello di giocare (dopo aver configurato gamepad e quant'altro).

Entrambi i progetti supportano una quantità sterminata di emulatori che possono essere "alimentati" con ROM facilmente reperibili sulla rete. Una piccola nota: per l'uso di questi giochi si dovrebbe essere in possesso delle licenze d'uso, quindi non posso riportarvi alcun collegamento ad eventuali siti web da cui poterli scaricare. Posso però dirvi che sono facilmente reperibili tramite banali ricerche su Google.

Utilizzare il pi 3 a mo' di emulatore di vecchie console è sicuramente uno degli usi più divertenti e facilmente ottenibili, tant'è che -forse- potrà essere proprio questa la mia scelta finale per il suo impiego a lungo termine.

Nota: qui potete scaricare Retropie per il raspberry pi.


VIII. Altri esperimenti e conclusioni


Nel corso di questi mesi d'uso sono rimasto piacevolmente colpito dalla gran quantità di possibilità che un dispositivo come il raspberry pi 3 possa offrire: dai videogames all'intrattenimento domestico, dall'uso come PC a piccolo serverino per dar vita ai più disparati progetti DIY (IoT, server, home automation, etc...).

E a proposito di utilizzo per progetti DIY, nel seguente e più recente video che ho pubblicato sul pi 3, ho riportato un esempio di utilizzo del micro-computer come sistema per l'apertura e chiusura di un garage.
Ho contattato un mio carissimo amico (che ringrazio per gli "scatti" e la guida) che ha costruito tale sistema per l'apertura motorizzata della serranda del suo garage (su questo sito trovate la guida completa per costruire il vostro garage opener). In aggiunta al controllo del sistema motorizzato, Marco ha sviluppato una applicazione per il suo smart-phone per interfacciarsi via rete con il raspberry pi e quindi poter controllare manualmente (a mo' di telecomando) la serranda.

Oltre a tale esempio di progettino DIY per l'home automation, nel video trovate anche Recalbox e le risposte alle domande che nel corso delle settimane passate mi avete fatto sul pi:



Bene!
Mi fermo qui: se avete domande, consigli, suggerimenti o quesiti di ogni genere sul raspberry pi non esitate a scrivermi nei commenti qui sul blog, sui canali social o nei video sul canale YouTube!

A presto!