Um datalogger é um equipamento eletrônico projetado para coletar, armazenar e, em muitos casos, transmitir dados de sensores de forma contínua e autônoma, sendo amplamente usado em pesquisas ambientais, industriais e científicas. Apresentam a função de aquisição de dados em campo, por isso devem oferecer robustez para operar em ambientes adversos e podem ser programados em linguagens próprias (como CRBasic) para configurar medições e cálculos. Assim, são fabricados por empresas especializadas, como Onset HOBO, National Instruments, DataTaker, MadgeTech e Campbell Scientific.

A imagem acima mostra alguns modelos descontinuados (mas ainda ativos em muitos lugares do mundo) da Campbell Scientific:
- CR200 Series – mais simples e barato, tecnologia dos anos 1990–2000.
- CR23X – perfil intermediário, portátil, tecnologia dos anos 1990–2000.
- CR3000 – poderoso, para sistemas complexos com muitos sensores, mais moderno.
- CR1000X – topo de linha, versátil e robusto, usado em aplicações críticas, última geração antes da transição para CR1000Xe.
A ponte entre os equipamentos de campo e o computador do usuário é feita pelo LoggerNet, o software de aquisição e gerenciamento de dados desenvolvido pela Campbell Scientific para operar em conjunto com seus dataloggers. Ele permite configurar programas de coleta, transferir dados, monitorar em tempo real e armazenar informações em diferentes formatos. Além disso, oferece ferramentas para agendamento de downloads automáticos, visualização gráfica dos dados e integração com outros sistemas de análise.
Em geral, cada fabricante tem seus próprios formatos binários ou protocolos, mas quase todos oferecem exportação em CSV ou TXT para garantir compatibilidade com softwares externos. Os dataloggers da Campbell Scientific podem gerar diferentes formatos de arquivos de saída, que evoluíram ao longo das gerações de equipamentos. Os principais são:
- FSL (Final Storage Label file): Formato mais antigo, binário e baseado em memória final (Final Storage), usado em dataloggers das gerações CR10/CR23X. Pouco amigável para leitura direta, sendo necessário software da Campbell para conversão.
- TOA5 (Table Output ASCII version 5): O formato mais usado atualmente. É um arquivo de texto ASCII estruturado delimitado por vírgulas (similar a CSV), contendo cabeçalho com metadados (nome da tabela, variáveis, unidades, etc.) e os dados em linhas. É fácil de importar em softwares como Excel, R, Python e bancos de dados.
- TOB1 (Table Output Binary 1): Versão binária do TOA5, mais compacta e eficiente para transmissão e armazenamento, mas exige software da Campbell (LoggerNet, PC200W) para leitura. Tem suas evoluções (TOB2 e TOB3).
- TOACI1 (Table Output ASCII 1): Um dos primeiros formatos ASCII estruturados da Campbell. É semelhante ao TOA5, mas menos padronizado e com cabeçalho mais simples. Hoje é considerado legado.
- CSV (Comma-Separated Values): Alguns modelos mais recentes permitem exportar diretamente em CSV, sem cabeçalho estendido, para facilitar integração com sistemas simples.
- XML (eXtensible Markup Language): Em certos casos, pode ser usado para integração com sistemas que exigem dados estruturados.
Quanto mais novo o datalogger, maior a ênfase no formato TOA5. Os modelos antigos usavam FSl ou outros formatos binários, mas a Campbell migrou para TOA5 justamente para facilitar a interoperabilidade e reduzir dependência de software proprietário. TOA5 e TOB1 são formatos criados pela Campbell Scientific para padronizar a saída dos seus dataloggers – outros fabricantes não usam esses formatos nativamente. CSV e XML, por serem padrões abertos, são amplamente utilizados por diversos fabricantes de dataloggers.
O usuário pode definir quais variáveis entram na tabela, seus nomes e unidades, de acordo com o programa CRBasic carregado no datalogger.
Formato FSL
O datalogger armazena os dados em blocos binários compactos para economizar memória. O arquivo FSL é gerado automaticamente quando o programa CRBasic (ou Edlog, nos modelos antigos) é compilado e carregado no datalogger. Ele define:
- Quais variáveis estão sendo armazenadas.
- Em que ordem aparecem.
- Com que frequência são registradas.
- Qual estatística foi aplicada (ex.: média, máximo, amostra).
- Formato de resolução (Low ou High).
Esse arquivo serve como uma espécie de mapa de metadados que descreve como os dados foram organizados e armazenados na memória do datalogger. Essas estruturas de armazenamento são intervalos de coleta, tabelas de saída, variáveis registradas, tipo de estatística aplicada (AVG, STD, MIN, MAX, etc.). Veja esse exemplo de arquivo FSL:
- 117 Output_Table 1.00 Min
- 1 Year L
- 2 Day L
- 3 Min L
- 4 Temp_sfc L
- 5 Humid L
- 6 Press H
Os dados binários (hexadecimal fictício) seria:
07E9 0165 048A 421C 3F99 43A2
Veja a interpretação:
| Posição | Campo | Tipo | Hex | Interpretação |
|---|---|---|---|---|
| 1 | Year | L | 07E9 | 2025 |
| 2 | Day | L | 0165 | 357 (dia juliano) |
| 3 | Min | L | 048A | 1162 (minuto do dia) |
| 4 | Temp_sfc | L | 421C | 33.75 °C |
| 5 | Humid | L | 3F99 | 1.2 % |
| 6 | Press | H | 43A2 | 957.3 mb |
Os valores binários são convertidos conforme o tipo (Low ou High resolution), que define o número de bytes e o fator de escala. Esses dados podem ser exportado em CSV ASCII bruto conforme esse outro exemplo a seguir (sem cabeçalho/header):
110,2022,305,557,73.4,.276,74,73.1,76.3,.381,77,75.7,148.9,.821,150.3,147.5,7.32,.041,7.38,7.26,19.34,96.2,896.39,0,.094,196.1,.078,.156,.881,.207,1.125,.675,383.6,.152,384,383.2,18.85,18.37,17.99,18.89,18.89,-28.34,.074,-28.25,-28.4
110,2022,305,558,74.8,.49,75.6,74.2,77.7,.469,78.5,77,151.9,.949,153.4,150.3,7.47,.047,7.55,7.38,19.15,96.3,896.39,0,.198,196,.073,.16,.683,.04,.9,.675,383.6,.168,384.1,383.1,18.81,18.47,17.95,18.91,18.91,-28.6,.126,-28.4,-28.7
210,2022,305,560,1610,0,0,.001,-75,.259,322.5,6.731,.163,18.67
As colunas são os valores das variáveis na ordem definida pelo FSL, exceto a primeira coluna, que é o código da tabela de saída. Cada número identifica uma tabela definida no programa Edlog/CRBasic, como por exemplo:
- 110 – tabela de 1 minuto (médias rápidas).
- 210 – tabela de 10 minutos.
- 310 – tabela de 1 hora.
- 410 – tabela diária.
Assim, o usuário escreve o programa no EdLog, que gera um arquivo de texto chamado CSI (editável e legível, contendo as instruções). Esse arquivo é então compilado pelo próprio EdLog, resultando no DLD, que é a versão binária do programa e a única que o datalogger consegue executar. Ou seja, o CSI é o código-fonte, e o DLD é o executável. Já o FSL entra em outra etapa: ele define como os dados coletados pelo datalogger serão organizados e exportados, funcionando como uma lista de formatos de saída. Assim, o CSI é usado para criar o programa, o DLD é o que roda no equipamento, e o FSL organiza a forma como os dados são disponibilizados ao usuário.
Um script para leitura desse tipo de dados pode ser visto aqui: Script para leitura de dados de data logger.
Formato TOA5
As primeiras linhas trazem metadados: nome da tabela, número de colunas, unidades, tipos de dados, etc. A partir da 5ª linha geralmente aparecem os nomes das colunas. Cada linha subsequente contém os valores medidos, com o timestamp e o número do registro. Veja esse exemplo:
"TOA5","CR3000","CR3000","A4524825077.007","CR3000.Std.32.03","CPU:SMS-CR3000-2024-10-16.cr3","57263","SMS_MD"
"TIMESTAMP","RECORD","Id","Year","Jday","Min","tp_sfc","humid","press","rain","ws10_avg","wd10_avg","wd10_std","ws10_std","ws10_min","ws10_max","wd10_min","wd10_max"
"TS","RN","","unitless","unitless","unitless","°C","%","mb","mm","m/s","Deg","Deg","m/s","m/s","m/s","deg","deg"
"","","Smp","Smp","Smp","Smp","Avg","Avg","Avg","Tot","WVc","WVc","WVc","Std","Min","Max","Min","Max"
"2025-12-18 19:20:00",1193,508,2025,352,1160,33.68232,1.989403,957.3517,0,"NAN",0,0,"NAN","NAN","NAN","NAN","NAN"
Esse cabeçalho mostra como o TOA5 organiza metadados (primeira linha), nomes das variáveis (segunda linha), unidades (terceira linha), estatísticas aplicadas (quarta linha) e finalmente os dados (quinta linha em diante). Veja mais detalhes dessas informações conforme o exemplo dado:
- TOA5 – Formato de saída ASCII da Campbell Scientific.
- SMS – Identificação da estação.
- CR3000 – Modelo do datalogger utilizado.
- A4524825077.007 – Número de série ou identificador único do datalogger.
- CR3000.Std.32.03 – Versão do sistema operacional/firmware do datalogger.
- CPU:SMS-CR3000-2024-10-16.cr3 – Programa carregado na CPU (arquivo CRBasic).
- 57263 – Número de amostras ou registros já armazenados.
- SMS_MD – Nome da tabela de dados definida no programa.
- TIMESTAMP – Data e hora da medição.
- RECORD – Número sequencial do registro.
- Id – Identificador do sensor ou estação.
- Year – Ano da medição.
- Jday – Dia juliano (1–365/366).
- Min – Minuto do dia (contagem acumulada).
- tp_sfc – Temperatura da superfície (°C).
- humid – Umidade relativa (%).
- press – Pressão atmosférica (mb).
- rain – Precipitação acumulada (mm).
- ws10_avg – Velocidade média do vento a 10 m (m/s).
- wd10_avg – Direção média do vento a 10 m (graus).
- wd10_std – Desvio padrão da direção do vento (graus).
- ws10_std – Desvio padrão da velocidade do vento (m/s).
- ws10_min – Velocidade mínima do vento (m/s).
- ws10_max – Velocidade máxima do vento (m/s).
- wd10_min – Direção mínima do vento (graus).
- wd10_max – Direção máxima do vento (graus).
Sobre as estatísticas aplicadas, eis o que cada uma significa:
- Smp (Sample): valor direto da amostra, sem processamento. É o dado bruto coletado naquele instante.
- Avg (Average): média aritmética das amostras dentro do intervalo definido (ex.: média da temperatura a cada 10 minutos).
- Tot (Total): soma dos valores no período (ex.: precipitação acumulada em mm).
- WVc (Wind Vector Components): cálculo vetorial aplicado a variáveis de vento (velocidade/direção), levando em conta componentes u/v para obter médias mais representativas.
- Std (Standard Deviation): desvio padrão das amostras, indicando a variabilidade dos dados.
- Min (Minimum): menor valor observado no intervalo.
- Max (Maximum): maior valor observado no intervalo.




