Benvenuto lampone ;-)

Raspberry Pi

Sono stato incuriosito dal Raspberry Pi fin dalla prima volta che ne ho sentito parlare. Recentemente ho rotto gli indugi e ne ho ordinato uno, che mi è arrivato qualche giorno fa! Si tratta di un computer delle dimensioni di una carta di credito, collegabile al televisore di casa, nato da un progetto aperto della University of Cambridge, nel Regno Unito, con lo scopo di fornire un dispositivo economico (costa circa € 25,00 IVA inclusa), ma al tempo stesso pienamente funzionale, sul quale fare pratica di programmazione, anche legata al mondo dell’automazione. Quello che ho preso io, il model B, presenta specifiche hardware che, 4 o 5 anni fa, sarebbero state appropriate per uno smart phone “top di gamma”: è basato su System on Chip (SoC) Arm a 700 MHz con 512 MB di RAM, si alimenta con una connessione Micro-USB (quindi può essere utilizzato anche l’alimentatore di un moderno telefono cellulare), dispone di un’uscita HDMI per potersi collegare in digitale ad un moderno televisore LCD (oppure uscite video composito RCA e audio analogico mini-jack), ha due porte USB 2.0 per collegare mouse, tastiera, dischi esterni, chiavette USB etc., ha un adattatore di rete ethernet per potersi collegare alla rete, un lettore di schede SDHC da cui fare il boot del sistema operativo e – cosa che lo rende particolarmente appetibile agli hobbysti elettronici – dispone di un set di I/O digitali  (GPIO, General Purpose Input Output), programmabili in C o in Python, con il quale riesce ad interagire con il mondo fisico.

Malgrado abbia un consumo elettrico inferiore ai 3 W, ha potenza a sufficienza per essere impiegato, in accoppiata ad un hard disk esterno, come file server, web server, etc., oppure come Media Center (è in grado di riprodurre video in HD a 1080p). Come sistema operativo si può utilizzare Linux: ci sono svariate distribuzioni in circolazione, alcune general purpose (come Raspbian, basata su Debian) altre più orientate ad usi specifici, come Raspbmc o OpenELEC, studiate per far girare XBMC e basta.

Essendo un progetto aperto, tutto è ben documentato sia dal punto di vista dell’hardware che del software: in rete si possono trovare documenti, istruzioni, schemi, tutorial, esempi etc. C’è anche una rivista a diffusione gratuita in cui si parla solo di lui: The MagPi.

La distribuzione che ho installato è Raspbmc che, tra le altre cose, mi consente di usarlo come:

  1. media center con XBMC e telecomando a infrarossi
  2. NAS con Drobo su porta USB
  3. server VPN con pptpd
  4. server emule con aMule
  5. server bittorrent con rtorrent

Chi mi segue sa che il mio media center casalingo (leggi qui e qui) ruotava attorno ad un normale PC. Ebbene, il Raspberry l’ha sostituito in toto, risultando estremamente più economico, silenzioso (non ha ventola!) e molto meno ingombrante.

Certo, per utilizzarlo con profitto è richiesta una certa esperienza di uso e amministrazione di Unix/Linux a basso livello nonché dimestichezza con il terminale, ma può essere anche una (economica) palestra per lo studio di questo tipo di sistemi operativi, nonché per muovere i primi passi sulla via della programmazione.

Postazione Raspberry Pi

È una specie di Arduino?

Ogni volta che parlo del Raspberry Pi i miei interlocutori mi chiedono se è “una specie di Arduino”. La risposta giusta è: sì e no.

Arduino non è un computer, ma un microcontrollore. In questo senso è un oggetto molto più semplice del Raspberry Pi: mentre quest’ultimo dispone di una RAM, una memoria di massa, di un’uscita video ad alta risoluzione e di bus “evoluti” (USB ed ethernet), nonché di una potenza di calcolo enormemente più grande (700 MHz contro 16 MHz…), Arduino ha solo il minimo indispensabile per poter caricare su di esso un programma alla volta (connessione USB slave, 32 KB di memoria flash e 1 KB di EEPROM), e poi eseguirlo (2 KB di SRAM). Inoltre il Raspberry Pi può caricare un sistema operativo, cosa che gli consente di utilizzare tutte le sue periferiche, di far girare programmi diversi – anche contemporaneamente – e  di collegarsi tramite ethernet alla rete dati e a Internet.
D’altra parte, Arduino è più sviluppato sul versante degli Input e degli Output: dispone di I/O digitali, ma anche ingressi analogici, nonché uscite PWM (che gli consentono di comandare dei motori elettrici), mentre il Raspberry Pi dispone dei soli I/O digitali.

Sono, in sostanza, due dispositivi complementari e, come si può vedere facilmente facendo una ricerca su Google, nulla impedisce di utilizzarli insieme: si va dalla cosa più semplice (collegare Raspberry Pi ad Arduino come si fa con un PC, via USB, per trasferirci il programma da eseguire) a cose più simpatiche e interessanti (un bel collegamento seriale in modo da utilizzare Arduino come ingresso analogico per il Raspberry Pi, oppure come attuatore per il controllo di motori elettrici, e chissà cos’altro).

Advertisements

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...