beaglebone black2.pdf
TRANSCRIPT
Beaglebone Blackcom python
Prof. Ilton
Agosto‐ 2014
Beaglebone Black
2 / 20
Partes DoBBB
https://copy.com/NQ2tQAVJgopG0xd7https://github.com/CircuitCo/BeagleBone‐Black
Beaglebone Black
3 / 20Processador AM3358
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;
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
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;
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.
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.
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:
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:
Beaglebone Black (BBB)
11 / 20
Windows:
Tela inicial doSSH + Login
http://www.bitvise.com/ssh‐client‐download
Beaglebone Black (BBB)
12 / 20
Windows:
<OK>
Beaglebone Black
13 / 20
Clique no box do terminalEditar, compilar e executar programas: C, C++, python, GO, java, etc
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
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. )
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. )
Beaglebone Black (BBB)
17 / 20
Como acessar o prompt do SO da placa? (Cont.)Opção 3: Acessando via REDE (Cont. )
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
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
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
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
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
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