beaglebone black2.pdf

23
Beaglebone Black com python Prof. Ilton Agosto2014

Upload: ilton-luiz-barbacena

Post on 26-Dec-2015

159 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Beaglebone Black2.pdf

Beaglebone Blackcom python

Prof. Ilton

Agosto‐ 2014

Page 2: Beaglebone Black2.pdf

Beaglebone Black

2 / 20

Partes DoBBB

https://copy.com/NQ2tQAVJgopG0xd7https://github.com/CircuitCo/BeagleBone‐Black

Page 3: Beaglebone Black2.pdf

Beaglebone Black

3 / 20Processador  AM3358

Page 4: Beaglebone Black2.pdf

Beaglebone Black

4 / 20

Leds na GPIO

User LED Control Signals/Pins

• USER0: indicador de pulsação dokernel do Linux.;

• USER1: acende quando o cartão SDestá sendo acessado;

• USER2: indicador de atividade.Acontece quando o kernel não estáno loop ocioso;

• USER3: acende quando o eMMConboard está sendo acessada;

Page 5: Beaglebone Black2.pdf

Beaglebone Black

5 / 20Conectores de Expansão

• 42 pinos de expansão;• Pinos com tensão de

3,3V;• Se colocar 5V nos

pinos, queima ocomponente;

• Conectores P8 e P9• Fonte externa: 5V +/‐

0,25V /mínimo 1A

Page 6: Beaglebone Black2.pdf

Boot no Beaglebone Black

6 / 20

• O projeto suporta dois grupos de opções de inicialização da placa.O usuário pode alternar entre esses modos através do botão dearranque (boot button). A fonte de inicialização principal é atravésda memória uSD.

• O boot nativo ocorre através do SO gravado na memória flash,caso não exista nenhuma memória uSD presente. O projetooriginal já vem com a distribuição linux Angstron gravada namemória flash, podendo, porém ser substituída ou atualizada;

• Mantendo o botão de arranque pressionado, o usuário podeforçar a placa a realizar o boot a partir da memória uSD ;

• Isso permite que a memória uSD possa ser substituída quandonecessário, e com isso, a placa seja utilizada por vários usuários,cada um com sua memória uSD, configurada a seu gosto;

Page 7: Beaglebone Black2.pdf

Beaglebone Black

7 / 20

Conector P8

PROC é o nome dopino noprocessador;

PIN é o número dopino em P8;.MODE é adefinição do modopara cada pino;

Os pinos sãomultifuncionais,podendo ter maisde um modo, emcada pino.

Page 8: Beaglebone Black2.pdf

Beaglebone Black

8 / 20

Conector P9

PROC é o nome dopino noprocessador;

PIN é o número dopino em P8;.MODE é adefinição do modopara cada pino;

Os pinos sãomultifuncionais,podendo ter maisde um modo, emcada pino.

Page 9: Beaglebone Black2.pdf

Beaglebone Black (BBB)

9 / 20

Como acessar o prompt do SO da placa?

1. Atualizar o linux Angstron gravada na memória flash: baixaro último ISO e gravar;

2. Utilizar um hub USB, para ligar o teclado e mouse;

3. Utilizar um monitor ou TV com entrada hdmi

4. Utilizar adaptador HDMI para micro‐hdmi, para conexão aoBBB

5. Ligar o BBB na USB

Opção 1:

Page 10: Beaglebone Black2.pdf

Beaglebone Black (BBB)

10 / 20

Como acessar o prompt do SO da placa?

1. Fazer acesso via USB, utilizando no seu PC umlinux:a. No linux do PC: $ ssh ‐X [email protected]. Password = <enter>c. Para editar um programa:

• $ gedit nome‐do‐arquivo.py• $ python nome‐do‐arquivo.py (p/ executar)

2. No Windows (https://copy.com/4WgZATVZZX1smtgi ):a. Instalar cliente SSH ( Putty, Bitvisse, etc)b. Drivers win: https://learn.adafruit.com/ssh‐to‐

beaglebone‐black‐over‐usb/installing‐drivers‐windowsc. Acessar via SSH e no prompt

a. $ nano nome‐do‐arquivo.pyb. $ python nome‐do‐arquivo.py (p/ executar)

Opção 2:

Page 11: Beaglebone Black2.pdf

Beaglebone Black (BBB)

11 / 20

Windows:

Tela inicial doSSH + Login

http://www.bitvise.com/ssh‐client‐download

Page 12: Beaglebone Black2.pdf

Beaglebone Black (BBB)

12 / 20

Windows:

<OK>

Page 13: Beaglebone Black2.pdf

Beaglebone Black

13 / 20

Clique no box do terminalEditar, compilar e executar programas: C, C++, python, GO, java, etc

Page 14: Beaglebone Black2.pdf

Beaglebone Black (BBB)

14 / 20

Como acessar o prompt do SO da placa? (Cont.)

1. O Linux Angstrom, do BBB, vem com um cliente DHCP. Se estivermos emuma rede com o protocolo DHCP, ao conectar o BBB pela porta ethernetnesta rede, a BBB irá assumir um IP automático.

2. Com o comando ifconfig que você identifica o IP atribuído a placa. Para issoé necessário ter um hub USB, um teclado e um mouse USB. Você tambémpode pegar o IP listando os logs do seu servidor DHCP.

3. Lógico, que para isso terá que já estar no prompt do Angstrom, ou noprompt de um outro micro nesta rede DHCP;

Opção 3:  Acessando via REDE

Page 15: Beaglebone Black2.pdf

Beaglebone Black (BBB)

15 / 20

Como acessar o prompt do SO da placa? (Cont.)

4. O “inet addr” é o endereço de IP atribuído a ela. Então é só colocar esse IP no seunavegador e acessa‐la pela rede;

5. A beaglebone tem um servidor na porta 80 que nos mostra informações gerais sobreela;

6. No exemplo o IP é “200.131.216.83″ e neste caso digite: “http://200.131.216.83″ nonavegador;

7. Como vimos, outra maneira de acessá‐la é pelo terminal via SSH. É só abrir o seuterminal e dar o comando “ssh [email protected]″ lembrando que“200.131.216.83″ é o IP dela no exemplo.

8. Outra opção seria na porta 443 que nos dá acesso a seu console, via ssh, pelonavegador. Você consegue acessa digitando “https://200.131.216.83/” no seunavegador. Para acessar o console dela pelo navegador precisa de um navegador quetenho suporte à HTML5, já que a placa usa o GateOne, um terminal e cliente SSHdesenvolvido em HTML5;

9. O Angstrom possui uma IDE embarcada chamada Cloud9. A Cloud9 está disponívelna porta 3000, então usando novamente o IP anterior, para acessar a Cloud9,digitamos “http://200.131.216.83:3000/” na barra de endereço.

Opção 3:  Acessando via REDE (Cont. )

Page 16: Beaglebone Black2.pdf

Beaglebone Black (BBB)

16 / 20

Como acessar o prompt do SO da placa? (Cont.)

10. A Cloud9 IDE possibilita escrever, executar e debugar aplicações escritas emJavaScript e baseadas em um framework chamado node.js. No arquivo denome blinked.js temos o código que pisca o led USER3. É o código a seguir.;

Opção 3:  Acessando via REDE (Cont. )

Page 17: Beaglebone Black2.pdf

Beaglebone Black (BBB)

17 / 20

Como acessar o prompt do SO da placa? (Cont.)Opção 3:  Acessando via REDE (Cont. )

Page 18: Beaglebone Black2.pdf

Programação no Beaglebone Black• As ferramentas de softwares que permite o acesso mais comum aos pinos no BBB, dos

conectores P8 e P9, tanto os pinos digitais como os analógicos, são:– Script do linux

• http://www.armhf.com/using‐beaglebone‐black‐gpios/• http://elinux.org/images/b/b7/Beaglebone_‐_Hands_on_Tutorial.pdf• https://copy.com/R8wGX3KXgKQpfZpV• https://copy.com/fY6jCLzm7PbAodXw

– Linguagem C  e  C++• https://github.com/majestik666/Beagle_GPIO (Beagle_GPIO.hh) • http://www.element14.com/community/community/designcenter/single‐board‐computers/next‐gen_beaglebone//blog/2013/10/10/bbb‐‐

beaglebone‐black‐io‐library‐for‐c?CMP=SOM‐BEAGLEBONE‐SHABAZ‐FB• https://github.com/VegetableAvenger/BBBIOlib (baixar  a biblioteca e exemplos)• https://github.com/mkaczanowski/BeagleBoneBlack‐GPIO

– Python• Básico de Python: https://copy.com/iGfvUcc87aFeT97I• https://learn.adafruit.com/downloads/pdf/blinking‐an‐led‐with‐beaglebone‐black.pdf• http://www.egr.msu.edu/classes/ece480/capstone/fall13/group05/meng.pdf

• PyBBIO library : https://copy.com/uWEXsm1tbJirGm89

– GO• http://pt.wikipedia.org/wiki/Go_(linguagem_de_programação)• http://omundodaprogramacao.com/?wpdmact=process&did=NS5ob3RsaW5r

– Exemplos com C:http://www.element14.com/community/community/designcenter/single‐board‐computers/next‐gen_beaglebone/blog/2013/10/10/bbb‐‐beaglebone‐black‐io‐library‐for‐chttp://mkaczanowski.com/beaglebone‐black‐cpp‐gpio‐library‐for‐beginners/Exemplos de compilação em C: http://www.decom.ufop.br/imobilis/?p=3180

18 / 20

Page 19: Beaglebone Black2.pdf

Programação no Beaglebone Black

– Livro Base: Getting Started With BeagleBone– https://copy.com/ZoeeCu6tNYLW8icA

• Exemplos com Python Pag. 72 (GPIO) / Pag. 62 e 78 (PWM) / Pag. 80 (ADC)• Exemplo com BoneScript Pag. 88, 91, 92, 93 (PWM)• Exemplo com GPIO no prompt Pag. 123

– Outros livros:• Building a Home Security System with BeagleBone:

– https://copy.com/LjA3nUyWbLqE• BeagleBone Robotic Projects

– https://copy.com/OtCfmA3VBkbo

Mais livros: http://www.e‐bookspdf.org/?s=beaglebone

19 / 20

Page 20: Beaglebone Black2.pdf

Programação no Beaglebone Black• Python:

– https://copy.com/1lMUM6GvN2sfOsYA– https://copy.com/jLSFWAxtzVC9– http://ark4n.files.wordpress.com/2010/01/python_para_desenvolvedores_2ed.pdf

• Livros sobre game + python:– http://inventwithpython.com/makinggames.pdf– https://copy.com/cYpPg8nmNET31CPI

• Biblioteca para jogos:– http://pygame.org/download.shtml

• Veja este jogo: – https://copy.com/MRlYUc2eJkZ9Twu8

• Exemplo básico: – https://copy.com/TdmT69mhk0a968kf– https://copy.com/qSaHGioxnEO72B1I (Python + BBB)

• Python + BBB: – https://learn.adafruit.com/setting‐up‐io‐python‐library‐on‐beaglebone‐black– https://learn.adafruit.com/downloads/pdf/setting‐up‐io‐python‐library‐on‐beaglebone‐black.pdf

• Biblioteca Python Adafuit: https://copy.com/xBa89IMOHWT7gP1320 / 20

Page 21: Beaglebone Black2.pdf

Programação no Beaglebone Black• Python:

– RF: https://copy.com/NiBE3zJBUvOcMFDs– Led:

• https://copy.com/R1qS07ZM2dWtzgXN• https://copy.com/MoeQEQ3JeBcGgAeD (sem usar biblioteca)

– Sensor de Temperatura:• https://copy.com/Jvf7HiZXFifJh0xu• https://copy.com/Zps0lIaVySx9bVsE

– Sensor ultrassônico• https://copy.com/8f4PoSGNLwKviBEe• https://copy.com/gFLy7St2GWfcvw19

– Controle de nível de água de caixa d'água• https://copy.com/u0E326hNOcVOQ6DG

– LCD Serial• https://gigamega‐micro.googlecode.com/files/serdisplay.py

21 / 20

Page 22: Beaglebone Black2.pdf

Referência• https://copy.com/NAPEzVC7ERNClV8b• https://garoa.net.br/wiki/BeagleBone_Black• http://www.paulo.blog.br/• http://www.paulo.blog.br/2013/05/atualizando‐o‐software‐flashing‐

da.html• http://beagleboard.org/latest‐images• http://elinux.org/Beagleboard:Updating_The_Software• http://thethingsystem.com/dev/Bootstrapping‐the‐BeagleBone‐

Black.html• https://copy.com/szgsbZjAlcypP9f6• http://shallowsky.com/blog/hardware/flashing‐beaglebone‐black.html• http://beagleboard.org/getting%20Started#update• http://beagleboard.org/latest‐images• http://bwgz57.wordpress.com/2012/04/01/beaglebone‐how‐hot‐is‐it/• http://www.decom.ufop.br/imobilis/?p=1390• http://elinux.org/BeagleBone_Community• http://sergioprado.org/primeiras‐impressoes‐da‐beaglebone‐black/• http://www.phys‐x.org/rbots/index.php?option=com_content&view=category&layout=blog&id=46&Itemid=81

22 / 20

Page 23: Beaglebone Black2.pdf

Referência• http://www.youtube.com/watch?v=zoqtsrMOZSM• http://derekmolloy.ie/write‐a‐new‐image‐to‐the‐beaglebone‐black/• https://copy.com/DSR6Lkw2FQLB8a2Q• https://copy.com/K29GzjDSFoagqqSu• http://robotic‐controls.com/learn/beaglebone/beaglebone‐black‐ubuntu• http://www.embarcados.com.br/beaglebone‐black‐yocto/• http://www.element14.com/community/community/designcenter/single‐board‐

computers/next‐gen_beaglebone//blog/2013/11/24/beaglebone‐web‐server‐‐temperature‐sensor

• Debian + BBB: http://blogspot.tenettech.com/?p=2888• Ubuntu + BBB: https://copy.com/cck66sp6Ib840dJu• PHP + BBB: http://www.instructables.com/id/BeagleBoneBlack‐PHP‐GPIO/?lang=pt

• Glib Reference Manual: https://developer.gnome.org/glib/2.41/

• Eclipse + BBB: http://www.decom.ufop.br/imobilis/?p=3318

• TCC: https://copy.com/MNKK4jJrws9jPd7P

23 / 20