microBox: acesso ao Arduino por uma shell no estilo do Linux
A biblioteca microBox coloca no Arduino uma shell com comandos no estilo Linux, acessível por meio do monitor serial.
Você já acessou uma shell Linux (ou Unix), com comandos como ls
, echo
e cat
? A intenção da biblioteca microBox é oferecer um ambiente similar, aproveitando o mesmo visual (e um conjunto dos mesmos comandos) para oferecer uma interface interativa com o Arduino.
Com o ambiente da microBox, os recursos do Arduino ficam visíveis na forma de uma árvore de diretórios virtual, cujos arquivos você pode manipular ou consultar, com comandos como cat
, cd
, echo
, exit
, loadpar
, ll
, ls
, savepar
, watch
e watchcsv
(e outros que você mesmo inclua na biblioteca, que é expansível).
Na imagem acima você pode ver exemplos de comandos, incluindo (no final) as operações equivalentes a digitalRead, AnalogRead e pinMode. Há muitas outras.
A microBox inclui até confortos como histórico de comandos e completamento automático com Tab.
Os comandos digitados ficam armazenados em um histórico, a tecla Tab completa comandos e parâmetros, e modificações no ambiente podem ser gravadas na memória permanente EEPROM do Arduino. Existe também uma versão com suporte a módulos de rede local esp8266, com qual você passa a poder abrir uma sessão remota no seu Arduino, via rede.
O uso da microBox é uma daquelas situações em que pode ser mais conveniente optar por um terminal serial que não seja o fornecido pelo próprio Arduino, porque este é bastante limitado em termos de recursos e de capacidade de entrada em formatos controlados pelo programa do usuário. Alternativas como o PuTTY, TeraTerm ou os emuladores de terminal nativos do Linux e do OS X (rodando neles o programa screen
e passando como parâmetro o dispositivo da porta serial do Arduino) darão resultados superiores.
A ideia de fazer um modo interativo serial para o Arduino ou outros microcontroladores não é nova: até eu, que estou nesta seara há menos de um ano, já fiz o meu (beeeem mais simples que o microBox), e uso para monitorar sensores e testar interfaces de módulos antes de começar a fazer programas para eles.
Já vi vários outros, bem mais especializados e complexos, frequentemente derivados do interessante software do Bus Pirate, com vários recursos avançados.
A microBox não é assim: a biblioteca implementa um sistema sem grandes recursos avançados, mas com foco na familiaridade do ambiente (ao menos para aqueles usuários previamente expostos a shells no estilo Unix).
A biblioteca microBox é código aberto de autoria de Sebastian Düll e está disponível para download pelos interessados.
Comentar