1. Raspberry Pi Lab
VeneziaCamp
12 Aprile 2013
Stefano Paganini
www.stefanopaganini.com
2. Raspberry Pi Lab: programma
• Genesi del progetto
• Minimalia technica
• Quali utilizzi pratici
– Client
– Server
– Real world applications
• Primi passi, istruzioni & trucchi
Raspberry Pi Lab - Venezia Camp 2013 -
2
Stefano Paganini - 4-2013
3. Raspberry Pi: Genesi del progetto
Un passo indietro nel tempo…
Anno 1998:
• un PC basato su Pentium III 700 Mhz,
• 512 mb di RAM,
• alimentatore da 400W,
• circa 15 Kg
Raspberry Pi Lab - Venezia Camp 2013 -
3
Stefano Paganini - 4-2013
4. Raspberry Pi: Genesi del progetto
Anno 2013:
Raspberry Pi,
• CPU @ 700 MHz,
• 512 MB di RAM,
• Consumo: circa 1,5 W…
• 45 grammi
Raspberry Pi Lab - Venezia Camp 2013 -
4
Stefano Paganini - 4-2013
5. Raspberry Pi: Genesi del progetto
Il progetto nasce con l’obiettivo di promuovere lo
studio dell’informatica tramite strumenti a basso
costo.
La Raspberry Foundation, creata da Eben Upton nel
2009, ha raccolto docenti di vario livello, ingegneri,
esperti ed appassionati e… investitori.
Partito nel 2006, il progetto Raspberry Pi, ha avuto
diverse evoluzioni dovute a scelte progettuali.
Raspberry Pi Lab - Venezia Camp 2013 -
5
Stefano Paganini - 4-2013
6. Raspberry Pi: Genesi del progetto
Presentato per la prima volta a Gennaio 2012, prezzo
unitario 200 Sterline, in un lotto di 10 schede, ha subito
preso in contropiede i fondatori.
Da Febbraio 2012 è partita la distribuzione su larga scala
con un primo lotto di 10.000 schede.
A fine Dicembre 2012 è stato raggiunto il traguardo del
primo milione di Rpi venduti.
Raspberry Pi Lab - Venezia Camp 2013 -
6
Stefano Paganini - 4-2013
7. Raspberry Pi: Genesi del progetto
Quali le caratteristiche del RPi?
- Basso costo ($ 35 – circa 45 euro per il modello B)
- Software open source
- Compatibilità con periferiche USB
- Accesso al livello hardware (GPIO)
- Facile connessione a TV, monitor (HDMI, composito)
Raspberry Pi Lab - Venezia Camp 2013 -
7
Stefano Paganini - 4-2013
8. Raspberry Pi: Genesi del progetto
Due modelli A e B
- Processore SOC Broadcom a 700 Mhz
- 512 MB di RAM
- Due porte USB
- GPIO + SPI (porte dedicate per
accesso hardware)
- Output in Full-HD su HDMI
- Il modello B dispone di una porta
Ethernet 100MBit
- $35 per il modello B, $25 per il
modello A
Raspberry Pi Lab - Venezia Camp 2013 -
8
Stefano Paganini - 4-2013
9. Raspberry Pi: Genesi del progetto
Che cosa permette di fare?
Praticamente tutto, a basso costo:
- Multimedia
- Giochi
- Didattica
- Real world
- Elettronica
- Sistemistica
- Altro (molto altro)
Raspberry Pi Lab - Venezia Camp 2013 -
9
Stefano Paganini - 4-2013
10. Raspberry Pi: Genesi del progetto
Quali i motivi del successo:
- Basso costo (…)
- Ampia disponibilità di materiale didattico
- Comunità di sviluppatori/appassionati molto attiva
- Endorsement da parte di società (Google UK) e autorità
accademiche e scuole, in particolare private
- http://www.guardian.co.uk/education/2012/jan/09/raspberry-pi-computer-
revolutionise-computing-schools?newsfeed=true
- Architettura Linux e compatibilità progettuale con il mondo open
source
- Orgoglio UK nella rinascita del settore e revival anni ‘80 del
successo di BBC Model B
Raspberry Pi Lab - Venezia Camp 2013 -
10
Stefano Paganini - 4-2013
11. Raspberry Pi: Genesi del progetto
Che cosa NON fa:
- Non sostituisce un vero computer
- Anche il client più completo risulta molto lento
- In alcune applicazioni Server può risultare troppo limitato
- Non dispone di un orologio in tempo reale
- Necessita di Internet o di una scheda dedicata per mantenere
un clock real-time
- Non è prevista alcuna forma di espansione/upgrade
- La semplicità progettuale ha imposto tagli sul fronte upgrade
Raspberry Pi Lab - Venezia Camp 2013 -
11
Stefano Paganini - 4-2013
12. Raspberry Pi: Genesi del progetto
Cosa è un computer su scheda singola
La caratteristica fondamentale del Rpi è il chip
SOC – System on a Chip che integra un
processore ARM1176JZF-S a 700 MHz, una
GPU VideoCore IV, e 256 o 512 Megabyte di
memoria.
Raspberry Pi Lab - Venezia Camp 2013 -
12
Stefano Paganini - 4-2013
13. Raspberry Pi: Genesi del progetto
Confronto con Arduino, progetto di single-board-computer
tutto Made in Italy.
Arduino: orientato all’open source, alla community dei
makers.
RPi: orientato alla didattica ma anche al multimedia.
Molte altre considerazioni…
Raspberry Pi Lab - Venezia Camp 2013 -
13
Stefano Paganini - 4-2013
14. Raspberry Pi: dove si trova/come si
compra
Attualmente, i distributori ufficiali sono due:
RS e Farnell, entrambe UK-based.
In Italia, è frequentemente reperibile su ebay, presso
negozi di elettronica online e, da poco, anche su
Amazon.
Caveat: il modello B è disponibile nella Revision 2, più
recente e con 512 Mb di RAM.
Evitare modelli più vecchi e/o venditori che non specificano
correttamente la release. - Venezia Camp 2013 -
Raspberry Pi Lab
14
Stefano Paganini - 4-2013
15. Raspberry Pi: Cosa serve/ quali periferiche
A parte il Raspberry Pi, sono necessarie alcune periferiche di base (quasi tutte
di facile reperibilità e basso costo):
- Schede SD, raccomando >= 4GByte, possibilmente veloci,
- Alimentatore 5V, circa 1A con attacco Micro-USB (reperibile come
alimentatore per cellulari/tablet)
- Cavo Ethernet,
- Cavo HDMI o VideoComposito
- Tastiera + mouse USB
Inoltre:
• Joystick,
• Wi-Fi su USB
• Bluetooth su USB...
Raspberry Pi Lab - Venezia Camp 2013 -
15
Stefano Paganini - 4-2013
16. Raspberry Pi: Quali utilizzi? Esempi pratici
Client a basso costo
Anche se non può garantire un utilizzo di alto livello, paragonabile a
quello di un PC/Mac, un RPi con tastiera/mouse USB, monitor (in
Full HD) può costituire un discreto client per la navigazione web,
per la visualizzazione di contenuti multimediali, per il lavoro con
OpenOffice.
E’ inoltre ottimale come ‘kiosk-pc’ per l’inserimento in strutture
pubbliche, biblioteche etc.
La distribuzione più usata è Raspbian, un Debian dedicato al
processore ARM, che incorpora già buona parte di tutti i tool
necessari.
Raspberry Pi Lab - Venezia Camp 2013 -
16
Stefano Paganini - 4-2013
17. Raspberry Pi: Quali utilizzi? Esempi pratici
Media center
A poco più di 40 euro, è possibile costruire un Media Center di tutto
rispetto, in grado di visualizzare (in Full-HD) praticamente tutti i file
multimediali audio e video.
Tramite la connessione internet (Ethernet o Wi-Fi) è possibile inoltre
visualizzare audio/video in streaming, Youtube, podcast e molto
altro.
Il punto di partenza per questa applicazione è Raspmbc.
(http://www.raspbmc.com/)
Raspberry Pi Lab - Venezia Camp 2013 -
17
Stefano Paganini - 4-2013
18. Raspberry Pi: Quali utilizzi? Esempi pratici
Games/Retrogaming
Non poteva mancare un cenno all’aspetto ludico.
In particolare, in relazione al retrogaming ed all’emulazione di
vecchi computer.
La distro Chameleon del catalano Carles Oriol, è un eccellente
esempio di packaging di Raspbian + un’interfaccia utente in
Python totalmente dedicata all’emulazione di console per
videogiochi e vecchi computer.
Sta avendo notevole successo in quanto soluzione unica e
completa per un numero molto elevato di piattaforme
emulate e per la facilità di espansione.
(http://chameleon.enging.com/)
Raspberry Pi Lab - Venezia Camp 2013 -
18
Stefano Paganini - 4-2013
19. Raspberry Pi: Quali utilizzi? Esempi pratici
Security testing.
Nell’ambito della security, la possibilità di avere un
hardware di dimensioni e costi così ridotti amplia di
molto le prospettive d’utilizzo.
La distro pwnpi è dedicata al penetration testing... ed è
consigliata solo agli addetti ai lavori...
Dispone di più di 200 tool di analisi di rete in un’unica
soluzione.
http://pwnpi.sourceforge.net/
Raspberry Pi Lab - Venezia Camp 2013 -
19
Stefano Paganini - 4-2013
20. Raspberry Pi: Quali utilizzi? Esempi pratici
File server con RPi?
Collegando ad un RPi un hard disk USB lo si può
trasformare facilmente in un NAS.
Le varie distro supportano SMB, AFP e
praticamente tutti i protocolli disponibili.
E’ possibile configurare anche un eccellente
client bit-torrent a bassissimo costo…
Raspberry Pi Lab - Venezia Camp 2013 -
20
Stefano Paganini - 4-2013
21. Raspberry Pi: Quali utilizzi? Esempi pratici
Web Server con Rpi?
Come ogni piattaforma Linux, è ovviamente possibile utilizzare un RPi
come web server LAMP – Linux, Apache, MySQL, PHP.
In aggiunta, il forte supporto al linguaggio Python lo rende un
ambiente di sviluppo.
Consiglio Raspbian Server Edition: distro server minimale ideale per lo
sviluppo.
http://sirlagz.net/2012/12/31/raspbian-server-edition-version-2-2/
Raspberry Pi Lab - Venezia Camp 2013 -
21
Stefano Paganini - 4-2013
22. Raspberry Pi: Quali utilizzi? Esempi pratici
Web Radio con Rpi?
Lo sviluppo di AirTime ha permesso di considerare
l’opzione Raspberry Pi come hardware di
supporto.
In pratica, utilizzando un buon HD per lo storage
dei file mp3, è possibile costruire una Web
Radio completamente controllata tramite
interfaccia web a bassissimo costo (e con
performance di tutto rispetto).
http://www.sourcefabric.org/en/community/blog/1574
Raspberry Pi Lab - Venezia Camp 2013 -
22
Stefano Paganini - 4-2013
23. Raspberry Pi: Quali utilizzi? Esempi pratici
Super computer con Rpi?
Si, è possibile costruire un cluster di Rpi…
Simon Cox, professore all’università di Southampton ha
creato, con l’aiuto del figlio (!), un cluster a 64 nodi.
Feature list:
- 64 RPi,
- Case in Lego
- Linux, MPI, Python
- Costo totale: circa £ 2200
http://www.southampton.ac.uk/~sjc/raspberrypi/
Raspberry Pi Lab - Venezia Camp 2013 -
23
Stefano Paganini - 4-2013
24. Raspberry Pi: Quali utilizzi? Esempi pratici
Cloud server con RPi?
Grazie ad OwnCloud, un software OS, è possibile
creare server cloud per la condivisione di file per
piccoli gruppi di lavoro tramite WebDav.
http://owncloud.org/
Raspberry Pi Lab - Venezia Camp 2013 -
24
Stefano Paganini - 4-2013
25. Raspberry Pi: Quali utilizzi? Esempi pratici
Esempi Real world
- Time lapse fotografico applicato a fotocamere Canon
- Pilotaggio di Rover, sottomarini
- Stampanti 3D
- Controllo di stazioni Radio
- Calibrazione di colore per miscelatori di vernici
- FM Transmitter con un solo filo
- http://www.stefanopaganini.com/2013/02/01/raspberry-pi-fm-transmitter-one-short-
wire-and-a-radio-let-you-broadcast-wav-files-vine-footage-included/
... Molto altro
Raspberry Pi Lab - Venezia Camp 2013 -
25
Stefano Paganini - 4-2013
26. Raspberry Pi: Sessione operativa
Cosa scaricare
Partendo da Raspberry.org/downloads:
- Raspbian Wheezy
- Cosa permette di fare?
- Cosa è incluso
- Raspbmc
- RSE
Raspberry Pi Lab - Venezia Camp 2013 -
26
Stefano Paganini - 4-2013
27. Raspberry Pi: Sessione operativa
Come collegarsi?
Il miglior amico di un Raspberry Pi è un client ssh sia esso
PC, Mac o Linux (per PC è consigliato Putty).
Si tratta di connettersi in questo modo:
ssh -l pi [indirizzo IP]
Come scoprire l’indirizzo IP del nostro RPi?
Raspberry Pi Lab - Venezia Camp 2013 -
27
Stefano Paganini - 4-2013
28. Raspberry Pi: Sessione operativa
Prime operazioni:
- config.txt PAL
- update debian
- Connessione via ssh
- Raspi-config -> Expand-rootfs
Raspberry Pi Lab - Venezia Camp 2013 -
28
Stefano Paganini - 4-2013
29. Raspberry Pi: Sessione operativa
Operazioni aggiuntive:
• Wi-Fi: sono supportati molti dispositivi Wi-Fi
USB, in particolare quelli D-Link e 3Com.
• Bluetooth: come per Wi-Fi, spesso Raspbian
individua automaticamente il dispositivo USB
e ne suggerisce il chipset per il download dei
driver appositi.
Raspberry Pi Lab - Venezia Camp 2013 -
29
Stefano Paganini - 4-2013
30. Raspberry Pi: istruzioni e trucchi
Il principale tool di setup e configurazione del Rpi:
sudo raspi-config
L’importanza del comando Expand-rootfs.
Raspberry Pi Lab - Venezia Camp 2013 -
30
Stefano Paganini - 4-2013
31. Primi passi: istruzioni e trucchi
L’importanza del file /boot/config.txt
Problemi comuni:
- Output audio
- Output su HDMI vs. Composito
- Set stdv mode to PAL: sdtv_mode=2
- http://elinux.org/Rpiconfig
- Modifiche possibili anche da PC/Mac su SD card
Raspberry Pi Lab - Venezia Camp 2013 -
31
Stefano Paganini - 4-2013
32. Primi passi: istruzioni e trucchi
• Come utilizzare il Browser Midori in modalità
Kiosk?
– midori -i 30 -e Fullscreen -a "http://news.google.it/"
• VNC
– È ovviamente possibile installare TightVNCServer
e collegarsi in remoto tramite qualsiasi client VNC
(anche da iPad)
• tightvncserver -geometry 1680x900
Raspberry Pi Lab - Venezia Camp 2013 -
32
Stefano Paganini - 4-2013
33. Primi passi: istruzioni e trucchi
• Come catturare la schermata corrente: fbgrab
• Può essere utile dover catturare la schermata corrente;
tramite fbgrab è possibile farlo in remoto, tramite ssh,
posizionando mouse e finestre come desideriamo. Il
risultato è un file .png o .jpg che possiamo includere
all’interno di presentazioni e documentazioni.
• Fbgrab va scaricato ed installato:
– sudo apt-get install fbgrab
• Viene poi lanciato come segue:
– fbgrab -f screen.raw -w 1024 -h 768 -b 16 screen.png
Raspberry Pi Lab - Venezia Camp 2013 -
33
Stefano Paganini - 4-2013
34. Raspberry Pi: Linkoteca
Per cominciare:
• Raspberry Pi foundation: http://www.raspberrypi.org
• Raspbian: http://www.raspberrypi.org/downloads
• Media center Raspmbc: http://www.raspbmc.com
• Configurazioni: http://elinux.org/RPiconfig
• Chameleon Emulatori e Retrogaming:
http://chameleon.enging.com
Raspberry Pi Lab - Venezia Camp 2013 -
34
Stefano Paganini - 4-2013
35. Raspberry Pi: Linkoteca
Per cominciare:
• Raspberry Pi foundation: http://www.raspberrypi.org
• Raspbian: http://www.raspberrypi.org/downloads
• Media center Raspmbc: http://www.raspbmc.com
• Configurazioni: http://elinux.org/RPiconfig
• Chameleon Emulatori e Retrogaming:
http://chameleon.enging.com
• Raspberry Pi Italian Community:
https://www.facebook.com/pages/Raspberry-Pi-Italian-
Community/133970276781337?ref=hl
Raspberry Pi Lab - Venezia Camp 2013 -
35
Stefano Paganini - 4-2013