Nel mio precedente post Con un certo distacco ho parlato, tra le altre cose, del Raspberry Pi. Pensavo fosse un argomento passato di moda, ma invece no, quindi parliamo un po’ di questo piccolo dispositivo delle meraviglie. Prima di cominciare, una nota di dizione. Raspberry Pi si pronuncia vagamente come rezbri pai, dove il “Pi” potrebbe stare per Pigreco ma si pronuncia come pie, ovvero crostata. Quindi Raspberry Pi suona come “crostata di lamponi”. Al di là delle questioni fonetiche, ricordatevi che nel caso pronunciaste Pi così come è scritto (pee) verrebbe fuori una roba del tipo “pipì di lamponi”. E anche il 14 marzo o “Pi day” assumerebbe tutto un altro significato. Breve introduzione a parte, cominciamo ad aggiungere succo e polpa a questo post.

 

Indice dei contenuti

Che cos’è il Raspberry Pi?

Il Raspberry Pi, anche detto RasPi, è un single-board computer, ovvero un computer completo costituito da una singola scheda. Nel caso del RasPi, la scheda ha più o meno le dimensioni in pianta di una carta di credito ed uno spessore di circa 2 cm, per i più precisini le dimensioni corrette sono 85.60mm x 56mm x 21mm. Da queste dimensioni restano fuori tutte le sporgenze, come i cavi che andrete a connettere o la scheda SD che sporge per circa la sua metà in lunghezza dalla sagoma del RasPi.

raspberry pi board

Ecco cosa c’è in un Raspberry Pi

Uno dice un computer completo, ma che vuol dire? Vuol dire che se comprate l’ultima versione di Raspberry Pi vi troverete un dispositivo con un processore ARM 11 da 700 MHz (overclockabile ad 1GHz, la cosa è permessa dalla Raspberry Pi Foundation, ovvero la casa madre del RasPi), 512 MB di RAM, una GPU con memoria condivisa, 2 porte USB 2.0, una porta ethernet, uscita HDMI, uscita jack audio 3.5 mm, uscita RCA per il video composito, slot per SD, ingresso miniUSB per l’alimentazione.

E STOP.

Se volete le specifiche dettagliate, guardate su Wikipedia. Quello che vi interessa sapere è che non troverete molto altro sul RasPi, niente memoria interna, niente “real time clock” (ovvero se va via la corrente e il dispositivo non è collegato ad internet, l’orario viene azzerato al minuto 0 dello Unix Time – 1 gennaio 1970). Oltre a queste caratteristiche hardware molto scarne, il RasPi è dotato di un connettore I2C e di un GPIO. Se non sapete cosa sono e non sapete di che farvene, state tranquilli, io so solo che esistono e che potrebbero essere utilizzati.

Ricapitolando: ARM11 da 700 MHz, 512 MB di RAM, GPU del menga, poco altro. Esatto? Sì, roba molto meno spinta di un qualunque smartphone di fascia medio bassa. Allora perché è così interessante, qual è il trucco?

Il trucco è che sto cazzillo costa 35 euro e ci puoi costruire un PC. O qualunque altra cosa ti venga in mente. E consuma pochissimo.

Perché comprare un RasPi? Cosa posso farci?

Rispondere a questa domanda è molto complicato. Cosa fareste con un computer molto piccolo, molto leggero, che consuma pochissimo, che costa nulla e che è completamente privo di ventole (quindi silenziosisstimo)? Potete dare sfogo alla vostra fantasia, già così. Se poi pensi che con GPIO e I2C puoi connetterci sensori ed attuatori o comunicare con Arduino (e allura? Chi mi n’di futti i ziu Arduino, chiddù si ndi fuiu a Nova Iorca! – no, non quell’Arduino, questo Arduino), allora il limite potrebbe essere il cielo. O potreste utilizzarlo per ordinare una PIzza. Oppure potete costruire una macchinetta dei videogiochi retrò o un Mini Macintosh Classic. O se siete dei fan delle air band, potete costruirvi una air-guitar.

scrubs airband

Loro non avevano un Raspberry Pi

Se siete persone fantasiose e volete realizzare un qualunque progetto, la fonte più attendibile è google, digitate “Raspberry Pi + tipo progetto” e sicuramente troverete i consigli di chi ci ha già provato. Escludete dalla ricerca i risultati osé.

Se invece siete delle persone più pragmatiche, potete usare il Pi per fare delle cose più normali ma molto utili, tipo usarlo come torrentbox, appiccicarlo al TV ed usarlo come media server (più o meno) o addirittura come server DLNA o metterci un monitor, tastiera e mouse e usarlo come un computer, che alla fine è quello che è.

Nel 95% dei casi, comunque, vi troverete ad installare un sistema operativo GNU/Linux attraverso cui dare vita a qualunque progetto vogliate.

OK mi hai convinto: dove lo compro? che accessori mi servono?

Ci sono diversi posti dove comprare il Raspberry Pi e i vari accessori. Io ho preso tutto su Amazon. Non solo, io vi consiglio di prendere tutto su Amazon e vi metto pure dei link che se ci clickate sopra e comprate da lì io ci ricavo una percentuale ridicolissima sulle commissioni, mentre voi non spendete nulla di più. Si chiama programma di affiliazione di Amazon.

Partiamo col dire che se avete già un computer e un router, ci sono solo 4 cose essenziali che vi servono veramente:

  1. il Raspberry Pi
  2. un alimentatore di corrente con spinotto microUSB e uscita 1Ah@5V
  3. una scheda SD molto veloce
  4. un cavo di rete

BASTA, non avete bisogno di altro per cominciare ad usare in maniera essenziale il RasPi.

Bisogna dire che l’alimentatore di corrente è pari pari quello di un Galaxy Nexus, o di un qualunque smartphone di qualche anno fa. Io sto utilizzando proprio quello del mio Galaxy Nexus, mentre sul GNexus uso quello del Galaxy S2 e sul Galaxy S2 uso quello dell’HTC Wildfire che è morto. Quindi, l’alimentatore non l’ho comprato. Il cavo di rete nemmeno, ne ho millemila a casa, ultimo dei quali quello che ho ricevuto insieme al router.

Però almeno il Raspberry Pi lo dovete comprare, così come una SD molto veloce e da almeno 4GB su cui installare il sistema operativo. Ecco i miei consigli per gli acquisti: Raspberry Pi Model B a 37 euro circa e scheda SanDisk Ultra SDHC 8 GB Classe 10 a meno di 7 euro. Markettone!

Dunque, siccome il Raspberry Pi arriva nudo, avete tre possibilità: o tenete il RasPi come mamma l’ha fatto, esposto agli agenti atmosferici, o vi date al bricolage leggero e vi ricavate un case a partire dalla confezione con cui viene spedito, oppure acquistate un case fatto apposta. Tra le mille mila custodie disponibili, se ne trovano anche a circa 5 euro.

Io in realtà ne ho usata un’altra che però ora non appare disponibile su Amazon:

raspberry pi and case

Ecco il mio RasPi: notare i dissipatori passivi che fanno tanto cool 😀

Come detto prima, ci sono 2 versioni di Raspberry Pi, il Model A più anzianotto e meno dotato (ve lo sconsiglio, a meno che non abbiate bisogno di consumi microscopici rinunciando a mezza RAM e ad una USB), e il Model B in due revisioni. Prendete l’ultimo disponibile, spendete 10 euro in più ma ne vale la pena. L’importante poi è che compriate il case giusto 😉

Quindi, per un utilizzo base base base, se ci aggiungiamo l’alimentatore a circa 10 euro e il cavo di rete a 6 euro, con 65 – 70 euro vi siete portati a casa tutto il necessario per cominciare ad utilizzare il RasPi, almeno per un utilizzo “headless”, ovvero senza monitor. Infatti per cominciare ad utilizzare il RasPi non avete bisogno né di tastiera o mouse, né di monitor. Se intendete usarlo come server, torrent box o simili, vi basterà un utilizzo da riga di comando attraverso SSH (poi vi spiego), se invece volete usare anche l’interfaccia grafica potrete accedere tramite VNC o simili.

Nel caso un utilizzo headless non vi basti, o nel caso il vostro progetto includa l’utilizzo di diverse periferiche, tenete presente che ad esempio l’alimentazione delle USB non è sufficiente ad alimentare periferiche che consumano molta energia (ad esempio un HD esterno da 2.5″), a meno di non vedersi prosciugare il RasPi che senza abbastanza elettroni in circolo inevitabilmente si spegnerà. Se volete alimentare qualcosa di poco più di una chiavetta USB o di un dongle WiFi dovete utilizzare un hub USB alimentato esternamente.

Potreste volere anche altri millemila accessori, cavetti, schede di espansione, basette elettriche, display LCD, laqualunque. In questo caso la cosa migliore è rivolgersi a negozi specializzati! Ne cito 3, da cui non ho mai acquistato nulla ma che tengo sempre d’occhio:  il sito italiano di RS, Adafruit se vi fidate ad ordinare dagli USA, l’inglesissimo e strafornitissimo ModMyPi.

Ho preso tutte le frattaglie, e ora?

Dunque, come ho già detto, ci sono troppi progetti da poter fare per spiegarveli tutti. In questo post introdurrò solo le basi, ovvero come iniziare installando l’OS senza monitor, senza mouse, senza tastiera ma con un Mac 🙂 vi guiderò nella  configurazione base e vi lascerò con qualche consiglio finale. In un prossimo post vi spiegherò come realizzare una torrentbox e perché python e virtualenv saranno i vostri migliori alleati. Ma ora, prima di tutto, partiamo dall’inizio!

Installare il sistema operativo (o meglio: installare Raspbian senza monitor e tastiera)

Allora, installare è una parola grossa. Ci sono diversi sistemi operativi per il Raspberry Pi, quasi tutti di stirpe Linux, il più “ufficiale” dei quali è Raspbian, una derivata di Debian ottimizzata per il Raspberry Pi. In ogni caso, qualunque OS scarichiate, vi troverete per le mani una immagine disco da “clonare” sulla scheda SD, per questo dico che non si tratta di una vera e propria installazione, è “solo” una clonazione. Io vi consiglio di scaricare l’ultima immagine di Raspbian da qui.

Ci sono altri sistemi disponibili, magari più adatti al vostro progetto, esiste anche un tool grafico chiamato NOOBS che vi permetterà di installare l’OS che preferite in maniera interattiva con finestre e click. Ma io no, io vi spiego come installare Raspbian in modalità headless.

Dunque su Mac ci sono due modi per clonare l’immagine disco, o si usa il terminale, o si usa un’applicazione ad hoc. In entrambi i casi la prima cosa da fare è formattare la scheda SD in formato FAT da Utility Disco, e poi smontare ed estrarre la scheda SD.

I passi successivi nel caso vogliate usare il Terminale sono:

  1. prima di inserire la scheda SD andate nel terminale e digitate il comando diskutil list
  2. inserite la scheda SD
  3. digitate di nuovo il comando diskutil list. Noterete che la lista di dispositivi elencati tiene ora conto di un dispositivo in più che è la vostra SD. Prendete nota del nome del disco, che è una cosa tipo disk4 o simili, e non del nome della partizione che è una roba tipo disk4s1.
  4. digitate il comando diskutil unmountDisk /dev/disk4 sostituendo disk4 col nome del vostro disco. Questo comando smonta la scheda disimpegnandola, ma la scheda deve rimanere dentro al Mac
  5. individuate la cartella dove avete scaricato l’immagine di Raspbian ed estraetela dallo zip. Tenete conto del percorso in cui si trova che ad esempio può essere ~/Downloads e del nome dell’immagine disco che può essere ad esempio 2013-09-25-wheezy-raspbian.img
  6. prima di inserire la scheda SD andate nel terminale e digitate il comando diskutil unmountDisk /dev/disk4
  7. navigate col terminale fino alla cartella in cui si trova l’immagine, con un bel cd ~/Downloads, ovviamente inserendo il percorso che fa per voi
  8. digitate infine il comando sudo dd bs=1m if=2013-09-25-wheezy-raspbian.img of=/dev/disk4 con tutti i nomi e i percorsi giusti
  9. date invio, inserite la password di amministratore, invio di nuovo e allontanatevi dal Mac per 40 minuti abbondanti!

Se seguite questa procedura fate moltissima attenzione!! Il comando dd se ne strafrega di voi e dei vostri dati e scrive quello che gli dite di scrivere dove gli dite di farlo, quindi state veramente molto attenti a quello che scrivete! Siccome state eseguendo il tutto come super user (quello è il senso del comando sudo) potete fare grossi danni senza che nessuno vi dica nulla.

Se preferite evitare il terminale, potete utilizzare un’applicazione grafica fatta apposta. Ce ne sono diverse, io ho scelto di utilizzare Pi Filler, un applescript che sostanzialmente fa le stesse identiche cose, ma vi consente di selezionare l’immagine disco attraverso interfaccia grafica e vi guida passo passo senza che dobbiate digitare anche una sola riga di codice.

Quando avete finito, estraete l’SD dal Mac.

Primo avvio (ehi, da dove si accende?)

Ok, prendete il RasPi, l’SD, il cavo ethernet il cavo di alimentazione e unite tutto con tanta carta igienica e colla vinilica. No. Da capo. Inserite l’SD nell’apposito slot, il cavo ethernet da una parte al router, dall’altra al Pi, appicicate il Pi alla corrente. Fine.

Il Pi si avvia da solo, dato che l’inutile pulsante di accensione è stato sacrificato sull’altare dell’essenzialità. Il fatto che sia acceso e funzioni lo potete verificare osservando i led di stato, che se avete l’ultimissima versione della scheda sono questi qui:

raspberry pi status led

I led di stato del Raspberry Pi

con i seguenti significati:

  • ACT – Verde – accesso alla SD
  • PWR – Rosso – il Pi è alimentato!
  • FDX – Verde – Connession LAN presente
  • LNK – Verde – Attività LAN in corso
  • 100 – Giallo – Fortunello, sei connesso ad una LAN a 100Mbit

almeno i primi 4 devono illuminarsi o qualcosa è andato storto. In particolare se il3 e 4 non vanno, o non avete attaccato il cavo ethernet, oppure avete disabilitato il DHCP sul router: riattivate il DHCP sul router.

Ok, avete una roba da 30 e passa euro appiccicata alla corrente e al router che fa lampeggiare dei led, e ora? Ora è tempo di connetersi al RasPi e iniziare ad utilizzarlo! Per connettersi bisogna scoprire che indirizzo IP ha il PI, per farlo tipicamente vi basterà usare il Mac per consultare la mappa di rete dalla pagina di configurazione del vostro router. Tra tutti i dispositivi connessi dovreste essere in grado di trovare anche il Pi, prendete nota dell’indirizzo, che sarà una roba del tipo 192.168.1.xxx.

Aprite il fantastico Terminale di OS X e digitate

ssh pi@192.168.1.xxx

ovviamente inserendo l’indirizzo IP corretto del RasPi. Il “pi” in “pi@” è il nome dell’utente preimpostato nell’immagine del sistema operativo. Per proseguire vi serve la password, che con molta fantasia è raspberry (potete cambiarla in seguito) e la conferma che volete accettare la chiave di cifratura. Digitate yes, date invio e vedrete che il nome nel terminale accanto al puntatore verrà modificato in pi@raspberry o qualcosa del genere. Perfetto, ora state comandando da remoto il Raspberry e potete cominciare ad utilizzarlo attraverso la riga di comando!

Prima di continuare, vi conviene impostare il network in modo che il Pi non acquisisca un diverso indirizzo IP ad ogni nuovo avvio. Potete modificare dei file di configurazione nel Pi (cercate su google), ma io sono pigro e ho preferito impostare lo static routing sul mio router attraverso la pagina di configurazione andando a collegare l’indirizzo MAC del RasPi con un indirizzo IP definito.

Configurazione di base

Bene, siete connessi al Pi, è ora di sporcarsi le mani!

La prima cosa che dovete fare è digitare sudo raspi-config e dare invio, così otterrete una schermata tipo questa:

raspi-config

Raspi-Config: un salto nel 199qualcosa

Attraverso le frecce e l’invio potete muovervi tra i menu. Le cose importanti da configurare sono:

  • expand_rootfs: se lo abilitate (fatelo!) il file system dell’immagine disco verrà espanso fino ad occupare l’intero spazio della SD e non limitato solo ai 2.5 GB stretti stretti originari. Ciò significa che potrete cominiciare ad installare roba!
  • change_pass: per favore, cambiate password. Controllate che la vostra password sia abbastanza buona.
  • change_timezone: è importante, il Pi legge l’orario da internet ma dovete dirgli in che zona del mondo vi trovate
  • ssh: lasciatelo attivo!
  • boot_behaviour: qui potete scegliere se avviare o meno il desktop grafico. Io non lo avvio per risparmiare memoria e tempo!

Ok, il resto è meno essenziale e potete scoprirlo da voi, incluso il menù overclock! Quando avete finito di smanacciare, uscite da raspi-config, digitate sudo reboot, date invio, aspettate che vi sbatta fuori da SSH e quando il Pi si è riavviato ed è di nuovo online, rientrate con ssh pi@192.168.1.111 stavolta digitando la nuova password.

Aggiornare il sistema e il firmware

Siete di nuovo dentro al Pi, ed è ora di aggiornarlo. Seguite quindi il mantra del buon aggiornatore Debian:

sudo apt-get update per aggiornare la lista dei pacchetti disponibili
sudo apt-get upgrade per effettuare l’aggiornamento dei pacchetti
sudo apt-get autoclean per cancellare i file di installazione non più necessari

se siete audaci e amate il rischio potete anche usare il comando sudo apt-get dist-upgrade e incrociare le dita. Per capire il perché e il percome di APT, vi rimando alla pagina di aiuto.

Bene, ora riavviate come è giusto che sia. Dopo il riavvio digitate

sudo apt-get install rpi-update per installare rpi-update
sudo rpi-update per aggiornare il firmware del Raspberry Pi

Ok, ora avete un Raspberry Pi funzionante e aggiornatissimo anche nel firmware che di solito tutti si dimenticano di aggiornare. E ora, che fare? Dipende da voi e lo vedremo nei prossimi post.

Spegnere (se mai vi dovesse servire)

Come ho già detto, il RasPi non ha pulsante di accensione o spegnimento. Si accende quando lo attaccate alla corrente, si spegne inevitabilmente se staccate la spina. Questo non significa che staccare la spina sia il modo giusto di spegnere il RasPi, anzi, è il modo migliore per svampare la scheda SD. Se volete spegnere il RasPi digitate nel terminale

sudo halt

e aspettate che si arresti il sistema (rimane acceso solo il led rosso), a quel punto potete staccare l’alimentazione.

In alternativa, potete accattarvi una fantastico bottone di spegnimento.

Conclusioni

Leggendo questo post avete appreso cos’è un Raspberry Pi, dove comprarlo e dove comprare gli accessori, quali sono i requisiti minimi per il suo funzionamento essenziale, come accenderlo e spegnerlo, come installare ed aggiornare il sistema operativo per farlo funzionare utilizzando nient’altro che un Mac e un router.

Da qui in poi sta a voi. Come e perché utilizzarlo, è una vostra scelta. Io in un prossimo post vi spiegherò come utilizzarlo come torrentbox e poi come server DLNA. Per entrambi questi task non è necessario (anzi, è inutile e controproducente) l’utilizzo dell’interfaccia grafica o di qualunque periferica input / output connessa al Pi.

Se avete fretta, googolate 😉

’nuff said