BeagleBone Blue é uma solução desenvolvida pela iniciativa BeagleBoard para desenvolver diversas soluções. Essa placa é um Computador-em-Chip voltado para o desenvolvimento de aplicações de robótica e sistemas embarcados. Essa compatibilidade ocorre porque a placa possui soquetes para conexão de diversos dispositivos atuadores. Essas características permitem utilizar essa placa para prototipagem ou construção de sistemas de robótica e drones, por exemplo.
(Fonte: https://beagleboard.org/static/images/beagle-blue-pck.png)
Os sensores e periféricos presentes no sistemas são:
2 suportes a bateria Li-Po com balanceamento de carga
Entrada para carregador de 6V a 16V
Suporte a rede Wireless 802.11 b/g/n 2.4GHz, Bluetooth 4.1 e BLE
8 saídas com sinal de PWM e alimentação de 6V para controle de servo-motores
4 saídas para controle de motores DC
4 encoders para motores de quadcoptero
Sensor inercial de 9 graus de liberdade (9DoF)
Barômetro
Cliente e hospedeiro USB 2.0
Compatibilidade com GPS, rádio DSM2, UARTs, SPI, entradas analógicas, botões e LEDs
Os firmwares da placa são configurados para executar um servidor DHCP que fornece ao computador do usuário acesso direto a placa. Esse acesso pode ser feito via Wi-Fi ou USB. Caso o acesso seja realizado via USB, uma conexão cabeada aparecera no computador do usuário. Para o caso de acesso Wi-Fi, a placa cria um ponto de acesso para o servidor com nome adequado. A conexão da placa em uma rede WLAN (Wi-Fi) local permite o acesso a esse servidor DHCP web através do endereço de IP da placa na rede local.
Com essas configurações já é possível acessar a placa e começar a programar através da IDE Cloud9. Contudo, antes de começar a programar alguma aplicação, é preciso configurar o chip. BeagleBone Blue é um computador completo com sistema operacional Linux. Portanto, seu sistema operacional e seus drivers devem ser compatíveis com os atuadores periféricos que desejam ser utilizados.
BeagleBone Blue – Sistema Operacional
Como dito acima, a solução é um computador com sistema operacional Linux. Inicialmente, o usuário deve escolher uma distribuição para instalar na placa. A iniciativa BeagleBoard disponibiliza em seu site opções de imagens de sistema operacional para os desenvolvedores. Um caminho interessante a seguir é utilizar uma imagem Debian. Esse sistema operacional facilita a instalação e compatibilidade com diversos pacotes.
Observação importante: O kernel do sistema operacional deve ser compatível com os drivers. Para compatibilidade, fizemos o downgrade do kernel para a versão 4.4, inferior à versão 4.9 inicialmente instalada.
$ cd /opt/scripts/tools/
$ sudo sh update_kernel.sh --lts-4_4
Após a realização desses passos, é possível verificar o funcionamento de todos os drivers através do comando:
$ rc_test_drivers
É importante garantir principalmente que o driver que controla a unidade de operações de tempo real (PRU) esteja operacional. Além disso, para utilizar outras bibliotecas como OpenCV, o processo de instalação é similar a de outros sistemas operacionais baseados em Debian. Nesse caso, se o usuário quiser utilizar uma câmera USB em aplicações de visão computacional, por exemplo, recomendamos as bibliotecas de OpenCV da linguagem Python. Essas linguagens podem ser instaladas usando o comando:
$ sudo apt-get install python-opencv
BeagleBone Blue – Biblioteca Robotics Cape
A Biblioteca Robotics Cape permite programar operações utilizando os módulos de I/O da placa. Para isso, essa biblioteca implementa funções que permitem a programação dessas operações usando a linguagem C. As distribuições Linux disponíveis para a instalação na BeagleBone Blue geralmente contém uma pré-instalação da Biblioteca Robotics Cape. Sendo assim, para verificar a versão da biblioteca instalada no sistema operacional, o usuário deve abrir o terminal através de acesso remoto, serial ou através da IDE Cloud9 e aplicar o comando:
$ rc_version
Contudo, para o caso da instalação presente estar corrompida, a biblioteca pode ser recompilada e reinstalada a partir do seu código fonte.
Além disso, a biblioteca apresenta programas prontos que permitem testar o funcionamento e a comunicação com os diferentes módulos de I/O. Cada um desses programas possui um modo de funcionamento, e alguns deles necessitam de argumentos de configuração. Os programas disponibilizados para testes de módulos e drivers são:
rc_balance            rc_dsm_passthrough    rc_test_encoders
rc_battery_monitor    rc_kill               rc_test_filters
rc_benchmark_algebra  rc_spi_loopback       rc_test_imu
rc_bind_dsm           rc_startup_routine    rc_test_motors
rc_blink              rc_test_adc           rc_test_polynomial
rc_calibrate_dsm      rc_test_algebra       rc_test_servos
rc_calibrate_escs     rc_test_barometer     rc_test_time
rc_calibrate_gyro     rc_test_buttons       rc_test_vector
rc_calibrate_mag      rc_test_cape          rc_uart_loopback
rc_check_battery      rc_test_dmp           rc_version
rc_check_model        rc_test_drivers       
rc_cpu_freq           rc_test_dsm
BeagleBone Blue – Meu primeiro projeto
Após configurar a placa, é possível começar a programar seus primeiros projetos de robótica utilizando a biblioteca Robotics Cape. Para isso, é necessário seguir estas etapas:
cp -r /usr/share/roboticscape/rc_project_template /home/debian/caminho_do_projeto/nome_do_projeto
cd nome_do_projeto
mv rc_project_template.c nome_do_projeto.c
Editar o makefile, modificando o valor da variável TARGET para o seu novo nome de projeto
Compilar o seu programa usando o comando make executar como super usuário (sudo).
Assim, seu projeto com o nome e path que você escolher estarão disponíveis. Em seguida, basta abrir o código nome_do_projeto.c e programar a aplicação a partir daí. A referência para as funções da biblioteca Robotics Cape estão disponíveis no link: http://strawsondesign.com/docs/roboticscape/index.html.
Veja a seguir um exemplo de aplicação de duas placas BeagleBone Blue, uma delas voltada para robótica e outra extraindo informações usando OpenCV.
Category :
BLOG, Embedded, Linux
Tags :
beaglebone, beaglebone introdução, Industria 4.0, IoT
facebook
Twitter
del.icio.us
digg
stumbleupon
Google +1
Deixe um comentário Cancelar resposta
O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *
Comentário
Nome *
E-mail *
Site
Δ
Mais Posts
Apple Watch – Apresentação
O Apple Watch é um smartwatch desenvolvido pela Apple Inc. Ele incorpora rastreamento de atividades físicas, com capacidades relacionadas a saúde, além de se integrar com outros produtos e serviços da Apple.
Tutorial iOS – Criando um leitor de Textos
Tutorial de como criar um aplicativo sintetizador de voz no iOS 7.
Controle de Bugs – Parte 1: MantisBT
Neste post apresentaremos o Mantis, ferramenta de controle de bugs
Tags
acelerometro android Análise Artigo Bateria beaglebone beaglebone tutorial Bluetooth c# Codigo fonte Desenvolvimento design embedded escalabilidade HMD Industria 4.0 integração hardware Internet das Coisas Internet of Things iOS IoT java metodologia testes Objective C padrões qualidade Redes Neurais redes sem fio Redes Veiculares Ruby on Rails simulador SmartCar smartphone tecnologia Testbed Tutorial uguide UI usabilidade vant wearable Wearable technology Webservices windows phone 8 XCode
Comentários e dúvidas
Deep Learning e Industria 4.0: Introdução às redes neurais convolucionais - Laboratório iMobilis em Deep Learning e Indústria 4.0
Deep Learning e Indústria 4.0: Uma visão geral sobre as redes neurais recorrentes - Laboratório iMobilis em Deep Learning e Indústria 4.0
ANTONIO em Construa um drone “do zero”! – Parte 3
Pryscilla Medeiros em Tutorial – BeagleBone Black: Conversão Analógico-Digital
Julio Monteiro em Aplicação com módulos LoRa MESH da Radioenge
Posts Populares
Tutorial Android – Criando um menu lateral deslizante
Hoje vamos falar de um componente que está muito na moda em grandes aplicações. Esse componente é o menu lateral deslizante.
Tutorial: Introdução – API Google Maps v2 Android
Com a API do google maps v2 para Android, você pode adicionar...
Tutorial Android – Desenvolvendo com Bluetooth para comunicação veicular – Parte 3
Parte final do tutorial sobre Bluetooth e Android
Tags
acelerometro android Análise Artigo Bateria beaglebone beaglebone tutorial Bluetooth c# Codigo fonte Desenvolvimento design embedded escalabilidade HMD Industria 4.0 integração hardware Internet das Coisas Internet of Things iOS IoT java metodologia testes Objective C padrões qualidade Redes Neurais redes sem fio Redes Veiculares Ruby on Rails simulador SmartCar smartphone tecnologia Testbed Tutorial uguide UI usabilidade vant wearable Wearable technology Webservices windows phone 8 XCode