Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
BeagleBone Black
espandibilita`e stabilità
Massimiliano D’Ambrosio
google.com/+MassimilianoDAmbrosio
@iv3unm
plus.hacklabu...
Mi chiamo Boris e
sono la mascot
della
fondazione
Beaglebone.
org
beagleboard e
beaglebone
sono progetti
openhardware
svil...
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 blac...
● SOC
○ Texas Intruments ARM Cortex A8 (ARMv7)
sitara AM3358BZCZ100 1GHz
○ GPU PoverWR sgx 530 3d
● DRAM 512 mb ddr3l
● St...
● USB 2.0
○ 1 porta mini USB client
○ 1 porta usb host
● 1 ethernet 10/100
● Alimentazione 210/460mA @ 5V - power
Manageme...
beaglebone
OEMblack
*BeagleBone* *BeagleBone Black* *BlueSteel-Basic*
*Processor* AM3359ZCZ72, 720MHz AM3358BZCZ100, 1GHz ...
beaglebone
GPIOblack
Il General Purpose Input/Output (anche noto come GPIO) è
un'interfaccia disponibile su alcuni disposi...
beaglebone
PRUblack
All’interno del SoC TI AM3359, e quindi la
bbb, ci sono due microcontrollori a 32
bit (PRU o PRUSSv2) ...
beaglebone
PRUblack
Provides 2 Independent Programmable
Realtime Unit Cores
● 32-Bit Load/Store RISC architecture
● 4K Byt...
beaglebone
PRUblack
Per esempio: a Trieste alla Elettra - Sincrotrone usano diverse beaglebone white
con le due PRU nel pr...
beaglebone
CAPEblack
Se conoscete l’ecosistema Arduino sapere cosa sono
le shields.
Anche la BBB ha qualche cosa di simile...
beaglebone
DTblack
Solo un’accento sui Device Tree...
Device Tree (DT) e Device Tree Overlay descrivono
hardware in un sis...
GNU/LINUX
● Ufficiali
○ debian {dal 23/04/2014}
○ Ångström GNU/linux
● altre distribuzioni {ubuntu, archlinux.... E
GENERA...
beaglebone
osblack
La BBB arriva con GNU/linux
preinstallato! nella flash
● Ångström con hw rev A & B
● debian con rev c
Å...
beaglebone
black
Per aggiornare i pacchetti della distribuzione installata:
● Ångström
○ oapk update
○ oapk upgrade
● Debi...
beaglebone
black
se vogliamo ripristinare o cambiare la distribuzione
nella emcc:
● scaricare da beagleboard.org/latest-im...
beaglebone
black
● al termine inserire la microSD nella bbb
● accendere la bbb
● attendere dai 30/60min (dipende dalla vel...
beaglebone
black
Personalizzare l’installazione da SD -> emcc
Durate update della flash è possibile lavorare sulla
bbb app...
I servizi che troviamo come le distribuzioni appena
viste:
● webserver
● nodejs
● server ssh
● LXDE
● ...
Libreria
● bones...
beaglebone
black
Altre distribuzioni GNU/Linux e Android:
● OfficiaL WIKI
www.elinux.org/Beagleboard:BeagleBoneBlack
● wik...
● per accedere alla GPIO sono
disponibile librerie.
● Si accede anche da riga di
comando
beaglebone
black os
Oppure da con...
● 7 Analog Pins
● 65 Digital Pins at 3.3V
● 2x I2C
● 2x SPI
● 2x CAN Bus
beaglebone
Pythonblack
● 4 Timers
● 4x UART
● 8x ...
Il contenuto della confezione
Tolta dalla scatola e senza nessun altro tipo di
intervento di preparazione:
1. Colleghiamo la bbb tramite la miniUSB alla...
...
● Apriamo firefox o chrome e come url inseriamo IP
192.168.7.2
● passiamo sulla beagleboneblack per scoprire cosa
trov...
Modo StandAlone
Colleghiamo la un cavo di rete alla BBB,
eventuale tastiera, mouse e monitor ed
alimentiamo a 5v
beaglebon...
Arduino user Space
● È possibile eseguire codice scritto per arduino sulla
beaglebone black.
● una tabella definisce la co...
Arduino user Space
● Con il rilascio della debian sulla bbb, la modalità
Arduino user space e` possibile direttamente dal
...
● Un Elenco dei progetti con la beaglebone e
beagleboard sono presenti su
beagleboard.org/project
● È anche possibile/cons...
I principi dell’Open Source Hardware (OSHW) 1.0
L’hardware open source è l’hardware il cui progetto è
reso pubblico in mod...
beaglebone
oshwblack
1. La documentazione
Il punto 1 della definizione viene rispettato dalla bbb
● Schema elettrico dispo...
3. Il Software necessario
Se il progetto di licenza richiede software, embedded o di altro
tipo (firmware o altro), per fu...
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",
...
Intro BeagleBone Black - Massimiliano D'Ambrosio
Upcoming SlideShare
Loading in …5
×

Intro BeagleBone Black - Massimiliano D'Ambrosio

1,851 views

Published on

Intro BeagleBone Black - Massimiliano D'Ambrosio

05/07/2014 - Outlet dell'elettronica Cecina

GDG Firenze

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Intro BeagleBone Black - Massimiliano D'Ambrosio

  1. 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. 2. Mi chiamo Boris e sono la mascot della fondazione Beaglebone. org beagleboard e beaglebone sono progetti openhardware sviluppati dalla fondazione
  3. 3. Oggi alla mini maker faire di trieste parliamo della beaglebo n e black
  4. 4. Chi di voi usa la beaglebone black?
  5. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 25. Il contenuto della confezione
  26. 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. 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. 28. Modo StandAlone Colleghiamo la un cavo di rete alla BBB, eventuale tastiera, mouse e monitor ed alimentiamo a 5v beaglebone demoblack
  29. 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. 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. 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. 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. 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. 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. 35. beaglebone oshwblack qui trovate tutta la documentazione oshW: beagleboard.org/hardware/design
  36. 36. Community BeagleBone Italia (unofficial) plus.hacklabudine.it
  37. 37. Domande?
  38. 38. beaglebone 1 2 3black + dalla collaborazione tra il TEAM Arduino e begalebone.org nasce ARDUINO TRE
  39. 39. Fonte: post Texas Instruments ottobre 2013
  40. 40. beaglebone 1 2 3black Arduino TRE Developer Edition
  41. 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!

×