Pular para o conteúdo

Picocom - Gravando dados enviados via USB pelo Arduino

Dica publicada em Linux / Introdução
Anthony Collucci acollucci
Hits: 15.156 Categoria: Linux Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar

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


Acelerando o apt-get ou similares

TCP/IP para sistemas embarcados

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

O comando grep

Duas dicas de SSH

Instalando o GCompris no Kurumin 7

Fedora 4 + Vmware Server

SMTP Relay Gmail ou SMTP Externo no FreeBSD 10

Conheça o OFRIS - o congelador de sistema para o Linux!

Como consegui criar um primeiro robot em NTSL - Nelogica Trend System Language

#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

Entre na sua conta para comentar.