Após dominar leitura de sensores, controle de hardware e lógica embarcada, o próximo passo natural em qualquer sistema real é a persistência de dados.
Data logging não é opcional em engenharia — é o que permite validação, rastreabilidade e tomada de decisão baseada em histórico.
O que é Data Logging
Data logging é o processo estruturado de:
- Coletar dados de sensores
- Armazenar em formato persistente
- Permitir análise posterior
Aplicações práticas
- Monitoramento térmico contínuo
- Agricultura de precisão
- Automação industrial
- Diagnóstico de equipamentos
Sistema de Arquivos no Pico
O Raspberry Pi Pico permite manipulação direta de arquivos no armazenamento interno.
Escrita básica
file = open("data.txt", "w")
file.write("Hello\n")
file.close()
Leitura básica
file = open("data.txt", "r")
print(file.read())
file.close()
Regra crítica
- Sempre fechar o arquivo (
close) - Sem isso, os dados podem não ser gravados fisicamente
Projeto 1: Data Logger de Temperatura
Sistema completo: aquisição + formatação + persistência.
from machine import ADC
import utime
adc = ADC(0)
conv = 3300 / 65535
file = open("Temp.txt", "w")
file.write("Ambient Temperature\n")
for secs in range(30):
value = adc.read_u16()
mV = value * conv
temp = (mV - 500.0) / 10.0
line = str(secs+1) + " " + str(temp)[:5] + "\n"
file.write(line)
utime.sleep(1)
file.close()
print("Data has been written to file...")
Análise do Comportamento
Estrutura do log
Ambient Temperature
1 25.18
2 25.20
3 25.22
Componentes do sistema
- Entrada: ADC (sensor)
- Processamento: conversão mV → °C
- Saída: arquivo
.txt
Ponto Técnico Crítico
Escrita estruturada
line = str(secs+1) + " " + str(temp)[:5] + "\n"
- Define padrão de armazenamento
- Permite leitura humana e parsing futuro
Projeto 2: Leitura dos Dados
Leitura completa
file = open("Temp.txt", "r")
data = file.read()
print(data)
file.close()
Leitura incremental
file = open("Temp.txt", "r")
for i in range(3):
print(file.readline())
file.close()
Diferença Operacional
| Método | Uso recomendado |
|---|---|
read() | Arquivos pequenos |
readline() | Streams ou arquivos grandes |
Boas Práticas
Controle de integridade
file.close()
Sem isso, o sistema não é confiável.
Padronização de formato
Preferir formatos consistentes:
f"{tempo} {valor}"
Controle de crescimento
- Evitar loops infinitos de escrita
- Monitorar espaço disponível
- Rotacionar arquivos se necessário
Evolução Natural do Sistema
Versão intermediária (CSV)
file.write(f"{secs},{temp}\n")
Permite:
- Importação em Excel
- Processamento em scripts externos
- Integração com pipelines de dados
Versão avançada
- Timestamp real (RTC ou NTP via módulo externo)
- Armazenamento em cartão SD
- Envio para servidor (HTTP/MQTT)
- Integração com dashboards
Arquitetura de Sistema Real
Um sistema embarcado completo segue este fluxo:
Entrada
- Sensores analógicos/digitais
Processamento
- Conversão física
- Lógica de decisão
Saída
- Atuadores
- Indicadores
Persistência
- Logs estruturados
- Histórico de operação
Direcionamento Técnico
Para uso profissional:
- Validar medições com instrumento externo
- Garantir consistência do formato de dados
- Tratar falhas de escrita
- Evitar corrupção de arquivo (writes controlados)
Encerramento
Data logging transforma um projeto simples em um sistema analisável, auditável e evolutivo.
Sem histórico, não há engenharia — apenas comportamento momentâneo.
Com armazenamento estruturado, o sistema passa a gerar valor contínuo.

