Primeiras impressões da Beaglebone Black
- por Sergio Prado
Um tempo atrás, antes da Beaglebone Black ser lançada oficialmente, escrevi um artigo introdutório sobre ela.
Mas não aguentei esperar a Texas começar a vender a Beaglebone Black pela TI eStore, e acabei comprando a minha na LojaMundi.
O serviço do pessoal da LojaMundi é bem legal, minha placa chegou em 3 dias. No momento eles estão vendendo a placa por R$249,00. Para quem estiver interessado, este é o link.
Mas vamos ao que interessa!
Você pode se conectar à Beaglebone Black e utilizá-la de duas formas: como um PC comum e acessando remotamente via USB.
BEAGLEBONE BLACK COMO UM PC
Para usá-la como um PC, você vai precisar de uma fonte de 5V/1A, monitor, cabo micro HDMI, teclado e mouse USB. Como a BBB tem apenas uma porta USB, talvez você precise também de um HUB USB.
A Beaglebone Black já vem com a distribuição Angstrom instalada de fábrica na eMMC. É só ligar e esperar a mágica acontecer!
O Angstrom me pareceu bem estável e otimizado para a Beaglebone Black. Com o tempo de boot em torno de 1 minuto, ele usa o systemd como mecanismo de inicialização e interface gráfica baseada no Gnome 2, incluindo algumas aplicações como o gedit, GIMP e Chromium.
Bug alert! No primeiro teste, o teclado conectado à porta USB não funcionou. Pesquisando nos fóruns descobri que até este momento a porta USB da Beaglebone Black esta sem suporte à hotplug. Ligando o teclado antes de ligar a placa resolveu o problema. Durante o processo de boot, o teclado é identificado normalmente.
Usá-la como um PC não deve ser o caso de uso mais comum da Beaglebone Black. Para trabalhar com ela, tudo o que você precisa é de um cabo USB!
BEAGLEBONE BLACK PELA USB
A porta USB OTG da Beaglebone Black tem três finalidades principais:
- Alimentar a placa.
- Prover uma interface de dispositivo de armazenamento.
- Prover uma conexão de rede (via RNDIS).
Ao plugar o cabo USB, você conseguirá acessar a Beaglebone como um drive no seu PC, possibilitando acessar por exemplo a documentação da placa:
$ tree -L 1 /media/sprado/BEAGLEBONE/ /media/sprado/BEAGLEBONE/ ├── App ├── autorun.inf ├── Docs ├── Drivers ├── LICENSE.txt ├── MLO ├── README.md ├── START.htm ├── u-boot.img └── uEnv.txt |
Automaticamente, também será criada uma conexão Ethernet no seu PC, possibilitando acessar a Beaglebone Black pela rede. Sua máquina vai receber o endereço IP 192.168.7.1, e você poderá acessar a Beaglebone Black através do endereço IP 192.168.7.2, usando por exemplo SSH (usuário root e sem senha):
$ ssh root@192.168.7.2 root@192.168.7.2's password: root@beaglebone:~# cat /proc/version Linux version 3.8.6 (koen@rrMBP) (gcc version 4.7.3 20130205 (prerelease) (Linaro GCC 4.7-2013.02-01) ) #1 SMP Sat Apr 13 09:10:52 CEST 2013 |
Seguindo o padrão da antiga Beaglebone, ela vem com um servidor web implementado em node.js, servindo algumas páginas web com a documentação do projeto:
Uma IDE de desenvolvimento chamada Cloud9 também esta disponível, rodando direto do navegador, e possibilitando implementar aplicações para a Beaglebone Black em node.js. Esta IDE pode ser acessada na porta 3000:
O Gateone, um emulador de terminal e cliente SSH que também roda direto do navegador web, esta disponível na porta 443:
À propósito, o Gateone não estava funcionando na imagem do Angstrom que veio de fábrica instalada na eMMC. Foi necessário atualizar a distribuição para a última versão. Vamos ver como fazer isso?
ATUALIZANDO O ANGSTROM
O processo é simples. Você vai precisar de um cartão micro SD de no mínimo 4G, baixar a imagem do Angstrom, gravar no cartão e iniciar a placa com este cartão.
Baixe a última imagem do Angstrom deste link e grave no cartão SD. No momento em que escrevo este artigo, a última imagem é a 2013.06.20.
$ wget https://s3.amazonaws.com/angstrom/demo/beaglebone/BBB-eMMC-flasher-2013.06.20.img.xz $ unxz BBB-eMMC-flasher-2013.06.20.img.xz $ sudo dd if=BBB-eMMC-flasher-2013.06.20.img of=/dev/sdX bs=1M |
Não esqueça de trocar no comando acima /dev/sdX pelo nome do arquivo de dispositivo do seu cartão SD.
Coloque o cartão na placa, ligue e espere. Os leds ficarão piscando durante o processo de gravação, que pode levar de 30 a 60 minutos. Quando a gravação terminar, os leds vão parar de piscar e ficarão acesos. Tire o cartão, reinicie a placa e teste.
Obs: Por padrão, a placa sempre inicia pela eMMC. O U-Boot instalado na eMMC irá verificar na inicialização se existe um cartão SD conectado, e então iniciar pelo cartão. Portanto, todo o processo de inicialização pelo cartão deve ser automático. Mas se você tiver dificuldades em fazer a placa iniciar pelo cartão SD para realizar este processo de gravação, ligue a placa com o botão “User Boot” pressionado, até que os 4 leds fiquem acesos. Este botão encontra-se próximo ao conector do cartão SD.
CONCORRENTE DA RASPBERRY PI?
Para começo de conversa, as duas placas tem originalmente propósitos diferentes. A Raspberry Pi foi projetada para ser um computador de baixo custo, enquanto que a Beaglebone Black é uma ferramenta de prototipagem rápida e desenvolvimento de projetos eletrônicos. Mas como você consegue também prototipar com a Raspberry Pi, e usar a Beaglebone Black como um computador, os casos de uso acabam se sobrepondo, principalmente porque os custos das duas placas são bem parecidos.
De qualquer forma, a Beaglebone Black esta muito mais preparada para ser utilizada em projetos eletrônicos, por dois principais motivos: hardware 100% open source e quantidade maior de interfaces de I/O.
Enquanto que a Raspberry Pi fornece apenas um conector de 26 pinos com algumas interfaces de I/O (GPIO, I2C, SPI e UART), a Beaglebone Black oferece dois conectores de expansão de 46 pinos cada, totalizando 92 pinos de I/O, com muitos GPIOs, I2C, SPI, UART, LCD, ADC, MMC, etc!
OUTRAS DISTRIBUIÇÕES
O Angstrom me pareceu bem rápido e estável, e deve ser a escolha padrão se você quiser um SO para desenvolver um projeto com a Beaglebone Black. Outra possível escolha é o Ubuntu. Testei a versão 12.04 com interface LXDE, e sua performance ficou aceitável, comparada ao Angstrom.
Existem ainda outras distribuições disponíveis para ela, incluindo o Android, Gentoo e ArchLinux. Uma lista completa de sistemas operacionais suportados estão disponíveis aqui.
E você, já comprou a Beaglebone Black? Quais são suas impressoẽs?
Um abraço!
Sergio Prado