Preciso ler os dados da serial do arduino, não só os dados inseridos lá no topo, mas todo o log do serial monitor.

Sei que com Serial.readString()) consigo ler o que é digitado lá em cima, no serial monitor, mas quero ler todo o log, incluindo todos os "Serial.print, Serial.println" e gravar em um txt ou html.

Como fazer ???

Exibições: 317

Responder esta

Respostas a este tópico

Bom dia HRCF, (se não gosta que te chame pelas iniciais, avise),

Acho que não existe ainda um método no pacote da IDE do arduino que leia o que foi impresso no serial monitor.

Mas como o que está sendo impresso foi através de algum método dentro do sketch que está rodando,

vc pode programar para imprimir na serial e imprimir (salvar) em um .txt ou em um SD card ou em um SPIFFS.

Qual plataforma está usando neste projeto (Arduino, ESP8266, ESP32, etc...)

RV

Olá mineirin RV, na verdade uso ESP8266 (ESP12E) com IDE do arduino.

Sei que poderia colocar em cada "Serial.print, ou Serial.println" pra salvar em um txt, mas como meu código possui umas 2000 linhas ficaria bem cansativo.

Minha ideia é enviar o log do serial monitor para uma html (veja a imagem), não pretendo inserir nenhum comando via serial, apenas ler mesmo e enviar para minha html.

Mas já li algo a respeito algum tempo atras, vou continuar tentando.

Muito obrigado.

Boa noite HRCF,

qdo eu quero salvar os dados enviado para o seria monitor, eu uso um sof chamado Hterm.

Ele recebe os dados que iriam para o serial monitor e salvam em um arquivo txt.

RV

Sei que existe uma função pra isso (ou uma maneira mais facil e direta), lembro de ter lido a uns 2 anos .... vou continuar procurando, e encontrando posto aqui. ok. Obrigado mineirin.

Uma vez precisei de algo assim, não era Arduino, mas era microcontrolador em C...

Na época bastou criar um novo chput();

Naquele compilador tudo que ia para a serial passava por essa rotina, bastava fazer uma nova.

Não era preciso vc modificar nada dentro do compilador, apenas escrever uma nova com "override" ou coisa assim que ele substituia a nativa pela que vc criou.

Quem sabe é um caminho.

O ideal seria vc analisar os fontes da biblioteca que contem o Serial.print() e ver como ele faz.

Em 2011 eu trabalhava com Mikrotik, e criei uma maneira de enviar dadds para o servidor baseado no log, 

"Mikrotik inteligente"  

https://youtu.be/9Il4_nZrNPY

Mas lá tinha a função que permitia tratar o log:

foreach int in=[/log find ] do={

$logcontent\".[/log get

Me lembro de ter visto algo parecido pra Arduino, só não sei onde, estou pesquisando, e ao mesmo tempo veificando as bibliotecas pra ver se encontro o caminho.

Sei que tem jeito, é só encontrar o caminho...

continuo tentando.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço