Picocom - Gravando dados enviados via USB pelo Arduino

Publicado por Anthony Collucci em 17/07/2013

[ Hits: 13.562 ]

Blog: http://www.amcollucci.com.br

 


Picocom - Gravando dados enviados via USB pelo Arduino



Esta dica aborda como utilizar o Picocom para gravar dados enviados via porta USB pelo Arduino em arquivos.

Nos testes, utilizei o Ubuntu 13.04.

Comunicação serial

Enviar bits de forma sequencial por um fio ou barramento, é chamado de comunicação serial, é um meio muito utilizado para comunicação entre dispositivos. Existem diversas tecnologias de comunicação serial, como RS-232, USB, FireWire, Fibre Channel, SCSI, dentre outras.

Todas as placas do Arduino possuem, ao menos, uma porta de comunicação serial (chamadas de UART ou USART), nos pinos digitais 0 (RX) e 1 (TX), e boa parte deles pode se comunicar com um computador via USB. Você pode utilizar o Serial Monitor incluído na IDE para escutar diretamente na porta serial.

Instalando o Picocom

O Picocom é um emulador de terminal burro, baseado no Minicom. O site oficial é:
Para instalá-lo no Ubuntu, basta digitar o seguinte comando:

sudo apt-get install picocom

Para utilizá-lo, é muito simples, você precisa apenas chamar o programa e usar como argumento, o terminal virtual utilizado:

picocom ttyxxx

Detectando o Arduino

Quando o Arduíno é conectado, é criado um arquivo no diretório "/dev", chamado "ttyXXXX" onde o xxx pode variar de acordo com o seu sistema.

Abaixo, seguem três formas de detectar em qual terminal o seu Arduino se encontra:

1º Método: Com o Arduino desconectado, digite o comando:

ls /dev | grep tty
Linux: Picocom - Gravando dados enviados via USB pelo Arduino

Agora, conecte-o e repita o processo. Você deve comparar as duas saídas, o tty que aparecer na segunda saída e se não estiver na primeira, é o terminal de comunicação com o Arduíno.
Linux: Picocom - Gravando dados enviados via USB pelo Arduino

2º Método: Na IDE do Arduíno, acesse o menu:

  TOOLS → Serial Port → /dev/ttyXXX

3º Método: Digite o comando:

dmesg | grep tty

O tty aparecerá na saída do comando, como na imagem abaixo:
Linux: Picocom - Gravando dados enviados via USB pelo Arduino

Preparando o Sketch e gravando em arquivo de texto

Agora, vamos fazer o Arduino nos enviar dados pela USB, para isso, utilize o código abaixo:

void setup(){
Serial.begin(9600);
}
void loop(){
Serial.println("Aprendendo a usar Serial");
}

Grave esse código no Arduino, abra um terminal e digite:

picocom /dev/ttyXXXX

Verá que será exibido no terminal, a frase "Aprendendo a usar Serial".

A grande vantagem de utilizar o Picocom ao invés do serial monitor, é a possibilidade de gravar os dados enviados em um arquivo de texto, CSV ou outro qualquer, como no exemplo abaixo:

picocom /dev/ttyXXXX /home/dump.txt

Fontes


Outras dicas deste autor

Acelerando o apt-get ou similares

Roteiro de instalação e configuração de um Servidor Debian

TCP/IP para sistemas embarcados

O comando grep

Duas dicas de SSH

Leitura recomendada

Colocando programas no system tray

Rádio UOL com proxy transparente

Site com pacotes do Slackware

Impressão através do sistema de emulação 3270 SIAFI/HOD para Debian Linux

Conexão ao MySQL usando classe PHP estática

  

Comentários
[1] Comentário enviado por gabriel_torelli em 18/07/2013 - 21:21h

Olá Anthony. Você pode utilizar também o "cat" para a mesma tarefa, o que é mais simples, pois está presente em todas as distros e tem opções interessantes para a coleta desses dados pela serial. Abraço!
"cat /dev/ttyXXXX > /home/dump.txt"

[2] Comentário enviado por acollucci em 19/07/2013 - 09:25h

Gabriel torelli,

Veja nesse link: http://playground.arduino.cc/Interfacing/LinuxTTY

Nele mostra a configuração do TTY para se usar o cat, infelizmente em todos os testes que realizei não consegui fazer funcionar, por isso utilizei o picocom.

detalhe, no ultimo comando ficou faltando o ">>"

o correto seria:

$ picocom /dev/ttyXXXX >> /home/dump.txt



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts