Conhecendo o SerialPlot

serialplot

Neste artigo veremos como usar o SerialPlot e através dele plotar gráficos com os dados vindos pela porta serial.

Quantas vezes não nos deparamos com a necessidade de visualizar os dados aquisitados por um microcontrolador. Em muitos casos é usado um terminal serial conhecido para visualizar os dados aquisitados, porém os dados chegam até nós de uma forma bruta e fica difícil acompanhar a mudança do sinal ao longo do tempo. Algumas ferramentas ainda nos dão a possibilidade de gravar os dados na forma de log, como é o caso do moserial (terminal serial para Linux).

Ferramenta moserial.
Ferramenta moserial.

Após receber e salvar os dados, acabamos os importando e os plotando usando uma ferramenta Excel, planilha Google, etc. Resumindo, não conseguimos aquisitar, plotar e visualizar a mudança de sinal em tempo real. É neste momento que entra o SerialPlot!

O SerialPlot é um projeto open source implementado em C++, criado em Qt, que pode ser instalado tanto no Windows quanto numa distribuição Linux. O SerialPlot aceita três tipos diferentes de entrada de dados:

  • Fluxo binário simples, suporta formatos numéricos diferentes (unsigned / signed – 8/16/32 bits e float);
  • Dados ASCII no formato CSV;
  • Formato de quadro personalizado definido pelo usuário.

Ele ainda permite enviar mensagens e gravar os dados aquisitados. Mensagens recebidas fora do formato esperado pelo SerialPlot  são exibidas na aba de log.

Instalação no Windows

https://bitbucket.org/hyOzd/serialplot/downloads/

Instalação no Ubuntu/Linux

Montagem dos Frames no SerialPlot

O formato ASCII é o mais simples de ser usado. A separação dos dados se dá pelo caractere “vírgula” e o caracter ‘\n’ indica o final do frame de dados enviados.

A rotina abaixo mostra como o frame de dados deve ser montado.

Frame enviado:

Dado 1

Separador

Dado 2

Fim de frame

0

.

3

5

,

4

.

7

2

‘\n’

É importante a presença do caractere ‘\n’ no final do frame.

Configurando o SerialPlot

Na aba “Port” é feita toda a configuração da comunicação serial.

Configuração da porta serial no SerialPlot.
Configuração da porta serial.

Na aba “Data Format” indicaremos quantos dados diferentes nosso frame contém e o formato que o dado está sendo enviado. Neste exemplo estamos usando o formato ASCII e estamos enviando 2 dados diferentes. A ferramenta SerialPlot consegue plotar até 32 dados diferentes. No formato ASCII não é preciso se preocupar com o formato no qual os dados estão sendo enviados (float, uint32, uint16, etc), somente tenha certeza que o caractere vírgula está sendo usado para separar os dados. Existe a possibilidade de você usar os formatos “Simple Binary” e “Custom Frame”, mas estes são utilizados para casos muito específicos onde você quer receber dados pelo número de bytes da variável ou até mesmo aplicar um filtro para as mensagens que o SerialPlot deve plotar.

Configuração de Formato no SerialPlot.
Configuração de Formato.

Na apa “Plot” podemos customizar algumas coisas, como cor e a legenda do sinal.

Aba para configuração do número de amostras, legendas e cores.
Aba para configuração do número de amostras, legendas e cores.

Na aba “Record” é possível salvar dados.

Aba de configuração para salvar os dados.
Aba de configuração para salvar os dados.

Há ainda uma aba para enviar dados pela serial ao dispositivo (o uso do caractere ‘\n’ neste caso vai depender da sua aplicação).

Aba de envio de comandos para o dispositivo.
Aba de envio de comandos para o dispositivo.

Resultado Final

Resultado de aquisição de dados com o SerialPlot.
Resultado de aquisição de dados com o SerialPlot.

Saiba mais

Usando a porta serial em Node.js

Comunicação Serial com Intel 8051

Software serial: Como fazer?

Conclusão

Neste artigo apresentamos o programa open source SerialPlot e mostramos o necessário para instalar e configurar a ferramenta.

A grande vantagem de usar este software é poder ver e acompanhar a mudança de um sinal em tempo real, aplicar zoom, salvar os dados aquisitados, atribuir legendas e cores diferentes para cada sinal. Caso você queira customizar ou até mesmo contribuir com o desenvolvimento dele, segue abaixo o link com o código fonte.

https://bitbucket.org/hyOzd/serialplot/src

Desvantagens: É preciso lembrar que usar a porta serial do microcontrolador para debug de sinais críticos não é uma prática recomendada, portanto usar esta ferramenta nestes tipos de casos poderá não ilustrar fielmente o comportamento de seu sinal.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

[wpseo_breadcrumb]
Comentários:
Notificações
Notificar
guest
5 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Eder Knoner
Eder Knoner
16/10/2018 14:17

Parabéns, ja cansei de procurar isso ai, inclusive acabei montando uma rotina em matlab para quebrar o galho

Anderson Rodrigo Souza
10/10/2018 07:33

Parabéns Jorge,

Muriel Costa
Membro
09/10/2018 00:03

Muito bom!!! parabéns

André Feliciano
08/10/2018 20:36

Muito bom principalmente pelo numero de configuração. Uma opção rápida é o Serial Monitor da IDE Arduino, mas não tem nenhuma opção de configuração

Ciro Peixoto
Ciro Peixoto
08/10/2018 12:28

Beleza !!! ? ótima informação!!!

Talvez você goste:

Séries

Menu
Privacy Settings saved!
Configurações de Privacidade

Entenda quais dados e informações usamos para ter melhor entrega de conteúdo personalizado para você.

These cookies are necessary for the website to function and cannot be switched off in our systems.

Para usar este site, usamos os seguintes cookies tecnicamente exigidos

  • wordpress_test_cookie
  • wordpress_logged_in_
  • wordpress_sec

Decline all Services
Accept all Services