SlideShare une entreprise Scribd logo
1  sur  63
Télécharger pour lire hors ligne
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Raspberry Pi 
Una introduzione 
Gianluca Ghettini 
http://www.gianlucaghettini.net 
email: gianluca.ghettini@gmail.com 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Introduzione: Raspberry Pi 
Cosa e il Raspberry Pi? 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Introduzione: Raspberry Pi 
SBC (Single Board Computer) 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Introduzione: Raspberry Pi 
CPU ARM11 700MHz 
256 MB RAM (o 512) 
VIDEO/AUDIO OUT 
USB x2 
GPIO 
Ethernet card! 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Introduzione: Raspberry Pi 
Piccolo come una carta di credito 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Introduzione: Raspberry Pi 
Potente: equiparabile ad un PC desktop di inizio 2000 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Introduzione: Raspberry Pi 
Economico: praticamente costa 25-35 Euro 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Introduzione: come fa a costare cosi' poco? 
Niente case esterno 
No alimentatore incluso 
Nessun on/o switch 
Nessun manuale cartaceo a corredo (c'e il sito) 
scatola di cartone inclusa :-) 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Introduzione: storia 
Nasce nel 2012 come strumento didattico 
Progetto open-source 
Basato su GNU/Linux: gira Linux sopra! 
Community 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Introduzione: storia 
Doveva essere solo un Python Interpreter 
Basato sul CPU ARM11 700MHz 
Successo enorme tra i Maker 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Introduzione: storia 
Curiosita: Autore del progetto e David Braben, programmatore di 
Elite, uno dei primi giochi in gra
ca 3D (prima di Wolfenstein!) 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Introduzione: lista della spesa 
Alimentatore 5V 2000mA micro usb 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Introduzione: lista della spesa 
Tastiera  mouse USB 
Monitor HDMI o TV 
Sistema operativo Linux (e free ovviamente!) 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Introduzione: sistema completo 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Introduzione: il grande assente 
Manca qualcosa? 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Introduzione: il grande assente 
Ma il disco rigido dov'e? 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Introduzione: il grande assente 
Raspberry Pi ha sul retro uno slot SD card! 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Introduzione: SD card 
L'SD card e il disco rigido del Raspberry 
Almeno 4GB 
Una moltitudine di OS derivati GNU/Linux 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Caratteristiche: CPU 
CPU ARM11 32 bit 
single core, 700MHz 
La stessa che sta nell' iPhone EDGE e nell iPhone 3G 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Caratteristiche: consumi 
Consuma all'incirca 3W 
Piu o meno 1 cent Euro al giorno :-) 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Caratteristiche: scheda video GPU 
Broadcom VideoCore GPU IV 
Quake 3 Arena gira tranquillamente sul Raspberry :-) 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Connettori: analog audio  video out 
Speci
che 
RCA video out (PAL) 
Audio stereo 
Qualsiasi TV va bene! 
Casi d'uso 
Un bel Mediacenter? 
Cartellonistica digitale? 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Connettori: HDMI 
Speci
che 
HD 1080p 
Audio integrato 
Casi d'uso 
Console Retro gaming? 
Postazione Desktop da 
ucio? 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Connettori: Ethernet RJ45 
Speci
che 
10/100 MBit/s 
No gigabit! Glielo 
perdoniamo via... 
Casi d'uso 
Web server casalingo? 
Torrent download station? 
Firewall casalingo? 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Connettori: USB x2 
Speci
che 
USB 2.0 
500mA max? dipende... 
Meglio alimentare a parte 
Casi d'uso 
Dongle Wi-Fi? 
Lettore codici a barre? 
Hard disk esterno? 
Ci colleghiamo di tutto! 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Connettori: GPIO 
Speci
che 
Sono ben 17 
SPI, I2C e UART incluse 
Casi d'uso 
Cosa ci comandiamo? 
Tutto quello che risponde ad 
un segnale elettrico! 
Rele 
Altri Microcontrollori 
LED 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Connettori: cos'e un GPIO? 
Se impostato come OUTPUT 
Un pin che puo essere messo a 0 o 5 Volt via software 
Se impostato come INPUT 
Un pin che sente la tensione applicata ai suoi capi e lo noti
ca 
via sofware 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Connettori: cos'e un GPIO? 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Connettori: cos'e un GPIO? 
#include wiringPi.h 
int main (void) 
{ 
wiringPiSetup () ; 
pinMode (0, OUTPUT) ; 
for (;;) 
{ 
digitalWrite (0, HIGH) ; delay (500) ; 
digitalWrite (0, LOW) ; delay (500) ; 
} 
return 0 ; 
} 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Arduino != Raspberry 
Raspberry non e Arduino! 
Arduino e puro embedded 
Raspberry e letteralmente un PC 
in miniatura + GPIO 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Arduino != Raspberry 
Arduino 
Low level 
Micro ATMega328, 20MHz 
Pieno controllo dell'hardware 
Task semplici e ben de
niti 
No memoria di massa 
Raspberry 
High level 
Gira Linux sopra! 
Multitasking 
Hard disk! 
Programmi complessi 
Possiamo utilizzare Raspberry per fare quello che si puo fare con 
Arduino ma e uno spreco! 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Arduino != Raspberry 
Bit-banging VS Gang-banging :-) 
Arduino = Bit-Banging 
Bit-Banging: quando manca un 
protocollo e suciente 
implementarselo a mano in 
assembler (es. I2C su 2 GPIO 
disponibili) 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Arduino != Raspberry 
Bit-banging VS Gang-banging :-) 
Raspberry = Gang-Banging 
Gang-Banging: quando manca 
un protocollo e suciente 
comprare e collegare l'adattatore 
USB opportuno (es. USB to I2C 
adapter) 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
GPIO 
5V 
3.3V 
SPI (x2) 
I2C 
UART 
PWM 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
GPIO: Libreria Wiring Pi 
Libreria Wiring Pi (http://wiringpi.org) 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
GPIO: Don't cross the streams!!! 
Il Raspberry funziona in logica CMOS (3.3Volt) ma molti 
dispositivi sono in logica TTL (5Volt) 
Don't cross the 
streams!!! 
Occhio a non 
scambiare la linea 
5V con quella a 
3.3V! 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
GPIO: Don't cross the streams!!! 
Level shifter 
Trasforma segnali a 
5V in segnali a 3.3V 
e viceversa 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
GPIO: library WiringPi, OUTPUT mode 
#include wiringPi.h 
int main (void) 
{ 
wiringPiSetup(); 
pinMode(4, OUTPUT); 
digitalWrite(4, HIGH); 
return 0; 
} 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
GPIO: library WiringPi, INPUT mode 
#include wiringPi.h 
int main (void) 
{ 
wiringPiSetup(); 
pinMode(17, INPUT); 
int value = digitalRead(17); 
return 0; 
} 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Getting started: Installazione OS 
www.raspberrypi.org 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Getting started: Installazione OS 
NOOBS: New Out Of Box Software 
NOOBS include: 
Raspbian (derivato Debian) 
Pidora (derivato Fedora) 
Arch Linux (ArchLinux per ARM) 
OpenELEC (derivato XBMC) 
RaspBMC (derivato XBMC) 
RISC OS (senza fronzoli, leggerissimo) 
Esistono moltissimi altri OS non inclusi in NOOBS 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Getting started: Installazione OS 
Semplicissimo! 
Scarichiamo NOOBS 
Scompattiamo su SD card 
Avviamo Raspberry Pi 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Getting started: Installazione OS 
Here we go! 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Programmazione 
Per programmare il Raspberry Pi ci serve... 
il Raspberry Pi :-) 
Concetto della programmazione Desktop, non Embedded! 
Niente programmatore esterno 
Bastano una tastiera, mouse e video collegati 
Installiamo il nostro IDE preferito! 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Programmazione 
Quale linguaggio? 
Arduino 
Mikro C 
Assembler ATmega328 
Raspberry Pi 
C/C++ 
Python 
Java!!!!!!!!! 
Assembler ARM 
C# (Mono) 
. 
Perche cosi' tanti linguaggi? Raspberry e un PC! 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Programmazione: C/C++ 
Installiamo Eclipse 
Funzioni 
Socket di rete 
File I/O 
Gra
ca (OpenGL) 
Sonoro 
Tutto quello che possiamo 
fare in Linux si puo fare su 
Raspberry Pi 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Programmazione: Scratch! 
Scratch! 
Scratch! 
Educativo! 
Drag  drop 
Animazioni e giochi 
Tipo Clik  Play, chi se lo 
ricorda? 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Programmazione: Bare metal programming 
Bare metal programming: giusto per s
zio 
Bare Metal Programming 
Non serve l'OS 
L'intera scheda SD e la 
memoria programma 
Programmazione in 
assembler 
Conoscenza dell'hardware al 
100% 
Interfacce dicili da 
utilizzare 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Casi d'uso 
Ma cosa possiamo fare con Raspberry? 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Casi d'uso 
Ma cosa possiamo fare con Raspberry? 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Casi d'uso: solar panel datalogger 
Datalogger per impianti fotovoltaici 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Casi d'uso: solar panel datalogger 
Datalogger per impianti fotovoltaici 
RS485 
MySQL 
Connessione LAN 
Monitoring 24h/24 
Possibilita di monitorare 
molti inverter 
Gianluca Ghettini
Introduzione 
Caratteristiche 
Connettori 
Arduino != Raspberry 
Getting started 
Programmare con Raspberry Pi 
Casi d'uso interessanti 
Casi d'uso: solar panel datalogger 
Per il collegamento agli inverter? 
Due possibilita 
USB to RS485 
RS232 (GPIO) to RS485 
Gianluca Ghettini

Contenu connexe

Tendances

Seminario Raspberri Pi - Parte 2 - GULP
Seminario Raspberri Pi - Parte 2 - GULPSeminario Raspberri Pi - Parte 2 - GULP
Seminario Raspberri Pi - Parte 2 - GULPNicola Corti
 
Seminario Raspberri Pi - Parte 1 - GULP
Seminario Raspberri Pi - Parte 1 - GULPSeminario Raspberri Pi - Parte 1 - GULP
Seminario Raspberri Pi - Parte 1 - GULPNicola Corti
 
Corso Arduino Base - Basi Pratiche con Arduino Genuino
Corso Arduino Base - Basi Pratiche con Arduino GenuinoCorso Arduino Base - Basi Pratiche con Arduino Genuino
Corso Arduino Base - Basi Pratiche con Arduino GenuinoMauro Alfieri
 
Introduzione a Arduino
Introduzione a ArduinoIntroduzione a Arduino
Introduzione a ArduinoPietro Aiuola
 
Arduino basic workshop
Arduino basic workshopArduino basic workshop
Arduino basic workshopDaniele Iori
 
Arduino, quando un aperitivo avvicina elettronica ed informatica, by Filippo ...
Arduino, quando un aperitivo avvicina elettronica ed informatica, by Filippo ...Arduino, quando un aperitivo avvicina elettronica ed informatica, by Filippo ...
Arduino, quando un aperitivo avvicina elettronica ed informatica, by Filippo ...Codemotion
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to ArduinotrevisoAUG
 
Lezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 oreLezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 oreMirko Mancin
 
Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...
Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...
Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...Luigi Francesco Cerfeda
 
Lezione introduttiva su Arduino
Lezione introduttiva su ArduinoLezione introduttiva su Arduino
Lezione introduttiva su ArduinoMirko Mancin
 
Lezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreLezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreMirko Mancin
 
Presentazione Arduino
Presentazione ArduinoPresentazione Arduino
Presentazione ArduinoAntonio Serra
 
Corso Arduino Base - MUST
Corso Arduino Base - MUSTCorso Arduino Base - MUST
Corso Arduino Base - MUSTOPS Italia
 
Venezia Camp 2013 Raspberry Pi Lab
Venezia Camp 2013 Raspberry Pi LabVenezia Camp 2013 Raspberry Pi Lab
Venezia Camp 2013 Raspberry Pi Labspaganini
 
Internet of Things for Dummies
Internet of Things for DummiesInternet of Things for Dummies
Internet of Things for DummiesPaolo Aliverti
 
Arduino wifi logger node
Arduino wifi logger nodeArduino wifi logger node
Arduino wifi logger nodeMirco Piccin
 

Tendances (20)

Arduino&Raspberry
Arduino&RaspberryArduino&Raspberry
Arduino&Raspberry
 
Seminario Raspberri Pi - Parte 2 - GULP
Seminario Raspberri Pi - Parte 2 - GULPSeminario Raspberri Pi - Parte 2 - GULP
Seminario Raspberri Pi - Parte 2 - GULP
 
Seminario Raspberri Pi - Parte 1 - GULP
Seminario Raspberri Pi - Parte 1 - GULPSeminario Raspberri Pi - Parte 1 - GULP
Seminario Raspberri Pi - Parte 1 - GULP
 
Corso Arduino Base - Basi Pratiche con Arduino Genuino
Corso Arduino Base - Basi Pratiche con Arduino GenuinoCorso Arduino Base - Basi Pratiche con Arduino Genuino
Corso Arduino Base - Basi Pratiche con Arduino Genuino
 
Introduzione a Arduino
Introduzione a ArduinoIntroduzione a Arduino
Introduzione a Arduino
 
Arduino basic workshop
Arduino basic workshopArduino basic workshop
Arduino basic workshop
 
Arduino, quando un aperitivo avvicina elettronica ed informatica, by Filippo ...
Arduino, quando un aperitivo avvicina elettronica ed informatica, by Filippo ...Arduino, quando un aperitivo avvicina elettronica ed informatica, by Filippo ...
Arduino, quando un aperitivo avvicina elettronica ed informatica, by Filippo ...
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to Arduino
 
Lezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 oreLezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 ore
 
Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...
Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...
Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...
 
Lezione introduttiva su Arduino
Lezione introduttiva su ArduinoLezione introduttiva su Arduino
Lezione introduttiva su Arduino
 
Lezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreLezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 ore
 
Modelli arduino
Modelli arduinoModelli arduino
Modelli arduino
 
Internet delle cose
Internet delle coseInternet delle cose
Internet delle cose
 
Corso arduino base
Corso arduino baseCorso arduino base
Corso arduino base
 
Presentazione Arduino
Presentazione ArduinoPresentazione Arduino
Presentazione Arduino
 
Corso Arduino Base - MUST
Corso Arduino Base - MUSTCorso Arduino Base - MUST
Corso Arduino Base - MUST
 
Venezia Camp 2013 Raspberry Pi Lab
Venezia Camp 2013 Raspberry Pi LabVenezia Camp 2013 Raspberry Pi Lab
Venezia Camp 2013 Raspberry Pi Lab
 
Internet of Things for Dummies
Internet of Things for DummiesInternet of Things for Dummies
Internet of Things for Dummies
 
Arduino wifi logger node
Arduino wifi logger nodeArduino wifi logger node
Arduino wifi logger node
 

Similaire à Workshop RaspberryPi 20/11/2014

Arduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolanteArduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolanteMirco Sbrollini
 
Guida al computer - Lezione 3 - I lettori parte 1
Guida al computer  - Lezione 3 - I lettori parte 1Guida al computer  - Lezione 3 - I lettori parte 1
Guida al computer - Lezione 3 - I lettori parte 1caioturtle
 
Matteo Baccan - Valerio Tognozzi - Novara LinuxDay 2015
Matteo Baccan - Valerio Tognozzi - Novara LinuxDay 2015Matteo Baccan - Valerio Tognozzi - Novara LinuxDay 2015
Matteo Baccan - Valerio Tognozzi - Novara LinuxDay 2015Matteo Baccan
 
CodingGym - Lezione 3 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 3 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 3 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 3 - Corso Linux, Android e Internet of ThingsMirko Mancin
 
Alfabeto di Arduino - lezione 2
Alfabeto di Arduino - lezione 2Alfabeto di Arduino - lezione 2
Alfabeto di Arduino - lezione 2Michele Maffucci
 
Open Hardware: Arduino, un prodotto italiano
Open Hardware: Arduino, un prodotto italianoOpen Hardware: Arduino, un prodotto italiano
Open Hardware: Arduino, un prodotto italianoRiccardo Lemmi
 
Introduzione all’Iot e alle schede elettroniche
Introduzione all’Iot e alle schede elettronicheIntroduzione all’Iot e alle schede elettroniche
Introduzione all’Iot e alle schede elettronicheEnrico La Sala
 
Lpc1768 mbed della nxp revisione - 2010-11-08
Lpc1768 mbed della nxp   revisione - 2010-11-08Lpc1768 mbed della nxp   revisione - 2010-11-08
Lpc1768 mbed della nxp revisione - 2010-11-08Ionela
 
Intro BeagleBone Black - Massimiliano D'Ambrosio
Intro BeagleBone Black - Massimiliano D'AmbrosioIntro BeagleBone Black - Massimiliano D'Ambrosio
Intro BeagleBone Black - Massimiliano D'Ambrosiofirenze-gtug
 
CodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 2 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 2 - Corso Linux, Android e Internet of ThingsMirko Mancin
 
Matteo baccan raspberry pi - linox 2015 - corso parte 1
Matteo baccan   raspberry pi - linox 2015 - corso parte 1Matteo baccan   raspberry pi - linox 2015 - corso parte 1
Matteo baccan raspberry pi - linox 2015 - corso parte 1Matteo Baccan
 
Introduzione a RaspBerry PI
Introduzione a RaspBerry PIIntroduzione a RaspBerry PI
Introduzione a RaspBerry PIPaolo Aliverti
 
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)Gabriele Guizzardi
 
Guida al computer - Lezione 12 - La scheda audio
Guida al computer - Lezione 12 - La scheda audioGuida al computer - Lezione 12 - La scheda audio
Guida al computer - Lezione 12 - La scheda audiocaioturtle
 
Arduino&raspberry pi - Un connubio vincente
Arduino&raspberry pi - Un connubio vincenteArduino&raspberry pi - Un connubio vincente
Arduino&raspberry pi - Un connubio vincenteMirco Sbrollini
 

Similaire à Workshop RaspberryPi 20/11/2014 (20)

Raspberry
RaspberryRaspberry
Raspberry
 
Arduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolanteArduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolante
 
Raspberrypi
Raspberrypi Raspberrypi
Raspberrypi
 
Guida al computer - Lezione 3 - I lettori parte 1
Guida al computer  - Lezione 3 - I lettori parte 1Guida al computer  - Lezione 3 - I lettori parte 1
Guida al computer - Lezione 3 - I lettori parte 1
 
Matteo Baccan - Valerio Tognozzi - Novara LinuxDay 2015
Matteo Baccan - Valerio Tognozzi - Novara LinuxDay 2015Matteo Baccan - Valerio Tognozzi - Novara LinuxDay 2015
Matteo Baccan - Valerio Tognozzi - Novara LinuxDay 2015
 
CodingGym - Lezione 3 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 3 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 3 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 3 - Corso Linux, Android e Internet of Things
 
Alfabeto di Arduino - lezione 2
Alfabeto di Arduino - lezione 2Alfabeto di Arduino - lezione 2
Alfabeto di Arduino - lezione 2
 
Open Hardware: Arduino, un prodotto italiano
Open Hardware: Arduino, un prodotto italianoOpen Hardware: Arduino, un prodotto italiano
Open Hardware: Arduino, un prodotto italiano
 
Arduino galileo edison_udoo
Arduino galileo edison_udooArduino galileo edison_udoo
Arduino galileo edison_udoo
 
Introduzione ad Arduino del Maker DevLab
Introduzione ad Arduino del Maker DevLabIntroduzione ad Arduino del Maker DevLab
Introduzione ad Arduino del Maker DevLab
 
Introduzione all’Iot e alle schede elettroniche
Introduzione all’Iot e alle schede elettronicheIntroduzione all’Iot e alle schede elettroniche
Introduzione all’Iot e alle schede elettroniche
 
Lpc1768 mbed della nxp revisione - 2010-11-08
Lpc1768 mbed della nxp   revisione - 2010-11-08Lpc1768 mbed della nxp   revisione - 2010-11-08
Lpc1768 mbed della nxp revisione - 2010-11-08
 
Intro BeagleBone Black - Massimiliano D'Ambrosio
Intro BeagleBone Black - Massimiliano D'AmbrosioIntro BeagleBone Black - Massimiliano D'Ambrosio
Intro BeagleBone Black - Massimiliano D'Ambrosio
 
CodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 2 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
 
Matteo baccan raspberry pi - linox 2015 - corso parte 1
Matteo baccan   raspberry pi - linox 2015 - corso parte 1Matteo baccan   raspberry pi - linox 2015 - corso parte 1
Matteo baccan raspberry pi - linox 2015 - corso parte 1
 
Introduzione a RaspBerry PI
Introduzione a RaspBerry PIIntroduzione a RaspBerry PI
Introduzione a RaspBerry PI
 
Badusb shot
Badusb shotBadusb shot
Badusb shot
 
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
 
Guida al computer - Lezione 12 - La scheda audio
Guida al computer - Lezione 12 - La scheda audioGuida al computer - Lezione 12 - La scheda audio
Guida al computer - Lezione 12 - La scheda audio
 
Arduino&raspberry pi - Un connubio vincente
Arduino&raspberry pi - Un connubio vincenteArduino&raspberry pi - Un connubio vincente
Arduino&raspberry pi - Un connubio vincente
 

Plus de Commit University

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdfBreaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdfCommit University
 
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdfAccelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdfCommit University
 
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...Commit University
 
Commit - Qwik il framework che ti stupirà.pptx
Commit - Qwik il framework che ti stupirà.pptxCommit - Qwik il framework che ti stupirà.pptx
Commit - Qwik il framework che ti stupirà.pptxCommit University
 
Sviluppare da zero una Angular Web App per la PA
Sviluppare da zero una Angular Web App per la PASviluppare da zero una Angular Web App per la PA
Sviluppare da zero una Angular Web App per la PACommit University
 
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...Commit University
 
Prisma the ORM that node was waiting for
Prisma the ORM that node was waiting forPrisma the ORM that node was waiting for
Prisma the ORM that node was waiting forCommit University
 
Decision-making for Software Development Teams - Commit University
Decision-making for Software Development Teams - Commit UniversityDecision-making for Software Development Teams - Commit University
Decision-making for Software Development Teams - Commit UniversityCommit University
 
Component Design Pattern nei Game Engine.pdf
Component Design Pattern nei Game Engine.pdfComponent Design Pattern nei Game Engine.pdf
Component Design Pattern nei Game Engine.pdfCommit University
 
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...Commit University
 
Prototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step FunctionsPrototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step FunctionsCommit University
 
KMM survival guide: how to tackle struggles between Kotlin and Swift
KMM survival guide: how to tackle struggles between Kotlin and SwiftKMM survival guide: how to tackle struggles between Kotlin and Swift
KMM survival guide: how to tackle struggles between Kotlin and SwiftCommit University
 
Da Vuex a Pinia: come fare la migrazione
Da Vuex a Pinia: come fare la migrazioneDa Vuex a Pinia: come fare la migrazione
Da Vuex a Pinia: come fare la migrazioneCommit University
 
Orchestrare Micro-frontend con micro-lc
Orchestrare Micro-frontend con micro-lcOrchestrare Micro-frontend con micro-lc
Orchestrare Micro-frontend con micro-lcCommit University
 
Fastify has defeated Lagacy-Code
Fastify has defeated Lagacy-CodeFastify has defeated Lagacy-Code
Fastify has defeated Lagacy-CodeCommit University
 

Plus de Commit University (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdfBreaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
 
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdfAccelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
 
Slide-10years.pdf
Slide-10years.pdfSlide-10years.pdf
Slide-10years.pdf
 
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
 
Vue.js slots.pdf
Vue.js slots.pdfVue.js slots.pdf
Vue.js slots.pdf
 
Commit - Qwik il framework che ti stupirà.pptx
Commit - Qwik il framework che ti stupirà.pptxCommit - Qwik il framework che ti stupirà.pptx
Commit - Qwik il framework che ti stupirà.pptx
 
Sviluppare da zero una Angular Web App per la PA
Sviluppare da zero una Angular Web App per la PASviluppare da zero una Angular Web App per la PA
Sviluppare da zero una Angular Web App per la PA
 
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
 
Prisma the ORM that node was waiting for
Prisma the ORM that node was waiting forPrisma the ORM that node was waiting for
Prisma the ORM that node was waiting for
 
Decision-making for Software Development Teams - Commit University
Decision-making for Software Development Teams - Commit UniversityDecision-making for Software Development Teams - Commit University
Decision-making for Software Development Teams - Commit University
 
Component Design Pattern nei Game Engine.pdf
Component Design Pattern nei Game Engine.pdfComponent Design Pattern nei Game Engine.pdf
Component Design Pattern nei Game Engine.pdf
 
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
 
Prototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step FunctionsPrototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step Functions
 
KMM survival guide: how to tackle struggles between Kotlin and Swift
KMM survival guide: how to tackle struggles between Kotlin and SwiftKMM survival guide: how to tackle struggles between Kotlin and Swift
KMM survival guide: how to tackle struggles between Kotlin and Swift
 
Da Vuex a Pinia: come fare la migrazione
Da Vuex a Pinia: come fare la migrazioneDa Vuex a Pinia: come fare la migrazione
Da Vuex a Pinia: come fare la migrazione
 
Orchestrare Micro-frontend con micro-lc
Orchestrare Micro-frontend con micro-lcOrchestrare Micro-frontend con micro-lc
Orchestrare Micro-frontend con micro-lc
 
Fastify has defeated Lagacy-Code
Fastify has defeated Lagacy-CodeFastify has defeated Lagacy-Code
Fastify has defeated Lagacy-Code
 
SwiftUI vs UIKit
SwiftUI vs UIKitSwiftUI vs UIKit
SwiftUI vs UIKit
 

Workshop RaspberryPi 20/11/2014

  • 1. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Raspberry Pi Una introduzione Gianluca Ghettini http://www.gianlucaghettini.net email: gianluca.ghettini@gmail.com Gianluca Ghettini
  • 2. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Introduzione: Raspberry Pi Cosa e il Raspberry Pi? Gianluca Ghettini
  • 3. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Introduzione: Raspberry Pi SBC (Single Board Computer) Gianluca Ghettini
  • 4. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Introduzione: Raspberry Pi CPU ARM11 700MHz 256 MB RAM (o 512) VIDEO/AUDIO OUT USB x2 GPIO Ethernet card! Gianluca Ghettini
  • 5. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Introduzione: Raspberry Pi Piccolo come una carta di credito Gianluca Ghettini
  • 6. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Introduzione: Raspberry Pi Potente: equiparabile ad un PC desktop di inizio 2000 Gianluca Ghettini
  • 7. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Introduzione: Raspberry Pi Economico: praticamente costa 25-35 Euro Gianluca Ghettini
  • 8. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Introduzione: come fa a costare cosi' poco? Niente case esterno No alimentatore incluso Nessun on/o switch Nessun manuale cartaceo a corredo (c'e il sito) scatola di cartone inclusa :-) Gianluca Ghettini
  • 9. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Introduzione: storia Nasce nel 2012 come strumento didattico Progetto open-source Basato su GNU/Linux: gira Linux sopra! Community Gianluca Ghettini
  • 10. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Introduzione: storia Doveva essere solo un Python Interpreter Basato sul CPU ARM11 700MHz Successo enorme tra i Maker Gianluca Ghettini
  • 11. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Introduzione: storia Curiosita: Autore del progetto e David Braben, programmatore di Elite, uno dei primi giochi in gra
  • 12. ca 3D (prima di Wolfenstein!) Gianluca Ghettini
  • 13. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Introduzione: lista della spesa Alimentatore 5V 2000mA micro usb Gianluca Ghettini
  • 14. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Introduzione: lista della spesa Tastiera mouse USB Monitor HDMI o TV Sistema operativo Linux (e free ovviamente!) Gianluca Ghettini
  • 15. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Introduzione: sistema completo Gianluca Ghettini
  • 16. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Introduzione: il grande assente Manca qualcosa? Gianluca Ghettini
  • 17. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Introduzione: il grande assente Ma il disco rigido dov'e? Gianluca Ghettini
  • 18. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Introduzione: il grande assente Raspberry Pi ha sul retro uno slot SD card! Gianluca Ghettini
  • 19. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Introduzione: SD card L'SD card e il disco rigido del Raspberry Almeno 4GB Una moltitudine di OS derivati GNU/Linux Gianluca Ghettini
  • 20. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Caratteristiche: CPU CPU ARM11 32 bit single core, 700MHz La stessa che sta nell' iPhone EDGE e nell iPhone 3G Gianluca Ghettini
  • 21. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Caratteristiche: consumi Consuma all'incirca 3W Piu o meno 1 cent Euro al giorno :-) Gianluca Ghettini
  • 22. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Caratteristiche: scheda video GPU Broadcom VideoCore GPU IV Quake 3 Arena gira tranquillamente sul Raspberry :-) Gianluca Ghettini
  • 23. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Connettori: analog audio video out Speci
  • 24. che RCA video out (PAL) Audio stereo Qualsiasi TV va bene! Casi d'uso Un bel Mediacenter? Cartellonistica digitale? Gianluca Ghettini
  • 25. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Connettori: HDMI Speci
  • 26. che HD 1080p Audio integrato Casi d'uso Console Retro gaming? Postazione Desktop da ucio? Gianluca Ghettini
  • 27. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Connettori: Ethernet RJ45 Speci
  • 28. che 10/100 MBit/s No gigabit! Glielo perdoniamo via... Casi d'uso Web server casalingo? Torrent download station? Firewall casalingo? Gianluca Ghettini
  • 29. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Connettori: USB x2 Speci
  • 30. che USB 2.0 500mA max? dipende... Meglio alimentare a parte Casi d'uso Dongle Wi-Fi? Lettore codici a barre? Hard disk esterno? Ci colleghiamo di tutto! Gianluca Ghettini
  • 31. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Connettori: GPIO Speci
  • 32. che Sono ben 17 SPI, I2C e UART incluse Casi d'uso Cosa ci comandiamo? Tutto quello che risponde ad un segnale elettrico! Rele Altri Microcontrollori LED Gianluca Ghettini
  • 33. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Connettori: cos'e un GPIO? Se impostato come OUTPUT Un pin che puo essere messo a 0 o 5 Volt via software Se impostato come INPUT Un pin che sente la tensione applicata ai suoi capi e lo noti
  • 34. ca via sofware Gianluca Ghettini
  • 35. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Connettori: cos'e un GPIO? Gianluca Ghettini
  • 36. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Connettori: cos'e un GPIO? #include wiringPi.h int main (void) { wiringPiSetup () ; pinMode (0, OUTPUT) ; for (;;) { digitalWrite (0, HIGH) ; delay (500) ; digitalWrite (0, LOW) ; delay (500) ; } return 0 ; } Gianluca Ghettini
  • 37. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Arduino != Raspberry Raspberry non e Arduino! Arduino e puro embedded Raspberry e letteralmente un PC in miniatura + GPIO Gianluca Ghettini
  • 38. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Arduino != Raspberry Arduino Low level Micro ATMega328, 20MHz Pieno controllo dell'hardware Task semplici e ben de
  • 39. niti No memoria di massa Raspberry High level Gira Linux sopra! Multitasking Hard disk! Programmi complessi Possiamo utilizzare Raspberry per fare quello che si puo fare con Arduino ma e uno spreco! Gianluca Ghettini
  • 40. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Arduino != Raspberry Bit-banging VS Gang-banging :-) Arduino = Bit-Banging Bit-Banging: quando manca un protocollo e suciente implementarselo a mano in assembler (es. I2C su 2 GPIO disponibili) Gianluca Ghettini
  • 41. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Arduino != Raspberry Bit-banging VS Gang-banging :-) Raspberry = Gang-Banging Gang-Banging: quando manca un protocollo e suciente comprare e collegare l'adattatore USB opportuno (es. USB to I2C adapter) Gianluca Ghettini
  • 42. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti GPIO 5V 3.3V SPI (x2) I2C UART PWM Gianluca Ghettini
  • 43. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti GPIO: Libreria Wiring Pi Libreria Wiring Pi (http://wiringpi.org) Gianluca Ghettini
  • 44. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti GPIO: Don't cross the streams!!! Il Raspberry funziona in logica CMOS (3.3Volt) ma molti dispositivi sono in logica TTL (5Volt) Don't cross the streams!!! Occhio a non scambiare la linea 5V con quella a 3.3V! Gianluca Ghettini
  • 45. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti GPIO: Don't cross the streams!!! Level shifter Trasforma segnali a 5V in segnali a 3.3V e viceversa Gianluca Ghettini
  • 46. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti GPIO: library WiringPi, OUTPUT mode #include wiringPi.h int main (void) { wiringPiSetup(); pinMode(4, OUTPUT); digitalWrite(4, HIGH); return 0; } Gianluca Ghettini
  • 47. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti GPIO: library WiringPi, INPUT mode #include wiringPi.h int main (void) { wiringPiSetup(); pinMode(17, INPUT); int value = digitalRead(17); return 0; } Gianluca Ghettini
  • 48. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Getting started: Installazione OS www.raspberrypi.org Gianluca Ghettini
  • 49. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Getting started: Installazione OS NOOBS: New Out Of Box Software NOOBS include: Raspbian (derivato Debian) Pidora (derivato Fedora) Arch Linux (ArchLinux per ARM) OpenELEC (derivato XBMC) RaspBMC (derivato XBMC) RISC OS (senza fronzoli, leggerissimo) Esistono moltissimi altri OS non inclusi in NOOBS Gianluca Ghettini
  • 50. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Getting started: Installazione OS Semplicissimo! Scarichiamo NOOBS Scompattiamo su SD card Avviamo Raspberry Pi Gianluca Ghettini
  • 51. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Getting started: Installazione OS Here we go! Gianluca Ghettini
  • 52. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Programmazione Per programmare il Raspberry Pi ci serve... il Raspberry Pi :-) Concetto della programmazione Desktop, non Embedded! Niente programmatore esterno Bastano una tastiera, mouse e video collegati Installiamo il nostro IDE preferito! Gianluca Ghettini
  • 53. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Programmazione Quale linguaggio? Arduino Mikro C Assembler ATmega328 Raspberry Pi C/C++ Python Java!!!!!!!!! Assembler ARM C# (Mono) . Perche cosi' tanti linguaggi? Raspberry e un PC! Gianluca Ghettini
  • 54. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Programmazione: C/C++ Installiamo Eclipse Funzioni Socket di rete File I/O Gra
  • 55. ca (OpenGL) Sonoro Tutto quello che possiamo fare in Linux si puo fare su Raspberry Pi Gianluca Ghettini
  • 56. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Programmazione: Scratch! Scratch! Scratch! Educativo! Drag drop Animazioni e giochi Tipo Clik Play, chi se lo ricorda? Gianluca Ghettini
  • 57. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Programmazione: Bare metal programming Bare metal programming: giusto per s
  • 58. zio Bare Metal Programming Non serve l'OS L'intera scheda SD e la memoria programma Programmazione in assembler Conoscenza dell'hardware al 100% Interfacce dicili da utilizzare Gianluca Ghettini
  • 59. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Casi d'uso Ma cosa possiamo fare con Raspberry? Gianluca Ghettini
  • 60. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Casi d'uso Ma cosa possiamo fare con Raspberry? Gianluca Ghettini
  • 61. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Casi d'uso: solar panel datalogger Datalogger per impianti fotovoltaici Gianluca Ghettini
  • 62. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Casi d'uso: solar panel datalogger Datalogger per impianti fotovoltaici RS485 MySQL Connessione LAN Monitoring 24h/24 Possibilita di monitorare molti inverter Gianluca Ghettini
  • 63. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Casi d'uso: solar panel datalogger Per il collegamento agli inverter? Due possibilita USB to RS485 RS232 (GPIO) to RS485 Gianluca Ghettini
  • 64. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Casi d'uso: solar panel datalogger Ma non bastava arduino? Utilizzando Raspberry abbiamo un serie di vantaggi XAMP server per gestione remota da browser web Connessione LAN a PC Storage dei dati di produzione Gianluca Ghettini
  • 65. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Casi d'uso: Chiosco eliminacode Chiosco eliminacode Gianluca Ghettini
  • 66. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Casi d'uso: Chiosco eliminacode Pulsanti UP/DOWN Pulsante PRINT Stampa biglietto Informazioni a video Anche audio volendo Gianluca Ghettini
  • 67. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Casi d'uso: Console per retrogaming Console per retrogaming Gianluca Ghettini
  • 68. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Casi d'uso: Console per retrogaming Basato su RetroPie OS Emulatori SEGA mega drive SEGA master system MAME Commodore 64 NES SNES Atari 2600 Gianluca Ghettini
  • 69. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Casi d'uso: Console per retrogaming RetroPie: multi emulatore per Raspberry Pi Gianluca Ghettini
  • 70. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Casi d'uso: Console per retrogaming Cosa serve Raspberry Pi :-) Bottoni arcade Joystick arcade RetroPie OS Un bel case? Gianluca Ghettini
  • 71. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Domande? :-) Gianluca Ghettini
  • 72. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Alcuni link utili http://www.raspberrypi.org/ http://wiringpi.com/ http://www.vincenzov.net/ http://raspberrypi.stackexchange.com/ http://rpy-italia.org/ Gianluca Ghettini
  • 73. Introduzione Caratteristiche Connettori Arduino != Raspberry Getting started Programmare con Raspberry Pi Casi d'uso interessanti Grazie per l'attenzione! email: gianluca.ghettini@gmail.com website: www.gianlucaghettini.net Gianluca Ghettini