Guardar archivo VBO

Buenas, tengo una duda: quisiera saber si arduino u ESP32 pueden guardar archivos con formato .VBO. Probé guardar en .txt y .csv y no tengo problema. Según lo que investigué .vbo es un tipo de archivo estandarizado, acá está explicado: Archivo VBO

Otra idea que se me ocurrió es guardar como csv y convertir (todavía no sé cómo), a formato vbo. Según lo que leí acá: Editar VBO sería posible editar, guardar en formato txt y convertirlo a vbo, pero probé eso y no me funcionó.

Si alguno por casualidad sabe cómo hacer eso le agradecería muchísimo,

Desde ya muchas gracias,

Agustín

Guardar donde?
Arduino no tiene donde guardar, pero el ESP32 si.
Asi que reitero la pregunta, guardar donde?
Si fuera en una SD supongo que no harías la pregunta.
Si se trata del ESP32 en su flash SPIFF hay que probarlo pero no veo el problema.

1 Like

Pero el formato VBO es de texto puro.
¿Cuál es el problema? ¿De qué conversión hablas?
Es lo mismo que guardar un JSON, XML o cualquier otro por el estilo.
Simplemente tienes que respetar el formato definido, no es más que eso.

Saludos

Buenas Surbyte, sería guardar en una SD sí. El problema no es el guardado, sino el formato del archivo, el puedo guardar en una SD en .csv y .txt, pero no sé como guardar en .vbo.

Buenas gatul, sé que es de texto puro, pero el archivo que obtengo al guardar en una SD es .txt, no .vbo. Si no es .vbo, el programa que necesito que abra el archivo no lo reconoce.

Tienes una tarea medianamente complicada de acuerdo a tus habilidades.
El link en el que describes que es VBO es suficientemente claro, y al hacerlo en formato texto, no hay problema en que tu guardes los datos ya en formato vbo.
Lo primero que yo haría sería tomar un archivo .vbo con sensores o cosas parecidas y luego intentar hacer lo mismo con Arduino.
Paso a paso, vas creando las cabeceras, los datos, la información, es fácil te diré, pero si quieres saltar de la nada a algo hecho por lo que he visto no podras porque no hay nada, teniendo en cuenta que dice para que sirve RaceLogic

RACELOGIC design and manufacture electronic systems to measure, record, display, analyse and simulate data from moving vehicles.

Es justamente la razón por la que cosas como estas permanecen en un circuito no tan open source. Me puedo equivocar.
El camino que yo seguiria seria ir paso a paso y resolviéndolo.
Es muy facil crear cosas en una SD. ya lo verás.
Comienza con los ejemplos disponibles, compréndelos bien y luego avanza con tu problema.

Perfecto, voy a ir probando e ir viendo. Muchas gracias!

Si quieres ayuda, comparte un archivo similar a imitar y seguramente podremos ir colaborando.

No, el archivo tendrá la extensión que tu determines, si guardas "archivo.txt" será .txt pero si guardas "archivo.vbo" será .vbo

Lo de la creación del archivo es entender cómo estructurar los datos para que cumpla el formato.

Te pongo un ejemplo de algo similar, no es VBO, claramente y tampoco tiene mucha utilidad, solo es un ejemplo

Suponte que tienes que almacenar el valor de un sensor en un archivo tipo INI de Windows que tiene encabezados de secciones y en cada seccion los valores correspondientes (además admite comentarios)

El archivo contendría algo así:

[SENSOR]
Valor = 3.57

Tienes que generar el archivo, suponte "sensor.ini", y luego "meter" dentro los datos.
Primero guardarás algo así
"[SENSOR]\n\rValor = "
porque es un texto predefinido, luego va la conversión de la variable que contiene el valor a texto, la guardas y listo.

¡El chiste es hacer lo contrario!
O sea, leer el .ini (en tu caso el VBO), ese es el verdadero desafío.

Saludos

Aclaración: Cualdo digo "si guardas "archivo.vbo" será .vbo" me refiero al nombre del archivo no al contenido, obviamente el contenido será texto sin formato.

Tienes mucha herramientas para leer, verificar, editar.
http://www.vboxtools.com/
Lo que no encuentro es un archivo como para tomar de modelo.
Acá tienes como un procesador de VOBX files

Perdon por la demora, estuve a full con el trabajo y no tuve mucho tiempo para dedicar.

Entiendo perfecto, voy a intentar eso. Guardarlo así, y probar a ver si hago coincidir el formato.

Hola Surbyte, perdón por la demora, estuve complicado con el trabajo y no tuve mucho tiempo para dedicar.

Acá te dejo un .rar con archivos .vbo reales. ejemplos-circuittools.zip (572.9 KB)

Veo archivos de texto con muchos encabezamientos pero son fáciles de hacer aunque tediosos.

Perfecto, si son posibles de hacer lo voy a intentar, y ver si puedo lograr algo similar. Muchas gracias!

Crea un archivo con esta entrada

File created on 14/06/2019 @ 18:04:58

[header]
satellites
time
latitude
longitude
velocity kmh
heading
height
Lat. accel
Long. accel
Vert. accel
Gyro X
Gyro Y
Gyro Z

[channel units]
g
g
g
deg/s
deg/s
deg/s

[comments]
ONYX
(c) SPILBA
Serial number : 0009
Rate: 10.00 Max: 10.00

[column names]
sats time lat long velocity kmh heading height Lat. accel Long. accel Vert. accel Gyro x Gyro y Gyro z

Y luego lo llenas con datos

No es por "mandarme la parte" pero he hecho "programitas" para editar y/o crear archivos .ini de Windows, .html (paginas web), .gpx (con datos de GPS) y hasta Tags de archivos de música (formato ID3).
Por ej., de estos últimos la v3.1 es relativamente fácil porque es texto puro que se "pega" al final del archivo, solo hay que respetar el formato, el orden de los campos, su longitud (que es fija) y la longitud total del tag (127 caracteres) y con un simple "append" lo agregas.
Pero la v3.2.3 ya es mucho más complicada porque va al principio del archivo, el formato es más complicado porque hay que agregar la longitud del tag en total y de cada campo en particular (la longitud no es fija como en v3.1), las etiquetas de cada campo, etc.
Complicado, sí, pero se puede.
Solo respeta lo que define la norma y vas a "llegar a buen puerto".

Como te dije antes, lo realmente complicado es hacer el "parser" que luego extraiga los datos del archivo.

Te lo dice alguien que anda trasteando con estas cosas hace mucho y en épocas que no había herramientas ni documentación como ahora, todo era un misterio y conseguir los datos de formato de un simplísimo archivo .ini era casi imposible porque no era público (era de MS y fin de la discusión).

Dale con ganas que te va a salir, no te desanimes.

Saludos

Genial! Muchas gracias Surbyte y gatul, voy a encaminarme por ahí y hacer que salga. Gracias por la paciencia y la información.

Buenas tardes, perdón la demora, hace poco pude volver a retomar este proyecto. Logré crear un archivo y guardarlo en una SD con el encabezado que quería y en el formato que quería. Gracias por su ayuda en eso. Este es el código hasta ahora:

#include <SD.h>

File myFile;

void setup()
{
  Serial.begin(9600);
  Serial.print("Iniciando SD ...");
  if (!SD.begin(53)) {
    Serial.println("No se pudo inicializar");
    return;
  }
  Serial.println("inicializacion exitosa");
  myFile = SD.open("datalog.vbo", FILE_WRITE);//abrimos  el archivo
  if (myFile){     
  
  myFile.println("File created on 14/06/2019 @ 18:47");
  myFile.println("");
  myFile.println("");
  myFile.println("[header]");
  myFile.println("satellites");
  myFile.println("time");
  myFile.println("latitude");
  myFile.println("longitude");
  myFile.println("velocity kmh");
  myFile.println("heading");
  myFile.println("height");
  myFile.println("");
  myFile.println("");
  myFile.println("[channel units]");
  myFile.println("");
  myFile.println("");
  myFile.println("[comments]");
  myFile.println("LapTimer V01.0 Date 26/04/2022");
  myFile.println("");
  myFile.println("");
  myFile.println("[column names]");
  myFile.println("sats");
  myFile.println("time");
  myFile.println("lat");
  myFile.println("long");
  myFile.println("velocity");
  myFile.println("heading");
  myFile.println("height");
  myFile.println("");
  myFile.println("");
  myFile.println("[data]");


 Serial.print("Archivos copiados");

}
 myFile.close();
}

void loop() {



}

Hasta ahí perfecto, lo que ahora quiero hacer, y no encuentro muchas soluciones es que el nombre del archivo cambie de acuerdo a la fecha y hora. Por ej, que cuando se prenda el dispositivo el día 26/4/2022 a las 14:16, guarde un archivo con nombre 2642022.1416 (es un ejemplo, no tiene que ser estrictamente así). La fecha y hora puedo sacarla de un reloj RTC o del GPS que voy a integrar.

Si podrían orientarme, agradecería muchísimo

Si la fecha y hora la extraes de los datos del GPS ya los tienes como texto, concatenas y listo.
Si los tomas de un RTC, lo mas práctico es usar sprintf() para dar formato al texto.

Saludos

Hola gatul, si, obtener la fecha y la hora no sería el inconveniente. Mi inconveniente es que esos datos sean el nombre del archivo a guardar. Disculpas si no me hice entender.