A comunicação serial é um método de transmitir dados um bit por vez, sequencialmente, utilizando um canal de comunicação ou barramento. É amplamente utilizada em sistemas de controle e automação, assim como em dispositivos de medição e sensores.
Em muitos casos, é necessário salvar os dados recebidos através da comunicação serial em um arquivo para posterior análise ou processamento. O formato de arquivo CSV (Comma Separated Values, ou Valores Separados por Vírgulas) é um formato de arquivo simples que armazena dados tabulares em linhas e colunas. É compatível com muitos aplicativos de planilhas e é fácil de ler e escrever em Python.
Nesse artigo é apresentado de uma forma simples como você pode fazer uma aplicação em Python para leitura de dados da serial e armazenamento dos dados em um arquivo csv.
Leitura de dados da Serial e armazenamento em csv usando Python
Para ler dados da comunicação serial e salvar em um arquivo CSV usando Python, é necessário usar o módulo serial para estabelecer uma conexão com a porta serial e o módulo csv para escrever os dados em um arquivo. A seguir sao apresentados os passos para criar o script python para essa aplicação
Desenvolvendo a aplicação
Para ler dados da comunicação serial e salvar em um arquivo CSV usando Python, você pode seguir os seguintes passos:
- Importe a biblioteca serial para estabelecer a conexão com a serial e a biblioteca csv para escrever os dados em um arquivo CSV.
import serial
import csv
Abra a conexão com a serial usando o método Serial() da biblioteca serial, especificando o nome do dispositivo serial e a taxa de transmissão.
ser = serial.Serial('/dev/ttyUSB0', 115200)- Abra o arquivo CSV para escrita usando o método open() da biblioteca csv, especificando o nome do arquivo e o modo de escrita.
arquivo = open('dados.csv', 'w')- Crie um objeto de escritor CSV usando o método writer() da biblioteca csv, passando o objeto de arquivo aberto como argumento.
escritor = csv.writer(arquivo)- Leia os dados da serial enquanto estiverem disponíveis usando o método read() da biblioteca serial. Para isso, você pode usar um laço while que verifique se há dados disponíveis usando o método inWaiting() da biblioteca serial.
while ser.inWaiting() > 0:
linha = ser.readline()
- Escreva os dados lidos em uma linha do arquivo CSV usando o método writerow() do objeto de escritor CSV criado anteriormente.
escritor.writerow(linha)- Feche a conexão com a serial e o arquivo CSV quando todos os dados forem lidos e escritos.
ser.close()
arquivo.close()O código completo para ler dados da serial e salvar em um arquivo CSV usando Python pode ser o seguinte:
import serial
import csv
ser = serial.Serial('/dev/ttyUSB0', 115200)
arquivo = open('dados.csv', 'w')
escritor = csv.writer(arquivo)
while ser.inWaiting() > 0:
linha = ser.readline()
escritor.writerow(linha)
ser.close()
arquivo.close()
Observe que esses passos fornecem apenas uma estrutura básica para ler e escrever dados da comunicação serial em um arquivo CSV. Você pode precisar tratar os dados conforme as suas necessidades específicas e pode precisar adicionar outras funcionalidades, como tratamento de exceções ou manipulação de dados antes de escrevê-los no arquivo.
Confira o video abaixo onde é apresentado na prática essa aplicação:
Saiba Mais
Qt5 para comunicação serial – Aplicação









