Raspberry Pi - Introduzione, caratteristiche, programmazione, casi d'usogianlucaghettini
Una introduzione al Raspberry Pi
Presentazioni
Cosa è Raspberry Pi
Storia
Caratteristiche
Specifiche CPU
Alimentazione & consumi
Arduino != Raspberry
Differenze
Applicazioni
Connettori
Video
Audio
GPIO
SD card
Ethernet
USB
GPIO
Configurazione dei pin
Porte native (I2C, SPI, UART)
wiringPi
Esempio
Getting started
Raspian OS
Installazione
Programmare il Raspberry
C (esempio)
Ma anche C++/PHP/Java
Scratch (esempio)
Bare metal programming
Casi d'uso (miei)
Solar panel power production meter
Chiosco eliminacode
Casi d'uso (trovati in rete)
Domotica
Mediacenter
Arcade machine • Link
Saluti
Raspberry Pi - Introduzione, caratteristiche, programmazione, casi d'usogianlucaghettini
Una introduzione al Raspberry Pi
Presentazioni
Cosa è Raspberry Pi
Storia
Caratteristiche
Specifiche CPU
Alimentazione & consumi
Arduino != Raspberry
Differenze
Applicazioni
Connettori
Video
Audio
GPIO
SD card
Ethernet
USB
GPIO
Configurazione dei pin
Porte native (I2C, SPI, UART)
wiringPi
Esempio
Getting started
Raspian OS
Installazione
Programmare il Raspberry
C (esempio)
Ma anche C++/PHP/Java
Scratch (esempio)
Bare metal programming
Casi d'uso (miei)
Solar panel power production meter
Chiosco eliminacode
Casi d'uso (trovati in rete)
Domotica
Mediacenter
Arcade machine • Link
Saluti
CodingGym - Lezione 2 - Corso Linux, Android e Internet of ThingsMirko Mancin
Corso frontale di 20 ore indirizzato a docenti di scuole superiori nel settore ICT. Il corso vuole essere una palestra (per questo CodingGym) di rafforzamento delle basi già esistenti e di supporto per corsi futuri. Queste slide sono rilasciate con la licenza Creative Commons e quindi potete scaricarle ed utilizzarle a vostro piacere. Ricordate però di CITARMI! :D
Raspberry Pi: hardware opensource al servizio della didattica... e non solo!Alessandro Grechi
10 slides per presentare brevemente il Raspberry Pi: l'idea, le caratteristiche ed i progetti possibili con questo fantastico hardware opensource lowcost.
http://grechi.it - http://twitter.com/AleGrechi
Matteo baccan raspberry pi - linox 2014Matteo Baccan
Introduzione a Raspberry Pi
Cos’è? A chi è rivolto? Cosa ci posso fare? Cosa ci collego? Mi serve? A queste, e ad altre domande, proveremo a dare una risposta
Raspberry Pi, l’emozione nel lampone by Luigi Dell'AquilaCodemotion
La RPi e’ un minicomputer creato da persone con la passione per l’informatica e l’elettronica, desiderose di trasmettere questa passione alle nuove generazioni.Pensavano di venderne mille; in un anno ne sono stati venduti un milione di pezzi(!!!) a ragazzi, appassionati, maker e semplici curiosi.A cosa e’ dovuto questo successo? Al prezzo contenuto? Alle interfacce hardware che tanto si prestano ad assecondare le fantasie più sfrenate dei maker? O alla capacita’ di suscitare le stesse emozioni che il vecchio C64 ci dava da bambini?Vale la pena dargli un’occhiata insieme da vicino!
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)Gabriele Guizzardi
Slide delle 8h di workshop su Raspberry Pi presso Warehouse Coworking Pesaro, 13/12/2014
Slides of 8h workshop about Raspberry Pi at Warehouse Coworking Pesaro, 13/12/2014
CodingGym - Lezione 3 - Corso Linux, Android e Internet of ThingsMirko Mancin
Corso frontale di 20 ore indirizzato a docenti di scuole superiori nel settore ICT. Il corso vuole essere una palestra (per questo CodingGym) di rafforzamento delle basi già esistenti e di supporto per corsi futuri. Queste slide sono rilasciate con la licenza Creative Commons e quindi potete scaricarle ed utilizzarle a vostro piacere. Ricordate però di CITARMI! :D
Linux Board. Corso di prototipazione rapidaMultiverso
Il corso si svolgerà Domenica 11 Maggio presso Multiverso a Firenze Via Campo D'Arrigo 42/r. Si propone, hardware alla mano, di dare dei concetti di base sulla programmazione GNU/Linux embedded volti alla prototipazione rapida.
Per info e iscrizioni: http://bit.ly/1tYABWp
CodingGym - Lezione 2 - Corso Linux, Android e Internet of ThingsMirko Mancin
Corso frontale di 20 ore indirizzato a docenti di scuole superiori nel settore ICT. Il corso vuole essere una palestra (per questo CodingGym) di rafforzamento delle basi già esistenti e di supporto per corsi futuri. Queste slide sono rilasciate con la licenza Creative Commons e quindi potete scaricarle ed utilizzarle a vostro piacere. Ricordate però di CITARMI! :D
Raspberry Pi: hardware opensource al servizio della didattica... e non solo!Alessandro Grechi
10 slides per presentare brevemente il Raspberry Pi: l'idea, le caratteristiche ed i progetti possibili con questo fantastico hardware opensource lowcost.
http://grechi.it - http://twitter.com/AleGrechi
Matteo baccan raspberry pi - linox 2014Matteo Baccan
Introduzione a Raspberry Pi
Cos’è? A chi è rivolto? Cosa ci posso fare? Cosa ci collego? Mi serve? A queste, e ad altre domande, proveremo a dare una risposta
Raspberry Pi, l’emozione nel lampone by Luigi Dell'AquilaCodemotion
La RPi e’ un minicomputer creato da persone con la passione per l’informatica e l’elettronica, desiderose di trasmettere questa passione alle nuove generazioni.Pensavano di venderne mille; in un anno ne sono stati venduti un milione di pezzi(!!!) a ragazzi, appassionati, maker e semplici curiosi.A cosa e’ dovuto questo successo? Al prezzo contenuto? Alle interfacce hardware che tanto si prestano ad assecondare le fantasie più sfrenate dei maker? O alla capacita’ di suscitare le stesse emozioni che il vecchio C64 ci dava da bambini?Vale la pena dargli un’occhiata insieme da vicino!
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)Gabriele Guizzardi
Slide delle 8h di workshop su Raspberry Pi presso Warehouse Coworking Pesaro, 13/12/2014
Slides of 8h workshop about Raspberry Pi at Warehouse Coworking Pesaro, 13/12/2014
CodingGym - Lezione 3 - Corso Linux, Android e Internet of ThingsMirko Mancin
Corso frontale di 20 ore indirizzato a docenti di scuole superiori nel settore ICT. Il corso vuole essere una palestra (per questo CodingGym) di rafforzamento delle basi già esistenti e di supporto per corsi futuri. Queste slide sono rilasciate con la licenza Creative Commons e quindi potete scaricarle ed utilizzarle a vostro piacere. Ricordate però di CITARMI! :D
Linux Board. Corso di prototipazione rapidaMultiverso
Il corso si svolgerà Domenica 11 Maggio presso Multiverso a Firenze Via Campo D'Arrigo 42/r. Si propone, hardware alla mano, di dare dei concetti di base sulla programmazione GNU/Linux embedded volti alla prototipazione rapida.
Per info e iscrizioni: http://bit.ly/1tYABWp
Similar to Venezia Camp 2013 Raspberry Pi Lab (20)
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