Archivo de script de exportación y actualización USB automatizada

Avanzado

Introducción

A partir de la versión 3.4 del firmware , eGauge admite dispositivos de almacenamiento masivo USB en hardware con puertos USB (p. ej., EG4015 (Core) y EG4030 (Pro)). Son compatibles con los sistemas de archivos VFAT de Windows y EXT3 de Linux. Cuando el dispositivo eGauge detecta un dispositivo de almacenamiento válido, muestra automáticamente el menú de almacenamiento USB en la pantalla LCD. Desde ahí, se pueden seleccionar diversas operaciones, como:

  • Creación de una copia de seguridad de todos los datos de eGauge
  • Exportar datos a un archivo CSV (valores separados por comas).
  • Actualizando el firmware del dispositivo.
  • Expulsar (desmontar) el dispositivo de almacenamiento para poder quitarlo de forma segura.

Para mayor flexibilidad y simplificar las operaciones cuando es necesario realizar la misma tarea de almacenamiento USB en varios dispositivos, el firmware también admite un archivo de script llamado auto.run. Cuando este archivo se encuentra en el directorio raíz del dispositivo de almacenamiento USB, se ejecuta en cuanto el firmware lo detecta. Los detalles de cómo se ejecuta este archivo se detallan a continuación.

Comandos de script

En las siguientes descripciones, se utilizan corchetes para indicar partes opcionales de un comando. La cursiva se utiliza como marcador de posición para el contenido variable.

backup [FILENAME_TEMPLATE]

Realice una copia de seguridad de los datos del dispositivo eGauge en el archivo especificado por FILENAME_TEMPLATE. Esta cadena puede contener referencias a variables que se expanden de la siguiente manera:

Referencia variable

Se extiende a

Ejemplo

${NOMBREDEV}

Nombre del dispositivo eGauge

Medidor electrónico1234

${SN}

Número de serie de eGauge

1701260002

${TIEMPO}

fecha y hora actuales

20180411-1310

Si se omite FILENAME_TEMPLATE, la plantilla:

backup-${DEVNAME}-${TIME}.bin

Se utiliza por defecto.


Exporte los datos del dispositivo eGauge al archivo especificado en FILENAME_TEMPLATE. Los datos se guardan en formato CSV (valores separados por comas).

export [PERIOD [GRAN [FILENAME_TEMPLATE]]]

La plantilla de nombre de archivo puede usar las mismas variables que el comando de copia de seguridad. Además, se admiten las siguientes variables:

Referencia variable

Se expande a

Ejemplo

${PERIODO}

período de tiempo de exportación

el último año

${GRAN}

granularidad de exportación

hora

PERIOD especifica el período de tiempo de los datos que se exportarán:

Periodo especificado

Rango de tiempo cubierto

día

Se exportan las últimas 24 horas de datos.

mes

Se exportan los datos de los últimos 31 días.

año

Se exportan los datos de los últimos 366 días.

todo

Se exportan todos los datos.

dtd

día a día: exportar datos desde la medianoche hasta la hora actual

mtd

mes hasta la fecha: exportar datos desde el inicio del mes hasta el momento actual

el último año

Año hasta la fecha: exportar datos desde el inicio del año hasta el momento actual

GRAN especifica la granularidad (resolución) con la que se exportan los datos:

Granularidad especificada

Resolución

segundo

Segunda resolución (o la mejor disponible)

mín.

Resolución de minutos (o la mejor disponible)

cuarto

Resolución de 15 minutos (o la mejor disponible)

hora

Resolución horaria (o la mejor disponible)

día

Resolución del día

Tenga en cuenta que la base de datos del dispositivo eGauge utiliza internamente una granularidad variable para equilibrar los requisitos de almacenamiento con la capacidad de conservar datos durante largos periodos. En concreto, los datos segundo a segundo se suelen conservar solo para la hora más reciente, y luego se reducen a la granularidad de minutos, hasta que finalmente se dispone de datos diarios durante el periodo más largo (por ejemplo, 60 años). La granularidad especificada en el comando de exportación es la resolución más precisa que se utilizará durante la exportación. Si la base de datos no tiene los datos disponibles en la resolución deseada, se exportará automáticamente a la mejor resolución disponible.

También cabe mencionar que los datos de granularidad diaria se capturan todos los días a la medianoche UTC. La fecha y la hora exportadas en el archivo CSV se convierten a la zona horaria del dispositivo, lo que significa que la hora que se muestra en los datos exportados puede ser una u otra, dependiendo de si el horario de verano está vigente o no. Por ejemplo, en la zona horaria de EE. UU./Montaña, los datos de granularidad diaria se capturan a las 18:00 h durante los meses de verano y a las 17:00 h durante los meses de invierno.


Actualice el firmware del dispositivo usando el archivo especificado en PATH. Si se omite PATH, se usará el archivo fw.bin.

update_fw [[PATH] force]

La actualización solo se realizará si el archivo contiene un firmware más reciente que el instalado. Sin embargo, si se especifica la opción "forzar" después de la ruta del archivo, la actualización se realizará independientemente de la versión instalada en el dispositivo eGauge.

Tras una actualización exitosa, la pantalla LCD indicará que es necesario reiniciar el dispositivo. El operador debe confirmarlo pulsando el botón multiswitch. En ese momento, el dispositivo eGauge se reinicia automáticamente para activar el nuevo firmware.


eject

Este comando expulsa (desmonta) el dispositivo de almacenamiento USB y detiene la ejecución del script. Una vez finalizado el comando, la pantalla LCD vuelve a su funcionamiento normal y es seguro retirar el dispositivo de almacenamiento USB del puerto USB.


Ejemplo de script

En el siguiente ejemplo, supongamos que el nombre del dispositivo es "eGauge1234" y que todos los comandos se ejecutan el 1 de abril de 2018 a las 13:14 (13:14).

# This is a comment.  It has no effect on execution.

# OK, let's do a backup first:
backup # will be saved in "backup-eGauge1234-20180401-1314.bin"

# Export data to "data-eGauge1234-ytd-hour.csv":
export ytd hour data-${DEVNAME}-${PERIOD}-${GRAN}.csv

# Eject USB storage and return eGauge device to normal operation:
eject