Raspberry: il pc che sta nel palmo di una mano


Raspberry Logo


Nell'ultimo articolo avevamo parlato di Arduino: un dispositivo SoC incredibilmente innovativo e del tutto italiano che riesce ad avere un infinito numero di impieghi. Cosi, quest'oggi, non ci distaccheremo di molto e continueremo a parlare di System-on-a-Chip proprio come abbiamo fatto ultimamente.

Questa volta, il protagonista della nostra discussione sarà il famosissimo Raspberry Pi: un single-board computer dal costo bassissimo che, proprio dalla definizione di quest'ultimo termine, integra sulla superficie di un circuito stampato un intero computer che ha, inoltre, la possibilità di comunicare attraverso i standard più comuni come l'USB, l'HDMI ed anche l'Ethernet. Quest'ultimo connettore è presente soltanto nel secondo modello di scheda. Infatti, il Raspberry Pi, viene attualmente commercializzato in 2 modelli differenti: Model A e Model B.

Raspberry Pi ed una scheda SD

Quando e come sono nati i Single Board Computer?


Gli SBC, o anche Single-Board computer, sono nati molto tempo fa e anche se molti di voi la trovano una cosa difficile da credere, il primo single-board computer in assoluto nasceva nell'anno 1976 ed il processore installato su di esso era il famoso Intel C8080A che aveva una frequenza di funzionamento di soli 2mhz: un numero ridicolo in confronto ai meno potenti processori attuali. Veniva prodotto dalla Blacksburg Group ed il suo nome commerciale era "dyna-micro" anche se, in rete, sembra più facile trovarlo con il suo nome di produzione (MMD-1).
Il Dyna-micro, ovviamente, non ha assolutamente nulla a che fare con il Raspberry di oggi: sia per dimensioni che per potenza di calcolo e, se vogliamo, l'unica cosa che li accomunavano erano l'idea a monte di voler produrre una scheda "tutto-in-uno". Date un'occhiata a questo reperto storico!

MMD-1 o Dyna-micro

Con il passare degli anni, come potete facilmente immaginare, sono stati moltissimi gli esperimenti fatti per poter arrivare agli SBC attuali: dotati di una potenza di calcolo infinitamente superiore ed una grandezza decisamente irrisoria paragonabile ad una carta di credito.
Cosi, per riuscire a vedere una prima versione del Raspberry Pi, bisogna passare dal lontano 1976 al 2006.

Come e perché è nato il Raspberry Pi?


Come vi dicevo, il primo prototipo del Raspberry venne creato soltanto nel 2006 quando Eben Upton riunì alcuni studenti universitari per progettare un mini-computer economico ispirandosi al vecchio BBC Micro che diede, all'epoca, il via alla produzione di processori ARM: lo stesso che implementa oggi il Raspberry Pi. 
La prima scheda del 2006 disponeva dell'ATmega 644 invece: una sigla che ben ricorderete in quanto è molto simile a quella presente su Arduino.
Anche in questo caso gli schemi elettrici furono rilasciati liberamente cosicché, chiunque volesse, aveva la possibilità di potersi creare il proprio Raspberry.
Upton, insieme ai suoi collaboratori, avevano l'intenzione di creare questo single-board computer per riuscire a promuovere lo studio dell'informatica e per far imparare ai più piccoli ad utilizzare i computer, il tutto tramite una spesa, praticamente, inesistente.

Il vero salto di qualità per i loro ideatori, però, avviene nel 2011 quando finalmente viene messa in piedi una fondazione: la Raspberry Pi Foundation che, nel corso dello stesso anno, presentò ufficialmente un Raspberry modificato dal primo prototipo del 2006 che, al posto del poco potente ATmega 644, montava un bel processore ARM da 700mhz (lo stesso della versione attuale).

Com'è fatto il Raspberry oggi? E quanto costa?


Come anticipato prima, sia la versione iniziale del Raspberry che quelle attuali, dispongono di schemi elettrici rilasciati del tutto liberamente dalla fondazione e, se si ha la possibilità di acquistare gli omonimi componenti, è possibile costruirsi una scheda autonomamente anche se dubito sia facile farlo. Eccovi il link allo schema.

Come stavamo dicendo all'inizio, il Raspberry Pi dispone di diverse porte per la comunicazione con l'esterno Ma quale sono esattamente le specifiche di questo gioiellino della tecnologia contemporanea?
Elenchiamo prima le caratteristiche del Raspberry Pi Model A per poi evidenziare successivamente le mancanze sopperite dal Model B:

  • Processore ARM1176JZF-S da 700 MHz.
  • Processore grafico (GPU) Broadcom VideoCore IV. Supporta le librerie OpenGL e riesce a riprodurre formati H.264 a 1080p.
  • Memoria SDRAM da 256MB.
  • 1x Porta USB 2.0
  • L'output video avviene attraverso porta HDMI o connettore RCA (solo video).
  • L'output audio invece, avviene attraverso HDMI e jack da 3.5mm
Il Model B invece va a ricoprire alcune mancanze della versione A. Ecco elencate le differenze:
  • Memoria SDRAM da 512MB.
  • Connessione alla rete attraverso la porta Ethernet (RJ-45).
  • 2x USB 2.0 attraverso un HUB integrato sulla scheda.
I prezzi, seppur simili, variano l'uno dall'altro di $10. Il Model A ha un prezzo di $25 ed il Model B di $35.
I consumi sono praticamente bassissimi per entrambi i modelli: il primo ha un consumo di 1.5W ed il secondo di 3.5W.

Cosa può essere installato su un Raspberry?


Ed è in questo paragrafo che, se vogliamo, si evincono i punti "deboli" di questa piattaforma. Se vi aspettavate di poterci installare qualunque sistema operativo sopra, vi sbagliavate di grosso.
Innanzitutto, dei sistemi operativi Windows non si vede neppure l'ombra e l'unica opzione disponibile è quella di installare un sistema operativo linux (escludendo i Mediacenter). Le distro disponibili sono diverse ma, quelle ufficialmente supportate, sono purtroppo soltanto tre: Raspbian (derivata di Debian), Pidora (derivata Fedora) ed Arch Linux.

Cosa sono i Mediacenter?


Nella creazione di un Mediacenter, moltissimi utenti si rivolgono a Raspberry Pi e, infatti, è probabilmente l'ambito di utilizzo più riscontrato per questa scheda. 
Ma cosa sono questi Mediacenter? Fondamentalmente sono dei dispositivi, computer o meno non importa, adibiti alla riproduzione di audio, video, immagini e molto altro. I moderni dispositivi, come anche il Raspberry Pi, si sono ovviamente adattati alle nuove tecnologie e cosi, se prima un Mediacenter necessitava di uno o più Storage di massa per la lettura di file, al giorno d'oggi è necessario semplicemente avere una connessione Wireless locale per riprodurre qualunque tipo di video, anche grazie a standard come il DLNA.

Cosi il Raspberry Pi, oltre che essere in grado di svolgere funzioni del genere abbastanza facilmente, dispone di alcuni sistemi operativi prettamente dedicati allo svolgimento di questa funzione e alcuni di questi sono: OpenELEC, XBian e RaspBMC.

E' utile?


A questa domanda mi avvalgo della facoltà di non rispondere. Fondamentalmente questo fantastico prodotto costa pochi spiccioli e, anche se si rivelasse per voi inutile, averne uno fa sempre comodo.
Che poi, se vogliamo dirla tutta, un Raspberry non sarà mai inutile in mano alle persone che hanno voglia di creare, visto che gli usi che se ne possono fare sono praticamente infiniti.
A testimonianza di quanto ho appena detto è saltata fuori dalla rete, alcuni giorni fa, la notizia di un tipo che ha trasformato il suo Raspberry in un Tablet producendosi la scocca in legno... niente male no?

Author: Cerquone Giacomo

Arduino: un progetto open-source tutto italiano

Arduino Logo

Ne avevamo già parlato all'interno dell'articolo sui system-on-a-chip e, come promesso, eccomi qui finalmente a parlare, in maniera molto più dettagliata, di questo fantastico prodotto tutto italiano.

Già, perché se pensavate che non fossimo più capaci di produrre qualcosa di buono nel campo dell'alta tecnologia, vi sbagliavate di grosso! I "responsabili" del progetto Arduino, ora estesosi in tutto il mondo nelle sue forme più disparate, sono stati diversi studenti dell'Interaction Design Institute, una scuola per post-laureati con sede ad Ivrea, nel lontano 2005.
Infatti, proprio in questa famosa cittadina piemontese citata dal Carducci, vi è tuttora un bar chiamato "Arduino" in ricordo di "Arduino d'Ivrea": re d'Italia nell'anno 1002. Cosi i creatori, frequentatori abituali di questo locale, decisero di dare lo stesso nome al loro progetto, ancora del tutto inconsapevoli della notorietà che avrebbero acquistato negli anni successivi.

Il team è attualmente composto da David Cuartielles, Tom Igoe, Gianluca Martino, David Mellis e Massimo Banzi, ma fu soltanto quest'ultimo, chiamato anche Mr. Arduino, che ebbe la necessità e l'intenzione di creare una piattaforma di prototipazione (adibita quindi alla creazione di prototipi) che fosse: utilizzabile all'interno del suo istituto e che, soprattutto, fosse la più economica in commercio.
Infatti, le alternative proposte dal commercio, prima di Arduino, erano piuttosto inaccessibili per via dei costi piuttosto alti.

Perché Open-Source?


Arduino Open Source

Cosi, una volta ideata e prodotta la prima scheda Arduino, Banzi pubblicò in rete il suo progetto rendendolo completamente open-source e dando la possibilità a chiunque di costruirsene una da se. 
Anche oggi, infatti, ad ogni modello di Arduino, si ha la relativa scheda hardware cosicché chiunque voglia prodursene uno può farlo. 
Si ha anche la possibilità di produrre le proprie schede a scopo commerciale, sempre però che abbiano un nome differente dall'originale, come espresso nelle condizioni del copyleft con cui questo prodotto viene rilasciato.

Com'è fatto un Arduino?


Scheda Arduino UNO

Abbiamo già spiegato nell'articolo precedente, bene o male, cosa vi è installato su questi SoC. La stessa cosa vale per Arduino dove, principalmente, troviamo saldati su di esso un processore, un interfaccia usb per lo scaricamento dello sketch (programma) e per l'alimentazione della scheda, un adattatore in corrente continua a 9 volt, un regolatore di tensione e diversi PIN digitali ed analogici collegati alle porte I/O per il collegamento solder-less (senza saldature) dei componenti che saranno aggiunti durante la creazione di un qualsiasi progetto.
Il processore, come potete osservare dalla scritta su di esso, è prodotto dalla Atmel (azienda statunitense) e i modelli installati su queste schede variano per ogni modello di Arduino.

In che linguaggio viene programmato il microcontrollore?


Arduino IDE

Il microcontrollore viene programmato nella maggior parte dei modelli di Arduino, come vi dicevo prima, attraverso la porta USB utilizzando l'IDE (Ambiente di Sviluppo) scritto in Java e derivato dall'IDE del "Processing" che viene fornito, ovviamente direi, dai produttori stessi. Il linguaggio di programmazione con la quale si possono scrivere i programmi è il Wiring: un linguaggio derivato da C/C++ molto semplice per permettere di scrivere codice anche ai meno esperti in programmazione.

Quanti e quali sono i modelli di Arduino?

I modelli di Arduino, oltre che essere cambiati nel tempo, sono aumentati nel numero. Da quando producevano soltanto un tipo di scheda, nemmeno tanto performante come quella di oggi, sono arrivati a produrre un bel numero di schede, per la precisione 24 comprese le vecchie versioni!
Ce ne sono di tutti i tipi: da quella standard come l'arduino UNO fino ad arrivare al Lilypad Arduino: un tipo di scheda sottile solo 9mm a forma di fiore, ed ecco il perché del nome, adibito alla creazione di progetti wearable (indossabili).
Qui trovate una lista degli "Arduini" e di seguito un riassunto delle schede più note:
  • Arduino UNO - Programmabile via USB. Il classico Arduino molto versatile ed adatto a moltissimi scopi.
  • Arduino Mega - Programmabile via USB. Una versione di Arduino dal fattore simile all'UNO ma con un controllore decisamente più potente, con un numero maggiore di PIN I/O ecc. 
  • Arduino Serial - Programmabile via porta seriale. Una versione di Arduino un po' datata che comunicava attraverso porta seriale.
  • Arduino Nano - Programmabile via Mini-b USB. Un tipo di Arduino utilizzato per sviluppi di tecnologie portatili.
  • LilyPad Arduino - Programmabile via USB attraverso un adattatore. Un tipo di Arduino Utilizzato nello sviluppo di tecnologie wearable.
Infine, per rendere queste schede ancora più versatili, esistono gli Shield.

Cosa sono gli Arduino Shields?


Arduino Ethernet Shield

La parola shield, in italiano, saprete sicuramente che significa scudo ed effettivamente, un Arduino Shield, è una specie di scudo che si collega attraverso i PIN della scheda a mo' di torre.
Esistono diversi tipi di shield e, alcuni di questi, possono dare ad Arduino la possibilità di collegarsi ad una rete Ethernet, WiFi, GSM o ancora di controllare motori, encoder e molto altro.

Quali sono le applicazioni di questo prodotto?

Praticamente infinite. Vanno dalla domotica alla creazione dei prodotti più disparati e, proprio a testimonianza di questo, voglio concludere l'articolo mostrandovi dei video di alcuni degli utenti che hanno costruito cose praticamente impensabili.



Author: Cerquone Giacomo