Formato de datos CSV

Descripción general

VBatPower usa un formato CSV universal de 6 columnas diseñado para ser lo bastante simple como para que microcontroladores de 8 bits lo generen. Cada fila representa una única muestra de medición.

id,type,value,unit,nonce,runid

Definiciones de columnas

id

Identificador jerárquico en notación de punto que se corresponde con la estructura de tu proyecto.

  • Nivel 1 (p. ej. 0 ) — nivel de batería
  • Nivel 2 (p. ej. 0.1 ) — nivel de componente
  • Nivel 3 (p. ej. 0.1.2 ) — nivel de estado

type

Un único carácter que indica el tipo de medición:

  • t — temporización de telemetría (duración de ejecución en unidades de tiempo)
  • v — medición de valor (voltaje, corriente, resistencia, etc.)
  • n — medición de tiempo transcurrido (tiempo desde el arranque del MCU, usado para alinear los datos en el eje temporal). Distinto de la nonce columna de más abajo, que es el contador de agrupación.

value

Valor numérico de la medición. Admite enteros y decimales con . como separador decimal.

unit

Unidad de la medición. Valores comunes: ms, V, mV, mA, A, °C.

nonce

Contador de secuencia monótonamente creciente. Cada grupo de mediciones en un instante dado comparte el mismo nonce. El nonce nunca se reinicia dentro de una ejecución y se usa para alinear los puntos de datos en el eje temporal.

runid

Identificador numérico de una ejecución de prueba. Se pueden almacenar varias ejecuciones en el mismo CSV. El ID de ejecución se usa para separar experimentos independientes. Los números más bajos se ejecutaron primero.

Ejemplo completo

Un nodo sensor con una batería, un componente MCU y dos estados (sueño + activo):

id,type,value,unit,nonce,runid
0,v,3.28,V,1,1
0.0.0,t,500,ms,1,1
0.0.0,v,0.01,mA,1,1
0.0.0,n,0,ms,1,1
0.0.1,t,0,ms,1,1
0.0.1,v,0,mA,1,1
0,v,3.27,V,2,1
0.0.0,t,500,ms,2,1
0.0.0,v,0.01,mA,2,1
0.0.0,n,1000,ms,2,1
0.0.1,t,200,ms,2,1
0.0.1,v,80,mA,2,1
0.0.1,n,1000,ms,2,1

En este ejemplo:

  • La batería 0 ( 0,v ) cae de 3.28V a 3.27V
  • Estado 0.0.0 (sueño): t = 500ms de ejecución, v = 0.01mA de corriente, n = tiempo transcurrido desde el arranque
  • Estado 0.0.1 (activo): t = 200ms de ejecución en el nonce 2, v = 80mA de consumo de corriente
  • Todas las mediciones están en la ejecución 1

Decisiones de diseño

  • Sin marcas de tiempo — los sistemas embebidos a menudo carecen de RTC. El enfoque de nonce + tiempo transcurrido permite que los MCU de 8 bits emitan datos con solo un contador simple y millis().
  • runid numérico — una simple comparación de enteros te dice qué ejecución vino primero.
  • CSV plano — sin JSON, sin protocolo binario. Fácil de generar con printf en cualquier MCU.
  • ID en notación de punto — se corresponde directamente con la jerarquía batería/componente/estado de tu proyecto sin tablas de mapeo adicionales.

Importación

En la página de Datos, haz clic en Importar CSV y selecciona tu archivo. El analizador valida todas las filas y muestra una vista previa antes de importar. Las filas no válidas se omiten con advertencias.

También puedes subir datos de forma programática mediante la API REST.