1. Università degli Studi di Palermo
GnuLinuxMeeting
20-21 Marzo 2015
Udoo ed Edison
Il futuro dell'automazione
Ing. Carmelo Riggio
2. Cenni storici: Arduino
Arduino è una scheda elettronica di piccole dimensioni con un microcontrollore e circuiteria di
contorno, utile per creare rapidamente prototipi e per scopi hobbistici e didattici.
Il nome della scheda deriva da quello di un bar di Ivrea (che richiama a sua volta il nome di
Arduino d'Ivrea, Re d'Italia nel 1002) frequentato da alcuni dei fondatori del progetto.
Con Arduino si possono realizzare in
maniera relativamente rapida e
semplice piccoli dispositivi come
controllori di luci, di velocità per
motori, sensori di luce, temperatura e
umidità e molti altri progetti che
utilizzano sensori, attuatori e
comunicazione con altri dispositivi.
È fornito di un semplice
ambiente di sviluppo integrato per la
programmazione. Tutto il software a
corredo è libero, e gli schemi circuitali
sono distribuiti come hardware libero.
3. Arduino: architettura
Arduino comprende una piattaforma hardware per il physical computing sviluppata presso
l'Interaction Design Institute, un istituto di formazione post-dottorale con sede a Ivrea, fondato da
Olivetti e Telecom Italia.
Questa si basa su un circuito stampato che integra un microcontrollore con pin connessi alle porte
I/O, un regolatore di tensione e quando necessario un'interfaccia USB che permette la
comunicazione con il computer.
A questo hardware viene affiancato un ambiente di sviluppo integrato (IDE) multipiattaforma (per
Linux, Apple Macintosh e Windows).
Questo software permette anche ai novizi di scrivere programmi con un linguaggio semplice e
intuitivo derivato da C e C++ chiamato Wiring, liberamente scaricabile e modificabile.
Arduino può essere utilizzato per lo sviluppo di oggetti interattivi stand-alone e può anche
interagire, tramite collegamento, con software residenti su computer, come Adobe Flash,
Processing, Max/MSP, Pure Data, SuperCollider, Vvvv.
4. Arduino: versioni
Fino a oggi, sono state commercializzate 14 versioni dell'hardware Arduino:
● Serial Arduino, programmata con una porta seriale DB9. Fa uso del microcontroller ATmega8;
● Arduino Extreme, con interfaccia di programmazione USB, facente uso del chip ATmega8;
● Arduino Mini, una versione in miniatura facente uso di un ATmega168 a montaggio superficiale;
● Arduino Nano, una versione ancor più piccola della Mini, utilizzante lo stesso controller ATmega168 SMD
e alimentata tramite USB;
● LilyPad Arduino, un progetto minimalista (scheda circolare dal diametro di 50mm, per circa 8mm di
spessore), per applicazione su indumenti, con lo stesso ATmega168 in versione SMD;[4]
● Arduino NG, con un'interfaccia USB per programmare e usare un ATmega8;
● Arduino NG plus, con interfaccia di programmazione USB, con un ATmega168;
● Arduino BT, con interfaccia di programmazione Bluetooth e con un ATmega168;
● Arduino Diecimila, con interfaccia di programmazione USB e con un ATmega168 in un package DIL28;
● Arduino Duemilanove, facente uso del chip Atmega168 (o Atmega328 nelle versioni più recenti) e
alimentata in corrente continua tramite USB, con commutazione automatica tra le sorgenti di
alimentazione;
● Arduino Mega, che fa uso di un ATmega1280 a montaggio superficiale per I/O e memoria addizionale;
● Arduino Uno, evoluzione della Duemilanove con un differente chip, programmabile e più economico,
dedicato alla conversione USB-seriale;
● Arduino Mega2560, che fa uso di un ATmega2560 ed è un'evoluzione dell'Arduino Mega;
● Arduino Due, che fa uso di un Atmel SAM3X8E ARM Cortex-M3 CPU.
7. Arduino: LilyPad esempio II
Questo è il progetto proposto da un
ragazzo italiano Gabriele Santin.
Consiste in una mano artificiale
controllata attraverso un guanto dotato
di sensori di flessione totalmente
wireless.
Sul guanto è montata appunto la
scheda LilyPad,
8. Galileo: caratteristiche principali
● Processore applicativo SoC X Intel® Quark™ X1000
● CPU single-core, single-thread a 32 bit compatibile con l'architettura ISA
(Instruction Set Architecture) del processore Intel® Pentium®,
operante a velocità di fino a 400 MHz.
● Supporto per un'ampia gamma di interfacce di I/O standard
● Slot mini-PCI Express
● Porta 100 Mb Ethernet
● Slot microSD*
● Porta host USB
● Porta client USB
● 256 MB di DDR3
● 512 KB di SRAM integrata
● 8 MB di flash NOR
● 8 KB di EEPROM standard sulla scheda, più supporto per scheda microSD
9. Galileo: Il Processore
Caratteristiche
● 1/5 delle dimensioni di un Intel® Atom™ Single Core
● Semplicità e potenza dell'architettura per set di istruzioni di classe
Pentium
● Temperatura estesa per ambienti difficili (da -40ºC a +85ºC) e 10
anni di affidabilità
● Non è necessario alcun chip PMIC, solo qualche semplice
regolatore di tensione e cristalli di clock per una scheda a 4
strati dai costi ridotti
● Il supporto ECC (controllo e correzione di errore) On-Die integrato
riutilizza la memoria principale per risparmiare sui costi
● PCI Express Gen 2 nativo per espansione I/O differenziata e
scalabilità di architettura
Specifiche generali
● 1 nucleo
● Velocità di clock 400 MHz
● 16 KB di cache
● Set di istruzioni a 32 bit
● Litografia a 32 nm
● TDP max. di 2,2 W
Specifiche di memoria
● Capacità di memoria ma: 2 GB
● Tipi di memoria: DDR3-800
● N. di canali di memoria: 1
● Estensioni indirizzo fisico: 32 bit
● Memoria ECC supportata
Opzioni di espansione
● Revisione PCI Express: 2.0
● Configurazioni PCI Express: x1
● N. massimo di corsie PCI Express: 2
● Specifiche I/O
● Due porte host USB 2.0 ad alta velocità
● Una porta dispositivo USB 2.0 ad alta velocità
● Due controller Ethernet 10/100
● I/O per uso generico: 16
● UART: 2
Specifiche del pacchetto
● Configurazione CPU max.: 1
● GIUNZIONEA T: 110ºC
● Dimensioni pacchetto: 15,0 mm x 15,0 mm
● Tecnologie avanzate
● Stati in assenza di attività
● Tecnologia Intel Platform Protection
● Execute Disable Bit
10. Galileo: compatibilità HW
● Compatibilità a livello hardware e di pin con una vasta
gamma di shield Arduino Uno R3.
● La disposizione dei componenti principali è la stessa della disposizione
dell'Arduino Uno R3
● I Digital Pin da 0 a 13, gli Analog Pin da 0 a 5, il connettore per
l'alimentazione, quello per la programmazione ICSP e la porta
seriale UART (Universal Asynchronous Receiver-Transmitter) pin
0 e 1, sono tutti nelle medesime posizioni della scheda Arduino
UNO R3 (Arduino 1.0 pinout)
● Anche se la tensione di funzionamento della Galileo è 3.3V, la scheda è
stata progettata per supportare sia le shield che operano a 3.3V che
quelle che operano a 5V, grazie alla presenza di un jumper che
abilita sui pin di I/O, se necessario, la tensione a 5V.
11. Edison: caratteristiche principali
● Utilizza un SoC Intel® a 22 nm che include una CPU Intel® Atom™
dual-core, dual-threaded a 500 MHz e un microcontroller Intel®
Quark™ a 32 bit e 100 MHz. Supporta 40 GPIO e include 1 GB di
LPDDR3, 4 GB di EMMC, e Wi-Fi dual band e BTLE su un modulo
leggermente più grande di un francobollo.
● Supporterà inizialmente lo sviluppo con Arduino* e C/C++, seguiti da
Node.JS, Python, RTOS e supporto per programmazione visuale nel
prossimo futuro.
● Include un framework per connettività dispositivo-dispositivo e
dispositivo-cloud per rendere possibili comunicazioni tra vari
dispositivi e un servizio di analisi di serie temporali basato su
cloud e multitenant.
12. Intel Edison
PC completo equipaggiato con
Linux e che non si fa mancare
nemmeno i moduli Bluetooth e
Wi-Fi per accedere a un proprio
app store. Sul circuito stampato
anche memoria LPDDR2, NAND
Flash e interfacce di I/O per
estendere le capacità.
13. UDOO
“UDOO, il micro-pc italiano che rivoluziona la prototipazione raggiunge il goal su
Kickstarter in 40 ore”
Un micro computer low cost, a basso consumo ma dalle enormi potenzialità,
compatibile con tutti i dispositivi Arduino e che monta Android e Linux. E' questo il
progetto made in Italy che ha raccolto in meno di due giorni i 27mila dollari
necessari per avviare l'impresa.
The UDOO project was successfully funded through the
crowdfunding platform Kickstarter, raising over $640,000
in sixty days from over 4,000 backers.
14. UDOO
Dietro a UDOO, infatti, ci sono SECO (Arezzo, azienda di
progettazione harware) e Aidlab (Siena, Interaction Design), oltre
a un team internazionale di esperti nei vari settori. Tutti uniti nel
realizzare "una potente piattaforma di prototipazione per lo
sviluppo software e il design.
15. Note
Le soluzioni Intel Galileo non sono certo economiche se paragonate alle proposte su base ARM, come
il Raspberry Pi, per cui si parla di 25 dollari circa. Si tratta però di una prima apertura di Intel, e come
tale difficilmente tutto può essere perfetto.
Apprezzabile il fatto che l'azienda abbia deciso di donare 50.000 schede Galileo a 1.000 università di
tutto il mondo nel corso dei prossimi 18 mesi
Con Udoo, che unisce insieme le caratteristiche positive del Raspberry e dell'Arduino, ad un costo
competitivo, le cose saranno destinate a cambiare.
Windows on intel galileo:
https://www.youtube.com/watch?v=yrRMomesBKM