La storia inizia un giorno d’inverno quando decisi di fare l’upgrade e di passare ad Arduino. All’epoca ero ancora a programmare in Basic 2 con i microcontrollori Picaxe, tanto facili da usare quanto inutili dal punto di vista dello sviluppo( comunque devo ammettere che con loro è stato il mio primo approccio alla programmazione). Il nuovo mondo di Arduino mi si presentò come magico, pieno di divertimento e potenzialità. Il suo playground (sito dove tutti i nerdarduino si ritrovano e inventano cose strabilianti) prometteva valanghe di codice da rubare(con un semplice copia-incolla), senza il minimo sforzo di apprendimento. Così mi decisi a comprare la famosa tavoletta open-souce dell’italianissimo peso piuma Massimo Banzi. Appena arrivata mi misi subito a programmare e mi accorsi che fortunatamente il processing non altro è che il caro vecchio C, che fortunatamente avevo studiato solo l’anno prima all’università.

arduino_uno

L’amore tra me e la tavoletta naque e maturò tra nottate passate al lume di candela (nel vero senso della parola poichè qualche volta ho fatto davvero saltare la luce) ed e proprio durante queste lunghe sessione che sono nati alcuni miei progetti molto interessanti, tra cui l’interruttore della luce azionato con un battito di mani(di cui scriverò più avanti) o le rivisitazioni del mio vecchio robot che feci all’età di 17 anni.

Ma, così velocemente come era iniziato, il nostro rapporto iniziò ad incrinarsi. Un altra tavoletta stava bussando alla porta della mia vita. Fu inizialmente una relazione a distanza, mediata da uno schermo, in quanto ancora non la potevo possedere(hehe!!). Essa era dolce e mi prospettava di trascinarmi in una storia ancora più passionale, piena di dolcezze come le fette di torta. Fetta di torta…ebbene si, era lei, la Torta di Lamponi, la freschissima inglesina: la Raspberry Pi. Essa è entrata nella mia vita da pochi giorni, ma io di lei già sapevo tutto. La differenza fondamentale è che essa è veramente un computer, a differenza della Arduino che è un microprocessore. Come abbiano fatto ad infilare la complessità di un Pentium 2 in una tavoletta grossa quanto un cellulare è un mistero. Non si surriscalda e la puoi pure mandare a pile! Non ha praticamente problemi di alimentazione.

Raspberry-Pi

Da qui parte la grande battaglia tra il mio vecchio amore Arduino e la nuova conquista Raspberry Pi. Va detto che l’Arduino parte svantaggiato, poiché la sua ultima versione hardware (Arduino Uno) risale a tempo fa, mentre la Raspberry ha solo qualche mese di vita. Bisognerà aspettare l’uscita della Arduino 2 per poter mettere il contest allo stesso piano. Ma ora passiamo al ring tra le due contendenti:

Pro Arduino:
1- E’ open souce: la cosa non è da sottovalutare, poichè avere davanti agli occhi sia le schematiche hardware sia il bootloader software può svelarti cose che altrimenti non sarebbero possibili. Al di là di questo è bella l’idea dell’open souce
2- E’ un microcontrollore: essendo specifico, ciò che fa lo fa bene. Non ha bisogno di tempo per avviarsi(o meglio, il suo tempo di boot è infinitesimo) e consuma pochissimo. Con 3 pile lo puoi mandare avanti per molto tempo.
3- Analog input: questa tavoletta vanta molti più pins I/O della rivale, ma sopratutto ha ben 5 analog inputs in cui la rivale è completamente deficiente. Anche se sulla raspeberry uno può usare degli shield per ovviare a questo problema, l’avere direttamente i pin ha il suo vantaggio.
4- Personalizzazione: esiste una tipologia di arduino per ogni bisogno: Uno, Nano, Mega, Mini, Leonardo, Fio, LilyPad: dalle versione più piccole a quello per essere cucito sui vestiti!
5- Librerie: non sai come fare qualcosa? carica una libreria con tutte le funzioni già fatte! Il bello dell’open source(in maniera scorretta) è che qualcuno molto probabilmente ha già fatto quello che vuoi fare tu e te lo copi spudoratamente
6- E’ italiano: una delle poche volte per cui si può essere fieri del genio italiano.

Pro Raspeberry Pi:
1- E’ un computer: anche se in miniatura, è sempre un computer! Se attaccato ad un monitor ha pure la versione grafica niente male. Ovviamente questo da un vantaggio sulla potenza di calcolo non indifferente rispetto al rivale.
2- Nessun codice: non serve sapere il codice per poterlo utilizzare, a differenze della rivale.
3- Ha le app: se in arduino bisognava scervellarci per ogni problema, qui probabilmente può essere risolto scaricando una adeguata app.
4- Video: una potenza maggiore permette di usufruire dei tanto dolorosi video(in termini di richiesta software/hardware). Sembra che la raspberry non dia problemi neanche sui blue-ray di ultima generazione!
5- Output implementati: tutte le tipologie di uscita(Ethernet, Usb, Audio, RCA video, HDMI) sono già sulla tavoletta, senza il bisogno di acquistare costosi shield(mi riferisco a quello ethernet di arduino)
6- Os: perchè mettere proprio la versione raspian di Debian sul proprio raspberry? Ma possiamo metterci qualsiasi cosa! Addirittura android! http://www.raspberrypi.org/archives/1700

————————————–

Anche se dal sopra sembra che sia più facile utilizzare un Raspeberry Pi, qui mi contraddico; nel senso che per fare le cose standard che potrebbe fare un computer allora il raspberry pi è ottimo, altrimenti la difficoltà del suo utilizzo diventa pericolosamente grande(se non si è familiari con l’OS Linux), contrariamente a quella di arduino che, dopo uno sforzo iniziale nel capire come funziona il suo codice, è alla fineabbastanza semplice. Sulle prestazioni relative alla connessione al mondo di internet notiamo un sostanziale pareggio dal punto di vista server(entrabi lo possono diventare senza problemi) ma ovviamente una netta vincita da perte del rasperry pi quando si parla di navigare e di facilità di interazione(si usa un normale browser!).
In fin dei conti, tirando le somme, non possiamo decretare un vero vincitore. Ogni tavoletta è perfetta per lo specifico in cui è stata progettata. Mentre la Arduino ha discreti vantaggi poichè è una architettura semplice ma potente con tanti pins I/O, che le permettono di essere la regina nell’iteraction design; la Raspberry Pi vince nel mondo del multimedia(sopratutto video, dove arduino fallisce miseramente), poichè ha tutte le dinamiche di un computer ma in dimensione ridottissima.

Utilizzi preferiti per Arduino: Interaction Design, Robotica, led controller, progetti con molti I/O, comunicazione wireless, intallazioni con più di un controllore.
Arduino progetti cool: La pianta che ti twitta quando ha sete, Indicatore della strada di casa, Sintetizzatori, 3D Printer

Utilizzi preferiti per Raspberry Pi: Home Media Center, mini computer “da tasca”, Robotica avanzata, programmazione di altri dispositivi.
Raspberry Pi progetti cool: Radio che legge i tweet, Televisore streaming, Robot controllato dalla voce