Gogo Board + Linux + Shell Script

Com base neste artigo de um controle através da porta USB do computador, podemos nos comunicar com a Gogo apenas utilizando Shell Script no Linux.

Basta para isso, configurar a porta:

stty -F /dev/ttyACM0 9600

E em seguida, enviar os bytes de comunicação da função desejada, neste caso o BEEP:

echo -e '\x54\xFE\xC4\x00' > /dev/ttyACM0

Se tiver dúvidas sobre o assunto, temos outras matérias sobre isso aqui mesmo no site.

Para este exemplo, utilizamos a versão 7 do Ubuntu e 2.6 de kernel.

Foto: ticnaformacaodeprofessores.blogspot.com

Gogo Board: Socket Server Protocol

Foi publicado no site do projeto Gogo Board, a documentação da versão “1.0.1”, do protocolo socket da placa.

Basicamente, através do Gogo Monitor versão “3.4.3”, podemos nos comunicar com a Gogo remotamente, enviando comandos em texto puro, como por exemplo: beep.

Ele esta disponível aqui.

Quanto ao Gogo Monitor, até o momento, a versão “3.4.3” é a última que funciona com a Gogo Real, mesmo assim, tentativas de usar o protocolo, ainda não foram bem sucedidas, mesmo utilizando alternativas em java e flash.

GogoBoard – Protocolo serial – Updated: July 8, 2011

Assim como já visto neste post, a Gogo Board traz um protocolo de comunicação próprio e muito poderoso.

Este protocolo foi atualizado, bem como sua documentação, que pode ser obtida aqui.

Ainda não pudemos realizar testes com ele, ja que esta presente nas versões recentes da Gogo Board e seu firmware, portanto, no momento, poderá ser incompatível com aquilo que já publicamos aqui.

Protocolo: Exemplo de aplicação II

Como vimos anteriormente, nestes posts:

Protocolo exemplo de aplicação
Interface Real + Visual Basic 2005 + Mscomm
Interface Real + Visual Basic 6 + Mscomm

A placa sempre “fala” conosco após o envio de algum comando que tenha sido recebido, processado e executado.

Mas como ler o que ela nos envia?

Esse seria o próximo passo na evolução da programação, mas o sucesso nisso envolve corrigir um pequeno problema de comunicação, quando enviamos dados para a placa, que significa, informar a ela que o envio de dados terminou.

Resumindo, como vimos, para que a placa emita um beep, enviamos além dos bytes 84 e 254 de cabeçalho, os bytes 196 e 0 relativos ao beep, mas também precisamos incluir sempre os “& vbCr” no final do envio. Deste modo:

MSComm1.Output = Chr(84) + Chr(254) + Chr(196) + Chr(0) & vbCr

Lembrando que a falta destes caracteres finais não impedem que a placa entenda a informação recebida, mas impedem que ela retorne o status de sucesso no recebimento da informação, indicados pelos bytes 85 e 255 enviados ao computador.

Como assim? Isso ficará mais claro nos próximos posts.


Atenção!

O Projeto Real agora é Gogo Real. Mais detalhes aqui.

Protocolo: Exemplo de aplicação

Vamos a exemplos de uso do protocolo de comunicação entre um computador e uma placa com microcontrolador, neste caso, a BR-GOGO, compatível também com a placa Gogoboard.

Estas são as duas versões:

– versão 4.0.2, encontrada aqui;
– versão 4.2.0, encontrada aqui.

Aparentemente de difícil compreensão, ou ainda não trivial para muitos, já citamos anteriormente, quatro formas diferentes de utilização, duas delas com Visual Basic, uma em Python e outra, Processing.

Ao detalharmos este protocolo específico, desenvolvido pelo pessoal da Gogoboard, vemos o quanto é extenso, detalhado e rico, sem contar que muito bem desenvolvido.

Há uma sequência de bits para cada uma das funções presentes na placa, que devem ser enviados a ela e a mesma retornará outra sequência de bits informando que a mensagem foi recebida.

Neste post, não abordaremos todas as funções, mas tomaremos como referência a função beep.

Como já vimos anteriormente, a sequência de bytes: “84, 254, 196, 0”, faz com que a placa emita o beep, mas o que eles significam? Os primeiros dois pares: “84, 254”, seriam para “chamar a atenção” da placa para que receba o comando propriamente dito, que seriam os dois ultimos bytes, neste exemplo, sendo assim, eles estarão presentes em toda a comunicação entre o computador e a placa.

Uma vez recebidos os bytes, a placa retornara uma outra sequência de bytes, informando que a mensagem foi recebida, ou ainda poderá retornar outras informações que não abordaremos no momento.

Deste modo, poderemos nos comunicar com a placa utilizando qualquer software que permita tal procedimento, como por exemplo, ainda não citados, Labview, Matlab, Turbo C, Delphi, etc.


Atenção!

O Projeto Real agora é Gogo Real. Mais detalhes aqui.