2ª Noite do Mini PC: Dojo com BeagleBone Black

De Garoa Hacker Clube
Revisão de 02h04min de 27 de junho de 2013 por LucianoRamalho (discussão | contribs)
Ir para navegação Ir para pesquisar
BeagleBone Black com seus 92 pinos para hardware hacking! Para facilitar a experimentação, fizemos uma base com parte de uma caixa de DVD e fixamos o BeagleBone Black com espaçadores de nylon e o breadboard com seu próprio adesivo.
O circuito do dojo: um display de 7 segmentos, um resistor de 1KΩ e um potênciômetro de 10KΩ. Em vez de pinos, o BeagleBone tem furos, facilitando ainda mais a conexão com breadboards.

Para quem curte hardware hacking, o BeagleBone Black é o mais forte concorrente do Raspberry Pi. Não é tão popular, porque é bem mais novo (lançado em abril de 2013), é um pouco mais caro (USD 45 nos EUA) mas tem uma configuração muito melhor, 2 GB de memória flash embutida com GNU/Linux pré-instalado, interface de programação via Web com JavaScript e Node.js, e muito mais pinos GPIO disponíveis.

Nesta 4ª feira no Turing Clube, a partir de 19:30, vamos fazer um Coding Dojo de hardware hacking, na linha do Dojo Arduino, para experimentar coletivamente e interativamente o Beaglebone Black.

Para quem não conhece, um Coding Dojo é uma forma interativa de conhecer uma nova linguagem ou API. Hoje vamos explorar a API de programação dos pinos de E/S genéricos (GPIO) do BeagleBone Black. Faremos algo parecido com o que fizemos no Dojo com pcDuino na Tosconf 2013.

Não tem pré-requisito para participar, é só aparecer no Garoa!


O que rolou

Não rolou um Coding Dojo conforme planejado: ficamos cerca de 2h explorando o ambiente e a API do BeagleBone Black até começar a ter uma idéia de como implementar o código do dojo.

Aprendemos um pouco de bonescript, a API para programar o BeagleBone em JavaScript.

Com isso conseguimos implementar o código da animação do display de 7 segmentos. O código ficou bem mais complicado que as variantes Arduino (C++) e pcDuino (Python) porque a bonescript obriga a fazer tudo de modo assíncrono com callbacks.

O código está aqui: https://github.com/garoa/beaglebone/blob/master/anima.js

O próximo passo é aprender a fazer o mesmo com Python.