SlideShare una empresa de Scribd logo
1 de 42
Descargar para leer sin conexión
BeagleBone Black
espandibilita`e stabilità
Massimiliano D’Ambrosio
google.com/+MassimilianoDAmbrosio
@iv3unm
plus.hacklabudine.it (Community BBB Italia)
plus.gdgudine.it
v.o1 - 17 maggio 2014, Trieste
minimakerfaire
v.02 - 5 luglio 2014, Cecina
Mi chiamo Boris e
sono la mascot
della
fondazione
Beaglebone.
org
beagleboard e
beaglebone
sono progetti
openhardware
sviluppati dalla
fondazione
Oggi alla mini
maker faire di
trieste
parliamo della
beaglebo
n
e
black
Chi di voi
usa la
beaglebone
black?
beagleboard.org
Board
ott. 2011 nasce
la beaglebone
“while”
SoC TI Sitara
am3358/9 a
720MHz 256MB
apr. 2014 arriva
la black
SoC TI Sitara
am3358/9 a 1GHz
512MB emcc 2GB
altre board:
BeagleBoard
● SOC
○ Texas Intruments ARM Cortex A8 (ARMv7)
sitara AM3358BZCZ100 1GHz
○ GPU PoverWR sgx 530 3d
● DRAM 512 mb ddr3l
● Storage flash 2GB { new rev c 4GB } // micro sd
● Video/audio out hdmi {connettore micro hdmi}
beaglebone
featuresblack
● USB 2.0
○ 1 porta mini USB client
○ 1 porta usb host
● 1 ethernet 10/100
● Alimentazione 210/460mA @ 5V - power
Management tps65217c pmic regulator + 4LDO
{USB port, 5-V AC adaptor, Li-Ion battery}
● 3 pulsati
○ on/off
○ reset
○ boot {eMCC, SD}
beaglebone
featuresblack
beaglebone
OEMblack
*BeagleBone* *BeagleBone Black* *BlueSteel-Basic*
*Processor* AM3359ZCZ72, 720MHz AM3358BZCZ100, 1GHz AM3358BZCZ100, 1GHz
*HDMI* No Yes No
*DRAM* 256MB DDR2 400MHz 512MB DDR3L 800MHz 512MB DDR3L 800MHz
*Flash* uSD 4GB eMMC, uSD uSD
*Onboard
JTAG* Yes, over USB Optional Optional
*Serial* via USB via header via header
*PWR Exp
Header* Yes No No
*Power* 300-500 mA@5V 210-460 mA@5V TBD
Note beaglebone.org beaglebone.org
http://elinux.org/CircuitCo:BlueSteel-
Basic
CircuitCo.com
beaglebone
GPIOblack
Il General Purpose Input/Output (anche noto come GPIO) è
un'interfaccia disponibile su alcuni dispositivi elettronici. Un
dispositivo microprocessore, microcontroller o interfaccia può
avere una o più connessioni GPIO su un'interfaccia con
dispositivi e periferiche esterne. Queste possono agire come
input, per leggere i segnali digitali dalle altre parti del circuito,
o output, per controllare o segnalare agli altri dispositivi. GPIO
sono spesso collocati in gruppi, tipicamente di 8 pin - una porta
GPIO - che usualmente hanno GPIO individuali configurabili o
come input o come output. Fonte wikipedia.
P8
P9
troviamo i connettori P8 e P9 da 46 pins. Sono le GPIO, VCC,GND,
AIN...
beaglebone
PRUblack
All’interno del SoC TI AM3359, e quindi la
bbb, ci sono due microcontrollori a 32
bit (PRU o PRUSSv2) a 200MHz.
Lavorano in modo indipendente ed in
realtime dal ARM.
Praticamene grazie alle Programmable
Realtime Unit SubSystem (PRUSS) sulla
BBB avete 2 microntrollori con accesso
diretto ad alcune GPIO che lavorano
indipendentemete tra loro ed anche dal
ARM.
Insomma TRE processori in una board.
beaglebone
PRUblack
Provides 2 Independent Programmable
Realtime Unit Cores
● 32-Bit Load/Store RISC architecture
● 4K Byte instruction RAM per core
● 512 Bytes data RAM per core
● PRUSS can be disabled via software
to save power
● Register 30 of each PRU is exported
from the subsystem in addition to the
normal R31 output of the PRU cores.
● PRU intended operation is little
endian similar to ARM and DSP
processors.
Provides standard power management
mechanism
● Clock gating provided
● Entire subsystem under a single PSC
clock gating domain
Provides interrupt controller
Provides switched central resource
http://processors.wiki.ti.com/index.php/Programmable_Realtime_Unit_Subsystem
beaglebone
PRUblack
Per esempio: a Trieste alla Elettra - Sincrotrone usano diverse beaglebone white
con le due PRU nel progetto BEAGLEBONE FOR EMBEDDED CONTROL SYSTEM
APPLICATIONS.
http://accelconf.web.cern.ch/AccelConf/ICALEPCS2013/papers/momib05.pdf
Informazioni sulle delle PRU:
● http://processors.wiki.ti.com/index.
php/Programmable_Realtime_Unit_Subsystem
● http://elinux.org/ECE497_BeagleBone_PRU
● http://www.element14.com/community/community/designcenter/single-board-
computers/next-gen_beaglebone//blog/2013/05/22/bbb--working-with-the-pru-
icssprussv2
beaglebone
CAPEblack
Se conoscete l’ecosistema Arduino sapere cosa sono
le shields.
Anche la BBB ha qualche cosa di simile chiamate cape
che si inseriscono nei connettori delle gpio
Un elenco delle capes disponibili sono presenti su
beaglebonecapes.com
fra poco vediamo direttamente sulla bbb sia le gPIO che le
capes disponibili.
beaglebone
DTblack
Solo un’accento sui Device Tree...
Device Tree (DT) e Device Tree Overlay descrivono
hardware in un sistema. sONO le GPIO, interfacce, ecc
Linux supporta diverse architetture (ARM, x86,...) e sotto
architetture (come i SoC ARM). L’uso del DT è diventato
obbligatorio per permettere una migliore gestione del
kernel.
Dal kernel 3.8 anche BeagleBone Black usa i DT
.
● Beaglebone and the 3.8 Kernel
docs.google.com/document/d/17P54kZkZO_-JtTjrFuVz-
Cp_RMMg7GB_8W9JK9sLKfA/pub
● Adafruit Introduction to the BeagleBone Black Device Tree
learn.adafruit.com/introduction-to-the-beaglebone-black-device-
tree
● Device Tree www.devicetree.org
GNU/LINUX
● Ufficiali
○ debian {dal 23/04/2014}
○ Ångström GNU/linux
● altre distribuzioni {ubuntu, archlinux.... E
GENERALMENTE TUTTE QUELLE con supporto per arm}
beaglebone
OSblack
GNU/Linux
&
Android
beaglebone
osblack
La BBB arriva con GNU/linux
preinstallato! nella flash
● Ångström con hw rev A & B
● debian con rev c
Ångström è una distribuzionei
ottimizzata per dispositivi
embedded nata dalla fusione
dei progetti OpenZaurus,
OpenEmbedded e OpenSIMpad.
Info: angstrom-distribution.org
beaglebone
black
Per aggiornare i pacchetti della distribuzione installata:
● Ångström
○ oapk update
○ oapk upgrade
● Debian
○ apt-get update
○ apt-get upgrade
os
beaglebone
black
se vogliamo ripristinare o cambiare la distribuzione
nella emcc:
● scaricare da beagleboard.org/latest-images ultima
immagine GNU/linux per la bbb.
● decomprimere il file con
○ xz -d BBB-eMMC-flasher-debian_version.img.xz
● inserire una microSD
○ dd bs=1M id=BBB-eMMC-flasher-debian_version.img if=/dev/sdX
■ sostituire if=/dev/sdX con il valore corretto
os
beaglebone
black
● al termine inserire la microSD nella bbb
● accendere la bbb
● attendere dai 30/60min (dipende dalla velocita della
SD)
● Quando i 4 led della BBB rimangano accessi
● spegnere la bbb, togliere SD ed accendere.
● ora avete aggiornata a nuova la bbb.
os
beaglebone
black
Personalizzare l’installazione da SD -> emcc
Durate update della flash è possibile lavorare sulla
bbb apportando modifiche alla configurazione,
installare pacchetti, nostri programmi…
le modifiche che vengono “fatte” nella sd in quanto
root.
Al termine basta un reboot... aspettare i 30/60 min… la
bbb è pronta con le modifiche apportate.
Ora è possibile inserire SD su un’altra board...
os
I servizi che troviamo come le distribuzioni appena
viste:
● webserver
● nodejs
● server ssh
● LXDE
● ...
Libreria
● bonescript, libreria javascript per accedere
alle GPIO
beaglebone
black os
beaglebone
black
Altre distribuzioni GNU/Linux e Android:
● OfficiaL WIKI
www.elinux.org/Beagleboard:BeagleBoneBlack
● wiki community
www.elinux.org/BeagleBone_Community
Risorse:
● sito: beaglebone.org
● wiki: http://www.elinux.org/BeagleBoneBlack
G+ Community:
● Officlal plus.google.
com/communities/104960311812236799231
● BBB plus.google.com/communities/109063557165602177414
● BBB IT plus.google.com/communities/115569723765781184028
os
● per accedere alla GPIO sono
disponibile librerie.
● Si accede anche da riga di
comando
beaglebone
black os
Oppure da console
echo "2" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio2/direction
echo "1" > /sys/class/gpio/gpio2/value
echo "0" > /sys/class/gpio/gpio2/value
echo "2" > /sys/class/gpio/unexport
● 7 Analog Pins
● 65 Digital Pins at 3.3V
● 2x I2C
● 2x SPI
● 2x CAN Bus
beaglebone
Pythonblack
● 4 Timers
● 4x UART
● 8x PWM
● A/D Converter
Python library by Adafruit
Tutorial:
learn.adafruit.com/setting-up-io-python-library-on-beaglebone-
black
Install:
sudo pip install Adafruit_BBIO
Il contenuto della confezione
Tolta dalla scatola e senza nessun altro tipo di
intervento di preparazione:
1. Colleghiamo la bbb tramite la miniUSB alla usb del
nostro computer con un cavetto
2. attendiamo alcuni secondi per il boot della bbb
a. viene trovato un nuovo storage (la BBB), che
contiene delle utilility e driver… se serve
installare i driver
3. viene creata una piccola rete su usb, 192.168.7.x
a. .1 è il nostro computer
b. .2 è la bbb
beaglebone
demoblack
192.168.7.1192.168.7.2
...
● Apriamo firefox o chrome e come url inseriamo IP
192.168.7.2
● passiamo sulla beagleboneblack per scoprire cosa
troviamo già pronto fuori dalla scatola.
beaglebone
demoblack
192.168.7.1192.168.7.2
Modo StandAlone
Colleghiamo la un cavo di rete alla BBB,
eventuale tastiera, mouse e monitor ed
alimentiamo a 5v
beaglebone
demoblack
Arduino user Space
● È possibile eseguire codice scritto per arduino sulla
beaglebone black.
● una tabella definisce la corrispondenza tra i pins
Arduino e le GPIo (P9) della beaglebone BLACK
● elinux.org/Userpace_Arduino
beaglebone
Arduinoblack
Arduino pin BBB GPIO
0 P9_11
1 P9_13
2 P9_15
3 P9_14
4 P9_12
... ...
Arduino user Space
● Con il rilascio della debian sulla bbb, la modalità
Arduino user space e` possibile direttamente dal
tramite web dal ide cloud9 senza installare nient’
altro
○ scrivo il codice in “stile” arduino dentro ide
○ lo salvo con estensione .ino
○ RUN...
● posso eseguire il file .ino anche da console
beaglebone
Arduinoblack
● Un Elenco dei progetti con la beaglebone e
beagleboard sono presenti su
beagleboard.org/project
● È anche possibile/consigliato inserire i propri
progetti (hardware e/o software) in questa
pagina
beaglebone
projectblack
I principi dell’Open Source Hardware (OSHW) 1.0
L’hardware open source è l’hardware il cui progetto è
reso pubblico in modo che chiunque possa studiare,
modificare, distribuire, realizzare, e vendere il
progetto o l’hardware basato su di esso. La fonte
dell’hardware, il progetto da cui è stato realizzato, è
disponibile nel formato migliore per apportarvi
modifiche. Idealmente, l’hardware open source
utilizza componenti e materiali disponibili, processi
standard, infrastruttura aperta, contenuti senza
restrizione e strumenti di progettazione open-
source per massimizzare la capacità degli individui
di produrre e utilizzare l’hardware. L’hardware open
source dà alle persone la libertà di controllare la loro
tecnologia, la condivisione della conoscenza ed
incoraggia il commercio
attraverso lo scambio aperto di progetti.
Definizione dell’Open Source Hardware
http://www.oshwa.org/definition/italian/
beaglebone
oshwblack
1. La documentazione
Il punto 1 della definizione viene rispettato dalla bbb
● Schema elettrico disponibile in formato CAD //
scaricabile dal sito del produttore
● Layout del PCB (file gerber) // scaricabile dal sito
del produttore
● elenco dei componenti/materiale disponibile in
singoli pezzi - BOM (Bill of Materials) //
normalmente disponibili direttamente da
distributori/rivenditori di componenti elettronici.
3. Il Software necessario
Se il progetto di licenza richiede software, embedded o di altro
tipo (firmware o altro), per funzionare adeguatamente e svolgere
le sue funzioni essenziali, la licenza può richiedere che una delle
seguenti condizioni vengano soddisfatte:
A. Le interfacce sono sufficientemente documentate tale
che si possa scrivere il software open source che consente al
dispositivo di funzionare correttamente e di svolgere le sue
funzioni essenziali. Per esempio, questo può includere l’uso di
diagrammi dettagliati della temporizzazione del segnale o
pseudocodice per illustrare chiaramente l’interfaccia in
funzione.
B. Il software necessario è rilasciato sotto una licenza open
source approvata OSI
beaglebone
oshwblack
IL soc TI della bbb
implementa, su
licenza, una GPU
Imaginations
PowerVR SGX530 3D e
rispetta il punto 3.a
beaglebone
oshwblack
qui trovate tutta la documentazione oshW:
beagleboard.org/hardware/design
Community
BeagleBone
Italia
(unofficial)
plus.hacklabudine.it
Domande?
beaglebone
1 2 3black
+
dalla collaborazione
tra il TEAM Arduino e
begalebone.org nasce
ARDUINO
TRE
Fonte: post
Texas Instruments
ottobre 2013
beaglebone
1 2 3black
Arduino TRE
Developer Edition
massimiliano@beaglebone:~$ cat contact.json
{
"Name":"Massimiliano D'Ambrosio",
"G+":"google.com/+MassimilianoDAmbrosio",
"Twitter":"@iv3unm",
"HackLab Udine": {
"Site":"www.hacklabudine.it",
"G+":"plus.hacklabudine.it",
"Twitter":"@hacklabudine",
"memo":"unOfficial Community BeagleBone Italia"
},
"Google Developer Group Udine": {
"Site":"www.gdgudine.it",
"G+":"plus.gdgudine.it",
"Twitter":"@gdgudine"
}
}
massimiliano@beaglebone:~$ sudo shutdown now
[sudo] password for massimiliano:
Broadcast message from root@beaglebone (pts/0) (Sat May 10 20:33:39
2014):
The system is going down to maintenance mode NOW!
Intro BeagleBone Black - Massimiliano D'Ambrosio

Más contenido relacionado

La actualidad más candente

LinuxDay 2005 - Multimedialità con Linux - slides
LinuxDay 2005 - Multimedialità con Linux - slidesLinuxDay 2005 - Multimedialità con Linux - slides
LinuxDay 2005 - Multimedialità con Linux - slidesMaurizio Antonelli
 
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
 
Introduzione all’informatica 2011
Introduzione all’informatica 2011Introduzione all’informatica 2011
Introduzione all’informatica 2011donmimi
 
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi ClusterCodemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi ClusterMatteo Baccan
 
Applicazione JavaFX – CORSA DI AUTO SU TRACCIATI REALI
Applicazione JavaFX – CORSA DI AUTO SU TRACCIATI REALIApplicazione JavaFX – CORSA DI AUTO SU TRACCIATI REALI
Applicazione JavaFX – CORSA DI AUTO SU TRACCIATI REALIbenfante
 
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
 
Hardware Libero - Linux Day 2007
Hardware Libero - Linux Day 2007Hardware Libero - Linux Day 2007
Hardware Libero - Linux Day 2007pino_otto
 
Introduzione al Free Software: storia e prospettive
Introduzione al Free Software: storia e prospettiveIntroduzione al Free Software: storia e prospettive
Introduzione al Free Software: storia e prospettivecarlobecchi
 
Creazione di una stazione meteo con prodotti opensource. Linux day 2014 - Lin...
Creazione di una stazione meteo con prodotti opensource. Linux day 2014 - Lin...Creazione di una stazione meteo con prodotti opensource. Linux day 2014 - Lin...
Creazione di una stazione meteo con prodotti opensource. Linux day 2014 - Lin...Matteo Baccan
 
From Scratch To Network - User mode linux
From Scratch To Network - User mode linuxFrom Scratch To Network - User mode linux
From Scratch To Network - User mode linuxMajong DevJfu
 
Guida al computer - Lezione 46 - Il 1° Avvio - Il B.I.O.S. Parte 6
Guida al computer - Lezione 46 - Il 1° Avvio - Il B.I.O.S. Parte 6Guida al computer - Lezione 46 - Il 1° Avvio - Il B.I.O.S. Parte 6
Guida al computer - Lezione 46 - Il 1° Avvio - Il B.I.O.S. Parte 6caioturtle
 
Jug Roma - Wii Remote
Jug Roma - Wii RemoteJug Roma - Wii Remote
Jug Roma - Wii Remotedecabyte
 

La actualidad más candente (16)

LinuxDay 2005 - Multimedialità con Linux - slides
LinuxDay 2005 - Multimedialità con Linux - slidesLinuxDay 2005 - Multimedialità con Linux - slides
LinuxDay 2005 - Multimedialità con Linux - slides
 
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
 
Introduzione all’informatica 2011
Introduzione all’informatica 2011Introduzione all’informatica 2011
Introduzione all’informatica 2011
 
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi ClusterCodemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
 
Applicazione JavaFX – CORSA DI AUTO SU TRACCIATI REALI
Applicazione JavaFX – CORSA DI AUTO SU TRACCIATI REALIApplicazione JavaFX – CORSA DI AUTO SU TRACCIATI REALI
Applicazione JavaFX – CORSA DI AUTO SU TRACCIATI REALI
 
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
 
Hardware Libero - Linux Day 2007
Hardware Libero - Linux Day 2007Hardware Libero - Linux Day 2007
Hardware Libero - Linux Day 2007
 
Introduzione al Free Software: storia e prospettive
Introduzione al Free Software: storia e prospettiveIntroduzione al Free Software: storia e prospettive
Introduzione al Free Software: storia e prospettive
 
TuxIsAlive
TuxIsAliveTuxIsAlive
TuxIsAlive
 
Cell Programming 1
Cell Programming 1Cell Programming 1
Cell Programming 1
 
Creazione di una stazione meteo con prodotti opensource. Linux day 2014 - Lin...
Creazione di una stazione meteo con prodotti opensource. Linux day 2014 - Lin...Creazione di una stazione meteo con prodotti opensource. Linux day 2014 - Lin...
Creazione di una stazione meteo con prodotti opensource. Linux day 2014 - Lin...
 
Piattaforma gioch 1
Piattaforma gioch 1Piattaforma gioch 1
Piattaforma gioch 1
 
From Scratch To Network - User mode linux
From Scratch To Network - User mode linuxFrom Scratch To Network - User mode linux
From Scratch To Network - User mode linux
 
Guida al computer - Lezione 46 - Il 1° Avvio - Il B.I.O.S. Parte 6
Guida al computer - Lezione 46 - Il 1° Avvio - Il B.I.O.S. Parte 6Guida al computer - Lezione 46 - Il 1° Avvio - Il B.I.O.S. Parte 6
Guida al computer - Lezione 46 - Il 1° Avvio - Il B.I.O.S. Parte 6
 
Cuma rev001
Cuma rev001Cuma rev001
Cuma rev001
 
Jug Roma - Wii Remote
Jug Roma - Wii RemoteJug Roma - Wii Remote
Jug Roma - Wii Remote
 

Similar a Intro BeagleBone Black - Massimiliano D'Ambrosio

Mpc8308 rdb piattaforma di riferimento della freescale - recensione - 2010-10-26
Mpc8308 rdb piattaforma di riferimento della freescale - recensione - 2010-10-26Mpc8308 rdb piattaforma di riferimento della freescale - recensione - 2010-10-26
Mpc8308 rdb piattaforma di riferimento della freescale - recensione - 2010-10-26Ionela
 
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
 
Come Abilitare La Connettività Usb Con La Famiglia Di Js16 8 A 8 Bit Della Fr...
Come Abilitare La Connettività Usb Con La Famiglia Di Js16 8 A 8 Bit Della Fr...Come Abilitare La Connettività Usb Con La Famiglia Di Js16 8 A 8 Bit Della Fr...
Come Abilitare La Connettività Usb Con La Famiglia Di Js16 8 A 8 Bit Della Fr...Ionela
 
Linux Capabilities - ita - v2.1.5 - compatta
Linux Capabilities - ita - v2.1.5 - compattaLinux Capabilities - ita - v2.1.5 - compatta
Linux Capabilities - ita - v2.1.5 - compattaAlessandro Selli
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaCodemotion
 
Fpga il componente universale 2010-11-09
Fpga  il componente universale   2010-11-09Fpga  il componente universale   2010-11-09
Fpga il componente universale 2010-11-09Ionela
 
Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...Codemotion
 
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...Matteo Baccan
 
Linux Day 2016 Milano - Open Source Hardware PowerPC Notebook
Linux Day 2016 Milano - Open Source Hardware PowerPC Notebook Linux Day 2016 Milano - Open Source Hardware PowerPC Notebook
Linux Day 2016 Milano - Open Source Hardware PowerPC Notebook Roberto Innocenti
 
Guida al computer - Lezione 8 - La scheda madre parte 2
Guida al computer - Lezione 8 - La scheda madre parte 2Guida al computer - Lezione 8 - La scheda madre parte 2
Guida al computer - Lezione 8 - La scheda madre parte 2caioturtle
 
Introduzione ad Arduino
Introduzione ad ArduinoIntroduzione ad Arduino
Introduzione ad ArduinoSimone Lusenti
 
Seminario Raspberri Pi - Parte 2 - GULP
Seminario Raspberri Pi - Parte 2 - GULPSeminario Raspberri Pi - Parte 2 - GULP
Seminario Raspberri Pi - Parte 2 - GULPNicola Corti
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to ArduinotrevisoAUG
 
Agrillo Fedora 11 release party 18 giugno 2009
Agrillo Fedora 11 release party 18 giugno 2009Agrillo Fedora 11 release party 18 giugno 2009
Agrillo Fedora 11 release party 18 giugno 2009Giuseppe Agrillo
 
Guida al computer - Lezione 7 - La scheda madre parte 1
Guida al computer - Lezione 7 - La scheda madre parte 1Guida al computer - Lezione 7 - La scheda madre parte 1
Guida al computer - Lezione 7 - La scheda madre parte 1caioturtle
 

Similar a Intro BeagleBone Black - Massimiliano D'Ambrosio (20)

Mpc8308 rdb piattaforma di riferimento della freescale - recensione - 2010-10-26
Mpc8308 rdb piattaforma di riferimento della freescale - recensione - 2010-10-26Mpc8308 rdb piattaforma di riferimento della freescale - recensione - 2010-10-26
Mpc8308 rdb piattaforma di riferimento della freescale - recensione - 2010-10-26
 
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)
 
Linux console
Linux consoleLinux console
Linux console
 
Come Abilitare La Connettività Usb Con La Famiglia Di Js16 8 A 8 Bit Della Fr...
Come Abilitare La Connettività Usb Con La Famiglia Di Js16 8 A 8 Bit Della Fr...Come Abilitare La Connettività Usb Con La Famiglia Di Js16 8 A 8 Bit Della Fr...
Come Abilitare La Connettività Usb Con La Famiglia Di Js16 8 A 8 Bit Della Fr...
 
Linux Capabilities - ita - v2.1.5 - compatta
Linux Capabilities - ita - v2.1.5 - compattaLinux Capabilities - ita - v2.1.5 - compatta
Linux Capabilities - ita - v2.1.5 - compatta
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Fpga il componente universale 2010-11-09
Fpga  il componente universale   2010-11-09Fpga  il componente universale   2010-11-09
Fpga il componente universale 2010-11-09
 
Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un’architettura Raspberry Pi...
 
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
Codemotion 2013: Succo di lampone: come ottimizzare JAVA e PHP su un’architet...
 
Linux Day 2016 Milano - Open Source Hardware PowerPC Notebook
Linux Day 2016 Milano - Open Source Hardware PowerPC Notebook Linux Day 2016 Milano - Open Source Hardware PowerPC Notebook
Linux Day 2016 Milano - Open Source Hardware PowerPC Notebook
 
Multimedia con GNU/Linux
Multimedia con GNU/LinuxMultimedia con GNU/Linux
Multimedia con GNU/Linux
 
Guida al computer - Lezione 8 - La scheda madre parte 2
Guida al computer - Lezione 8 - La scheda madre parte 2Guida al computer - Lezione 8 - La scheda madre parte 2
Guida al computer - Lezione 8 - La scheda madre parte 2
 
Introduzione ad Arduino
Introduzione ad ArduinoIntroduzione ad Arduino
Introduzione ad Arduino
 
Pioneer 1320 il migliore
Pioneer 1320   il migliorePioneer 1320   il migliore
Pioneer 1320 il migliore
 
Seminario Raspberri Pi - Parte 2 - GULP
Seminario Raspberri Pi - Parte 2 - GULPSeminario Raspberri Pi - Parte 2 - GULP
Seminario Raspberri Pi - Parte 2 - GULP
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to Arduino
 
Media centerpc
Media centerpcMedia centerpc
Media centerpc
 
Agrillo Fedora 11 release party 18 giugno 2009
Agrillo Fedora 11 release party 18 giugno 2009Agrillo Fedora 11 release party 18 giugno 2009
Agrillo Fedora 11 release party 18 giugno 2009
 
DHow2 - L5
DHow2 - L5DHow2 - L5
DHow2 - L5
 
Guida al computer - Lezione 7 - La scheda madre parte 1
Guida al computer - Lezione 7 - La scheda madre parte 1Guida al computer - Lezione 7 - La scheda madre parte 1
Guida al computer - Lezione 7 - La scheda madre parte 1
 

Más de firenze-gtug

Html5 apps - GWT oriented
Html5 apps - GWT orientedHtml5 apps - GWT oriented
Html5 apps - GWT orientedfirenze-gtug
 
Android ndk - ottimizzazione su dispositivi Intel
Android ndk - ottimizzazione su dispositivi IntelAndroid ndk - ottimizzazione su dispositivi Intel
Android ndk - ottimizzazione su dispositivi Intelfirenze-gtug
 
Gwt kickoff - Alberto Mancini & Francesca Tosi
Gwt kickoff - Alberto Mancini & Francesca TosiGwt kickoff - Alberto Mancini & Francesca Tosi
Gwt kickoff - Alberto Mancini & Francesca Tosifirenze-gtug
 
Youtube broadcast live - Massimiliano D'Ambrosio
Youtube broadcast live - Massimiliano D'AmbrosioYoutube broadcast live - Massimiliano D'Ambrosio
Youtube broadcast live - Massimiliano D'Ambrosiofirenze-gtug
 
Arduino - Massimiliano D'Ambrosio
Arduino - Massimiliano D'AmbrosioArduino - Massimiliano D'Ambrosio
Arduino - Massimiliano D'Ambrosiofirenze-gtug
 
Introduzione a GAE - Alessandro Aglietti e Lorenzo Bugiani
Introduzione a GAE - Alessandro Aglietti e Lorenzo BugianiIntroduzione a GAE - Alessandro Aglietti e Lorenzo Bugiani
Introduzione a GAE - Alessandro Aglietti e Lorenzo Bugianifirenze-gtug
 
RFID: What & Why - Stefano Coluccini
RFID: What & Why - Stefano ColucciniRFID: What & Why - Stefano Coluccini
RFID: What & Why - Stefano Coluccinifirenze-gtug
 
GWT - AppDays - (25 aprile 2014, pordenone)
GWT - AppDays - (25 aprile 2014, pordenone)GWT - AppDays - (25 aprile 2014, pordenone)
GWT - AppDays - (25 aprile 2014, pordenone)firenze-gtug
 
Presentazione Google App Engine
Presentazione Google App EnginePresentazione Google App Engine
Presentazione Google App Enginefirenze-gtug
 
Android chat in the cloud
Android chat in the cloudAndroid chat in the cloud
Android chat in the cloudfirenze-gtug
 
Clean android code
Clean android codeClean android code
Clean android codefirenze-gtug
 
Intel ndk - a few Benchmarks
Intel ndk - a few BenchmarksIntel ndk - a few Benchmarks
Intel ndk - a few Benchmarksfirenze-gtug
 
EE Incremental Store
EE Incremental StoreEE Incremental Store
EE Incremental Storefirenze-gtug
 
Programming objects with android
Programming objects with androidProgramming objects with android
Programming objects with androidfirenze-gtug
 
Apertura "Mobile & Embedded" - 13 febbraio 2014
Apertura "Mobile & Embedded" - 13 febbraio 2014Apertura "Mobile & Embedded" - 13 febbraio 2014
Apertura "Mobile & Embedded" - 13 febbraio 2014firenze-gtug
 
Maven from dummies
Maven from dummiesMaven from dummies
Maven from dummiesfirenze-gtug
 
Dev fest android application case study
Dev fest android application   case studyDev fest android application   case study
Dev fest android application case studyfirenze-gtug
 
google drive and the google drive sdk
google drive and the google drive sdkgoogle drive and the google drive sdk
google drive and the google drive sdkfirenze-gtug
 

Más de firenze-gtug (20)

Html5 apps - GWT oriented
Html5 apps - GWT orientedHtml5 apps - GWT oriented
Html5 apps - GWT oriented
 
Android ndk - ottimizzazione su dispositivi Intel
Android ndk - ottimizzazione su dispositivi IntelAndroid ndk - ottimizzazione su dispositivi Intel
Android ndk - ottimizzazione su dispositivi Intel
 
Gwt kickoff - Alberto Mancini & Francesca Tosi
Gwt kickoff - Alberto Mancini & Francesca TosiGwt kickoff - Alberto Mancini & Francesca Tosi
Gwt kickoff - Alberto Mancini & Francesca Tosi
 
Youtube broadcast live - Massimiliano D'Ambrosio
Youtube broadcast live - Massimiliano D'AmbrosioYoutube broadcast live - Massimiliano D'Ambrosio
Youtube broadcast live - Massimiliano D'Ambrosio
 
Arduino - Massimiliano D'Ambrosio
Arduino - Massimiliano D'AmbrosioArduino - Massimiliano D'Ambrosio
Arduino - Massimiliano D'Ambrosio
 
Introduzione a GAE - Alessandro Aglietti e Lorenzo Bugiani
Introduzione a GAE - Alessandro Aglietti e Lorenzo BugianiIntroduzione a GAE - Alessandro Aglietti e Lorenzo Bugiani
Introduzione a GAE - Alessandro Aglietti e Lorenzo Bugiani
 
RFID: What & Why - Stefano Coluccini
RFID: What & Why - Stefano ColucciniRFID: What & Why - Stefano Coluccini
RFID: What & Why - Stefano Coluccini
 
GWT - AppDays - (25 aprile 2014, pordenone)
GWT - AppDays - (25 aprile 2014, pordenone)GWT - AppDays - (25 aprile 2014, pordenone)
GWT - AppDays - (25 aprile 2014, pordenone)
 
Presentazione Google App Engine
Presentazione Google App EnginePresentazione Google App Engine
Presentazione Google App Engine
 
Android chat in the cloud
Android chat in the cloudAndroid chat in the cloud
Android chat in the cloud
 
Clean android code
Clean android codeClean android code
Clean android code
 
#Html2Native
#Html2Native#Html2Native
#Html2Native
 
Intel ndk - a few Benchmarks
Intel ndk - a few BenchmarksIntel ndk - a few Benchmarks
Intel ndk - a few Benchmarks
 
EE Incremental Store
EE Incremental StoreEE Incremental Store
EE Incremental Store
 
Programming objects with android
Programming objects with androidProgramming objects with android
Programming objects with android
 
Apertura "Mobile & Embedded" - 13 febbraio 2014
Apertura "Mobile & Embedded" - 13 febbraio 2014Apertura "Mobile & Embedded" - 13 febbraio 2014
Apertura "Mobile & Embedded" - 13 febbraio 2014
 
Maven from dummies
Maven from dummiesMaven from dummies
Maven from dummies
 
Apps fuel oct2012
Apps fuel oct2012Apps fuel oct2012
Apps fuel oct2012
 
Dev fest android application case study
Dev fest android application   case studyDev fest android application   case study
Dev fest android application case study
 
google drive and the google drive sdk
google drive and the google drive sdkgoogle drive and the google drive sdk
google drive and the google drive sdk
 

Intro BeagleBone Black - Massimiliano D'Ambrosio

  • 1. BeagleBone Black espandibilita`e stabilità Massimiliano D’Ambrosio google.com/+MassimilianoDAmbrosio @iv3unm plus.hacklabudine.it (Community BBB Italia) plus.gdgudine.it v.o1 - 17 maggio 2014, Trieste minimakerfaire v.02 - 5 luglio 2014, Cecina
  • 2. Mi chiamo Boris e sono la mascot della fondazione Beaglebone. org beagleboard e beaglebone sono progetti openhardware sviluppati dalla fondazione
  • 3. Oggi alla mini maker faire di trieste parliamo della beaglebo n e black
  • 4. Chi di voi usa la beaglebone black?
  • 5. beagleboard.org Board ott. 2011 nasce la beaglebone “while” SoC TI Sitara am3358/9 a 720MHz 256MB apr. 2014 arriva la black SoC TI Sitara am3358/9 a 1GHz 512MB emcc 2GB altre board: BeagleBoard
  • 6. ● SOC ○ Texas Intruments ARM Cortex A8 (ARMv7) sitara AM3358BZCZ100 1GHz ○ GPU PoverWR sgx 530 3d ● DRAM 512 mb ddr3l ● Storage flash 2GB { new rev c 4GB } // micro sd ● Video/audio out hdmi {connettore micro hdmi} beaglebone featuresblack
  • 7. ● USB 2.0 ○ 1 porta mini USB client ○ 1 porta usb host ● 1 ethernet 10/100 ● Alimentazione 210/460mA @ 5V - power Management tps65217c pmic regulator + 4LDO {USB port, 5-V AC adaptor, Li-Ion battery} ● 3 pulsati ○ on/off ○ reset ○ boot {eMCC, SD} beaglebone featuresblack
  • 8. beaglebone OEMblack *BeagleBone* *BeagleBone Black* *BlueSteel-Basic* *Processor* AM3359ZCZ72, 720MHz AM3358BZCZ100, 1GHz AM3358BZCZ100, 1GHz *HDMI* No Yes No *DRAM* 256MB DDR2 400MHz 512MB DDR3L 800MHz 512MB DDR3L 800MHz *Flash* uSD 4GB eMMC, uSD uSD *Onboard JTAG* Yes, over USB Optional Optional *Serial* via USB via header via header *PWR Exp Header* Yes No No *Power* 300-500 mA@5V 210-460 mA@5V TBD Note beaglebone.org beaglebone.org http://elinux.org/CircuitCo:BlueSteel- Basic CircuitCo.com
  • 9. beaglebone GPIOblack Il General Purpose Input/Output (anche noto come GPIO) è un'interfaccia disponibile su alcuni dispositivi elettronici. Un dispositivo microprocessore, microcontroller o interfaccia può avere una o più connessioni GPIO su un'interfaccia con dispositivi e periferiche esterne. Queste possono agire come input, per leggere i segnali digitali dalle altre parti del circuito, o output, per controllare o segnalare agli altri dispositivi. GPIO sono spesso collocati in gruppi, tipicamente di 8 pin - una porta GPIO - che usualmente hanno GPIO individuali configurabili o come input o come output. Fonte wikipedia. P8 P9 troviamo i connettori P8 e P9 da 46 pins. Sono le GPIO, VCC,GND, AIN...
  • 10. beaglebone PRUblack All’interno del SoC TI AM3359, e quindi la bbb, ci sono due microcontrollori a 32 bit (PRU o PRUSSv2) a 200MHz. Lavorano in modo indipendente ed in realtime dal ARM. Praticamene grazie alle Programmable Realtime Unit SubSystem (PRUSS) sulla BBB avete 2 microntrollori con accesso diretto ad alcune GPIO che lavorano indipendentemete tra loro ed anche dal ARM. Insomma TRE processori in una board.
  • 11. beaglebone PRUblack Provides 2 Independent Programmable Realtime Unit Cores ● 32-Bit Load/Store RISC architecture ● 4K Byte instruction RAM per core ● 512 Bytes data RAM per core ● PRUSS can be disabled via software to save power ● Register 30 of each PRU is exported from the subsystem in addition to the normal R31 output of the PRU cores. ● PRU intended operation is little endian similar to ARM and DSP processors. Provides standard power management mechanism ● Clock gating provided ● Entire subsystem under a single PSC clock gating domain Provides interrupt controller Provides switched central resource http://processors.wiki.ti.com/index.php/Programmable_Realtime_Unit_Subsystem
  • 12. beaglebone PRUblack Per esempio: a Trieste alla Elettra - Sincrotrone usano diverse beaglebone white con le due PRU nel progetto BEAGLEBONE FOR EMBEDDED CONTROL SYSTEM APPLICATIONS. http://accelconf.web.cern.ch/AccelConf/ICALEPCS2013/papers/momib05.pdf Informazioni sulle delle PRU: ● http://processors.wiki.ti.com/index. php/Programmable_Realtime_Unit_Subsystem ● http://elinux.org/ECE497_BeagleBone_PRU ● http://www.element14.com/community/community/designcenter/single-board- computers/next-gen_beaglebone//blog/2013/05/22/bbb--working-with-the-pru- icssprussv2
  • 13. beaglebone CAPEblack Se conoscete l’ecosistema Arduino sapere cosa sono le shields. Anche la BBB ha qualche cosa di simile chiamate cape che si inseriscono nei connettori delle gpio Un elenco delle capes disponibili sono presenti su beaglebonecapes.com fra poco vediamo direttamente sulla bbb sia le gPIO che le capes disponibili.
  • 14. beaglebone DTblack Solo un’accento sui Device Tree... Device Tree (DT) e Device Tree Overlay descrivono hardware in un sistema. sONO le GPIO, interfacce, ecc Linux supporta diverse architetture (ARM, x86,...) e sotto architetture (come i SoC ARM). L’uso del DT è diventato obbligatorio per permettere una migliore gestione del kernel. Dal kernel 3.8 anche BeagleBone Black usa i DT . ● Beaglebone and the 3.8 Kernel docs.google.com/document/d/17P54kZkZO_-JtTjrFuVz- Cp_RMMg7GB_8W9JK9sLKfA/pub ● Adafruit Introduction to the BeagleBone Black Device Tree learn.adafruit.com/introduction-to-the-beaglebone-black-device- tree ● Device Tree www.devicetree.org
  • 15. GNU/LINUX ● Ufficiali ○ debian {dal 23/04/2014} ○ Ångström GNU/linux ● altre distribuzioni {ubuntu, archlinux.... E GENERALMENTE TUTTE QUELLE con supporto per arm} beaglebone OSblack GNU/Linux & Android
  • 16. beaglebone osblack La BBB arriva con GNU/linux preinstallato! nella flash ● Ångström con hw rev A & B ● debian con rev c Ångström è una distribuzionei ottimizzata per dispositivi embedded nata dalla fusione dei progetti OpenZaurus, OpenEmbedded e OpenSIMpad. Info: angstrom-distribution.org
  • 17. beaglebone black Per aggiornare i pacchetti della distribuzione installata: ● Ångström ○ oapk update ○ oapk upgrade ● Debian ○ apt-get update ○ apt-get upgrade os
  • 18. beaglebone black se vogliamo ripristinare o cambiare la distribuzione nella emcc: ● scaricare da beagleboard.org/latest-images ultima immagine GNU/linux per la bbb. ● decomprimere il file con ○ xz -d BBB-eMMC-flasher-debian_version.img.xz ● inserire una microSD ○ dd bs=1M id=BBB-eMMC-flasher-debian_version.img if=/dev/sdX ■ sostituire if=/dev/sdX con il valore corretto os
  • 19. beaglebone black ● al termine inserire la microSD nella bbb ● accendere la bbb ● attendere dai 30/60min (dipende dalla velocita della SD) ● Quando i 4 led della BBB rimangano accessi ● spegnere la bbb, togliere SD ed accendere. ● ora avete aggiornata a nuova la bbb. os
  • 20. beaglebone black Personalizzare l’installazione da SD -> emcc Durate update della flash è possibile lavorare sulla bbb apportando modifiche alla configurazione, installare pacchetti, nostri programmi… le modifiche che vengono “fatte” nella sd in quanto root. Al termine basta un reboot... aspettare i 30/60 min… la bbb è pronta con le modifiche apportate. Ora è possibile inserire SD su un’altra board... os
  • 21. I servizi che troviamo come le distribuzioni appena viste: ● webserver ● nodejs ● server ssh ● LXDE ● ... Libreria ● bonescript, libreria javascript per accedere alle GPIO beaglebone black os
  • 22. beaglebone black Altre distribuzioni GNU/Linux e Android: ● OfficiaL WIKI www.elinux.org/Beagleboard:BeagleBoneBlack ● wiki community www.elinux.org/BeagleBone_Community Risorse: ● sito: beaglebone.org ● wiki: http://www.elinux.org/BeagleBoneBlack G+ Community: ● Officlal plus.google. com/communities/104960311812236799231 ● BBB plus.google.com/communities/109063557165602177414 ● BBB IT plus.google.com/communities/115569723765781184028 os
  • 23. ● per accedere alla GPIO sono disponibile librerie. ● Si accede anche da riga di comando beaglebone black os Oppure da console echo "2" > /sys/class/gpio/export echo "out" > /sys/class/gpio/gpio2/direction echo "1" > /sys/class/gpio/gpio2/value echo "0" > /sys/class/gpio/gpio2/value echo "2" > /sys/class/gpio/unexport
  • 24. ● 7 Analog Pins ● 65 Digital Pins at 3.3V ● 2x I2C ● 2x SPI ● 2x CAN Bus beaglebone Pythonblack ● 4 Timers ● 4x UART ● 8x PWM ● A/D Converter Python library by Adafruit Tutorial: learn.adafruit.com/setting-up-io-python-library-on-beaglebone- black Install: sudo pip install Adafruit_BBIO
  • 25. Il contenuto della confezione
  • 26. Tolta dalla scatola e senza nessun altro tipo di intervento di preparazione: 1. Colleghiamo la bbb tramite la miniUSB alla usb del nostro computer con un cavetto 2. attendiamo alcuni secondi per il boot della bbb a. viene trovato un nuovo storage (la BBB), che contiene delle utilility e driver… se serve installare i driver 3. viene creata una piccola rete su usb, 192.168.7.x a. .1 è il nostro computer b. .2 è la bbb beaglebone demoblack 192.168.7.1192.168.7.2
  • 27. ... ● Apriamo firefox o chrome e come url inseriamo IP 192.168.7.2 ● passiamo sulla beagleboneblack per scoprire cosa troviamo già pronto fuori dalla scatola. beaglebone demoblack 192.168.7.1192.168.7.2
  • 28. Modo StandAlone Colleghiamo la un cavo di rete alla BBB, eventuale tastiera, mouse e monitor ed alimentiamo a 5v beaglebone demoblack
  • 29. Arduino user Space ● È possibile eseguire codice scritto per arduino sulla beaglebone black. ● una tabella definisce la corrispondenza tra i pins Arduino e le GPIo (P9) della beaglebone BLACK ● elinux.org/Userpace_Arduino beaglebone Arduinoblack Arduino pin BBB GPIO 0 P9_11 1 P9_13 2 P9_15 3 P9_14 4 P9_12 ... ...
  • 30. Arduino user Space ● Con il rilascio della debian sulla bbb, la modalità Arduino user space e` possibile direttamente dal tramite web dal ide cloud9 senza installare nient’ altro ○ scrivo il codice in “stile” arduino dentro ide ○ lo salvo con estensione .ino ○ RUN... ● posso eseguire il file .ino anche da console beaglebone Arduinoblack
  • 31. ● Un Elenco dei progetti con la beaglebone e beagleboard sono presenti su beagleboard.org/project ● È anche possibile/consigliato inserire i propri progetti (hardware e/o software) in questa pagina beaglebone projectblack
  • 32. I principi dell’Open Source Hardware (OSHW) 1.0 L’hardware open source è l’hardware il cui progetto è reso pubblico in modo che chiunque possa studiare, modificare, distribuire, realizzare, e vendere il progetto o l’hardware basato su di esso. La fonte dell’hardware, il progetto da cui è stato realizzato, è disponibile nel formato migliore per apportarvi modifiche. Idealmente, l’hardware open source utilizza componenti e materiali disponibili, processi standard, infrastruttura aperta, contenuti senza restrizione e strumenti di progettazione open- source per massimizzare la capacità degli individui di produrre e utilizzare l’hardware. L’hardware open source dà alle persone la libertà di controllare la loro tecnologia, la condivisione della conoscenza ed incoraggia il commercio attraverso lo scambio aperto di progetti. Definizione dell’Open Source Hardware http://www.oshwa.org/definition/italian/
  • 33. beaglebone oshwblack 1. La documentazione Il punto 1 della definizione viene rispettato dalla bbb ● Schema elettrico disponibile in formato CAD // scaricabile dal sito del produttore ● Layout del PCB (file gerber) // scaricabile dal sito del produttore ● elenco dei componenti/materiale disponibile in singoli pezzi - BOM (Bill of Materials) // normalmente disponibili direttamente da distributori/rivenditori di componenti elettronici.
  • 34. 3. Il Software necessario Se il progetto di licenza richiede software, embedded o di altro tipo (firmware o altro), per funzionare adeguatamente e svolgere le sue funzioni essenziali, la licenza può richiedere che una delle seguenti condizioni vengano soddisfatte: A. Le interfacce sono sufficientemente documentate tale che si possa scrivere il software open source che consente al dispositivo di funzionare correttamente e di svolgere le sue funzioni essenziali. Per esempio, questo può includere l’uso di diagrammi dettagliati della temporizzazione del segnale o pseudocodice per illustrare chiaramente l’interfaccia in funzione. B. Il software necessario è rilasciato sotto una licenza open source approvata OSI beaglebone oshwblack IL soc TI della bbb implementa, su licenza, una GPU Imaginations PowerVR SGX530 3D e rispetta il punto 3.a
  • 35. beaglebone oshwblack qui trovate tutta la documentazione oshW: beagleboard.org/hardware/design
  • 38. beaglebone 1 2 3black + dalla collaborazione tra il TEAM Arduino e begalebone.org nasce ARDUINO TRE
  • 40. beaglebone 1 2 3black Arduino TRE Developer Edition
  • 41. massimiliano@beaglebone:~$ cat contact.json { "Name":"Massimiliano D'Ambrosio", "G+":"google.com/+MassimilianoDAmbrosio", "Twitter":"@iv3unm", "HackLab Udine": { "Site":"www.hacklabudine.it", "G+":"plus.hacklabudine.it", "Twitter":"@hacklabudine", "memo":"unOfficial Community BeagleBone Italia" }, "Google Developer Group Udine": { "Site":"www.gdgudine.it", "G+":"plus.gdgudine.it", "Twitter":"@gdgudine" } } massimiliano@beaglebone:~$ sudo shutdown now [sudo] password for massimiliano: Broadcast message from root@beaglebone (pts/0) (Sat May 10 20:33:39 2014): The system is going down to maintenance mode NOW!