SlideShare a Scribd company logo
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

More Related Content

What's hot

Arduino & Smartphone
Arduino & SmartphoneArduino & Smartphone
Arduino & Smartphone
dega1999
 
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
Mauro Alfieri
 
Lezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 oreLezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 ore
Mirko Mancin
 
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Sardegna Ricerche
 
Lezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreLezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 ore
Mirko Mancin
 
Arduino basic workshop
Arduino basic workshopArduino basic workshop
Arduino basic workshop
Daniele Iori
 
Raspberry
RaspberryRaspberry
Raspberry
PasqualeMarasca
 
Introduzione a Arduino
Introduzione a ArduinoIntroduzione a Arduino
Introduzione a Arduino
Pietro Aiuola
 
Corso arduino base
Corso arduino baseCorso arduino base
Arduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolanteArduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolante
Mirco Sbrollini
 
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
 
Primi passi con la scheda BeagleBone Black
Primi passi con la scheda BeagleBone BlackPrimi passi con la scheda BeagleBone Black
Primi passi con la scheda BeagleBone Black
Open Makers Italy
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to Arduino
trevisoAUG
 
Arduino prima spiegazione
Arduino  prima spiegazioneArduino  prima spiegazione
Arduino prima spiegazione
Flaviano Fior
 
Arduino nella Pmi
Arduino nella PmiArduino nella Pmi
Arduino nella Pmi
Mirco Piccin
 
Arduino primo v1
Arduino primo v1Arduino primo v1
Arduino primo v1
Elisa Rubino
 
Presentazione Arduino
Presentazione ArduinoPresentazione Arduino
Presentazione Arduinoguest01fc9d
 
Introduzione ad Arduino del Maker DevLab
Introduzione ad Arduino del Maker DevLabIntroduzione ad Arduino del Maker DevLab
Introduzione ad Arduino del Maker DevLab
Biagio (Gino) Zingales Alì
 
Internet delle cose
Internet delle coseInternet delle cose
Internet delle cose
Biagio (Gino) Zingales Alì
 
Lezione introduttiva su Arduino
Lezione introduttiva su ArduinoLezione introduttiva su Arduino
Lezione introduttiva su Arduino
Mirko Mancin
 

What's hot (20)

Arduino & Smartphone
Arduino & SmartphoneArduino & Smartphone
Arduino & Smartphone
 
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
 
Lezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 oreLezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 ore
 
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
 
Lezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreLezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 ore
 
Arduino basic workshop
Arduino basic workshopArduino basic workshop
Arduino basic workshop
 
Raspberry
RaspberryRaspberry
Raspberry
 
Introduzione a Arduino
Introduzione a ArduinoIntroduzione a Arduino
Introduzione a Arduino
 
Corso arduino base
Corso arduino baseCorso arduino base
Corso arduino base
 
Arduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolanteArduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolante
 
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...
 
Primi passi con la scheda BeagleBone Black
Primi passi con la scheda BeagleBone BlackPrimi passi con la scheda BeagleBone Black
Primi passi con la scheda BeagleBone Black
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to Arduino
 
Arduino prima spiegazione
Arduino  prima spiegazioneArduino  prima spiegazione
Arduino prima spiegazione
 
Arduino nella Pmi
Arduino nella PmiArduino nella Pmi
Arduino nella Pmi
 
Arduino primo v1
Arduino primo v1Arduino primo v1
Arduino primo v1
 
Presentazione Arduino
Presentazione ArduinoPresentazione Arduino
Presentazione Arduino
 
Introduzione ad Arduino del Maker DevLab
Introduzione ad Arduino del Maker DevLabIntroduzione ad Arduino del Maker DevLab
Introduzione ad Arduino del Maker DevLab
 
Internet delle cose
Internet delle coseInternet delle cose
Internet delle cose
 
Lezione introduttiva su Arduino
Lezione introduttiva su ArduinoLezione introduttiva su Arduino
Lezione introduttiva su Arduino
 

Viewers also liked

Alfabeto arduino model expo italy
Alfabeto arduino   model expo italyAlfabeto arduino   model expo italy
Alfabeto arduino model expo italy
Michele Maffucci
 
Introduction to Arduino & Raspberry Pi
Introduction to Arduino & Raspberry PiIntroduction to Arduino & Raspberry Pi
Introduction to Arduino & Raspberry Pi
Ahmad Hafeezi
 
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
Matteo Baccan
 
Computer science -
Computer science -Computer science -
Computer science -
RAKSHA SRIVASTAVA
 
Is Computer Science Science?
Is Computer Science Science?Is Computer Science Science?
Is Computer Science Science?
Daniel Cukier
 
Intro Inteligencia Artificial (AI)
Intro Inteligencia Artificial (AI)Intro Inteligencia Artificial (AI)
Intro Inteligencia Artificial (AI)
Iván Sanchez Vera
 
Intro to Artificial inteligence
Intro to Artificial inteligenceIntro to Artificial inteligence
Intro to Artificial inteligence
Zeeshan Tariq
 
Arduino Intro Guide 2
Arduino Intro Guide 2Arduino Intro Guide 2
Arduino Intro Guide 2
elketeaches
 
Il Manuale dell'Artigiano Digitale
Il Manuale dell'Artigiano DigitaleIl Manuale dell'Artigiano Digitale
Il Manuale dell'Artigiano Digitale
Filippo Fresilli
 
Arduino e Raspberry Pi per Radioamatori
Arduino e Raspberry Pi per RadioamatoriArduino e Raspberry Pi per Radioamatori
Arduino e Raspberry Pi per Radioamatori
Francesco Cozzi
 
AI A Slight Intro
AI A Slight IntroAI A Slight Intro
AI A Slight Intro
Omar Enayet
 
Intro to Arduino Revision #2
Intro to Arduino Revision #2Intro to Arduino Revision #2
Intro to Arduino Revision #2
Qtechknow
 
Fields in computer science
Fields in computer scienceFields in computer science
Fields in computer science
UC San Diego
 
Seminario Raspberri Pi - Parte 2 - GULP
Seminario Raspberri Pi - Parte 2 - GULPSeminario Raspberri Pi - Parte 2 - GULP
Seminario Raspberri Pi - Parte 2 - GULP
Nicola Corti
 
Android App Development - Unimore
Android App Development - UnimoreAndroid App Development - Unimore
Android App Development - Unimore
Nicola Corti
 
Da windows a_linux_ot2013
Da windows a_linux_ot2013Da windows a_linux_ot2013
Da windows a_linux_ot2013
Pordenone LUG
 
Da Windows a Linux: è tempo di migrare
Da Windows a Linux: è tempo di migrareDa Windows a Linux: è tempo di migrare
Da Windows a Linux: è tempo di migrare
Nicola Corti
 
Introduzione a ubuntu - Linux Day 2010
Introduzione a ubuntu - Linux Day 2010Introduzione a ubuntu - Linux Day 2010
Introduzione a ubuntu - Linux Day 2010
Nicola Corti
 
"Carte da Gioco"
"Carte da Gioco""Carte da Gioco"
"Carte da Gioco"
Marta Fais
 
Wi-Fi Hacking for Fun and Profit - Tecniche di intrusione & Contromisure
Wi-Fi Hacking for Fun and Profit - Tecniche di intrusione & ContromisureWi-Fi Hacking for Fun and Profit - Tecniche di intrusione & Contromisure
Wi-Fi Hacking for Fun and Profit - Tecniche di intrusione & Contromisure
gianlucaghettini
 

Viewers also liked (20)

Alfabeto arduino model expo italy
Alfabeto arduino   model expo italyAlfabeto arduino   model expo italy
Alfabeto arduino model expo italy
 
Introduction to Arduino & Raspberry Pi
Introduction to Arduino & Raspberry PiIntroduction to Arduino & Raspberry Pi
Introduction to Arduino & Raspberry Pi
 
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
 
Computer science -
Computer science -Computer science -
Computer science -
 
Is Computer Science Science?
Is Computer Science Science?Is Computer Science Science?
Is Computer Science Science?
 
Intro Inteligencia Artificial (AI)
Intro Inteligencia Artificial (AI)Intro Inteligencia Artificial (AI)
Intro Inteligencia Artificial (AI)
 
Intro to Artificial inteligence
Intro to Artificial inteligenceIntro to Artificial inteligence
Intro to Artificial inteligence
 
Arduino Intro Guide 2
Arduino Intro Guide 2Arduino Intro Guide 2
Arduino Intro Guide 2
 
Il Manuale dell'Artigiano Digitale
Il Manuale dell'Artigiano DigitaleIl Manuale dell'Artigiano Digitale
Il Manuale dell'Artigiano Digitale
 
Arduino e Raspberry Pi per Radioamatori
Arduino e Raspberry Pi per RadioamatoriArduino e Raspberry Pi per Radioamatori
Arduino e Raspberry Pi per Radioamatori
 
AI A Slight Intro
AI A Slight IntroAI A Slight Intro
AI A Slight Intro
 
Intro to Arduino Revision #2
Intro to Arduino Revision #2Intro to Arduino Revision #2
Intro to Arduino Revision #2
 
Fields in computer science
Fields in computer scienceFields in computer science
Fields in computer science
 
Seminario Raspberri Pi - Parte 2 - GULP
Seminario Raspberri Pi - Parte 2 - GULPSeminario Raspberri Pi - Parte 2 - GULP
Seminario Raspberri Pi - Parte 2 - GULP
 
Android App Development - Unimore
Android App Development - UnimoreAndroid App Development - Unimore
Android App Development - Unimore
 
Da windows a_linux_ot2013
Da windows a_linux_ot2013Da windows a_linux_ot2013
Da windows a_linux_ot2013
 
Da Windows a Linux: è tempo di migrare
Da Windows a Linux: è tempo di migrareDa Windows a Linux: è tempo di migrare
Da Windows a Linux: è tempo di migrare
 
Introduzione a ubuntu - Linux Day 2010
Introduzione a ubuntu - Linux Day 2010Introduzione a ubuntu - Linux Day 2010
Introduzione a ubuntu - Linux Day 2010
 
"Carte da Gioco"
"Carte da Gioco""Carte da Gioco"
"Carte da Gioco"
 
Wi-Fi Hacking for Fun and Profit - Tecniche di intrusione & Contromisure
Wi-Fi Hacking for Fun and Profit - Tecniche di intrusione & ContromisureWi-Fi Hacking for Fun and Profit - Tecniche di intrusione & Contromisure
Wi-Fi Hacking for Fun and Profit - Tecniche di intrusione & Contromisure
 

Similar to Raspberry Pi - Introduzione, caratteristiche, programmazione, casi d'uso

Raspberrypi
Raspberrypi Raspberrypi
Raspberrypi
Federico Bassignana
 
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
caioturtle
 
Seminario Raspberri Pi - Parte 1 - GULP
Seminario Raspberri Pi - Parte 1 - GULPSeminario Raspberri Pi - Parte 1 - GULP
Seminario Raspberri Pi - Parte 1 - GULP
Nicola Corti
 
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
Matteo 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 Things
Mirko Mancin
 
Venezia Camp 2013 Raspberry Pi Lab
Venezia Camp 2013 Raspberry Pi LabVenezia Camp 2013 Raspberry Pi Lab
Venezia Camp 2013 Raspberry Pi Labspaganini
 
Modelli arduino
Modelli arduinoModelli arduino
Modelli arduino
Demetrio Siragusa
 
Alfabeto di Arduino - lezione 2
Alfabeto di Arduino - lezione 2Alfabeto di Arduino - lezione 2
Alfabeto di Arduino - lezione 2
Michele 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
 
Arduino galileo edison_udoo
Arduino galileo edison_udooArduino galileo edison_udoo
Arduino galileo edison_udoo
Vincenzo Virgilio
 
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
Enrico 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'Ambrosio
firenze-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 Things
Mirko Mancin
 
Introduzione a RaspBerry PI
Introduzione a RaspBerry PIIntroduzione a RaspBerry PI
Introduzione a RaspBerry PI
Paolo Aliverti
 
Badusb shot
Badusb shotBadusb shot
Badusb shot
Vincenzo Virgilio
 
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
caioturtle
 
Arduino wifi logger node
Arduino wifi logger nodeArduino wifi logger node
Arduino wifi logger node
Mirco Piccin
 
Arduino&raspberry pi - Un connubio vincente
Arduino&raspberry pi - Un connubio vincenteArduino&raspberry pi - Un connubio vincente
Arduino&raspberry pi - Un connubio vincente
Mirco Sbrollini
 
Windows 10 IoT
Windows 10 IoTWindows 10 IoT
Windows 10 IoT
Nicolò Carandini
 

Similar to Raspberry Pi - Introduzione, caratteristiche, programmazione, casi d'uso (20)

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
 
Seminario Raspberri Pi - Parte 1 - GULP
Seminario Raspberri Pi - Parte 1 - GULPSeminario Raspberri Pi - Parte 1 - GULP
Seminario Raspberri Pi - Parte 1 - GULP
 
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
 
Venezia Camp 2013 Raspberry Pi Lab
Venezia Camp 2013 Raspberry Pi LabVenezia Camp 2013 Raspberry Pi Lab
Venezia Camp 2013 Raspberry Pi Lab
 
Modelli arduino
Modelli arduinoModelli arduino
Modelli arduino
 
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 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
 
Introduzione a RaspBerry PI
Introduzione a RaspBerry PIIntroduzione a RaspBerry PI
Introduzione a RaspBerry PI
 
Badusb shot
Badusb shotBadusb shot
Badusb shot
 
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 wifi logger node
Arduino wifi logger nodeArduino wifi logger node
Arduino wifi logger node
 
Arduino&raspberry pi - Un connubio vincente
Arduino&raspberry pi - Un connubio vincenteArduino&raspberry pi - Un connubio vincente
Arduino&raspberry pi - Un connubio vincente
 
Windows 10 IoT
Windows 10 IoTWindows 10 IoT
Windows 10 IoT
 

Raspberry Pi - Introduzione, caratteristiche, programmazione, casi d'uso

  • 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