Fichier de script d'exportation et de mise à niveau USB automatisée

Avancé

Introduction

À partir de la version 3.4 du firmware , le firmware eGauge prend en charge les périphériques de stockage de masse USB sur les appareils dotés de ports USB (par exemple, EG4015 (Core) et EG4030 (Pro)). Les systèmes de fichiers Windows VFAT et Linux EXT3 sont tous deux compatibles. Lorsque l'appareil eGauge détecte un périphérique de stockage valide, un menu de stockage USB s'affiche automatiquement sur l'écran LCD. Ce menu permet d'accéder à différentes opérations, telles que :

  • Création d'une sauvegarde de toutes les données eGauge
  • Exportation des données vers un fichier CSV (valeurs séparées par des virgules).
  • Mise à jour du micrologiciel de l'appareil.
  • Éjecter (démonter) le périphérique de stockage afin qu'il puisse être retiré en toute sécurité.

Pour plus de flexibilité et afin de simplifier les opérations lorsqu'il est nécessaire d'effectuer la même tâche de stockage USB sur plusieurs périphériques, le firmware prend également en charge un fichier script nommé auto.run. Si ce fichier est présent à la racine du périphérique de stockage USB, il sera exécuté dès que le firmware détectera ce dernier. Le fonctionnement de ce fichier est détaillé ci-dessous.

Commandes de script

Dans les descriptions suivantes, les crochets indiquent les éléments facultatifs d'une commande. L'italique sert de marqueur pour les éléments variables.

backup [FILENAME_TEMPLATE]

Sauvegardez les données du périphérique eGauge dans le fichier spécifié par FILENAME_TEMPLATE. Cette chaîne peut contenir des références à des variables qui sont développées comme suit :

Référence variable

S'étend à

Exemple

${DEVNAME}

Nom de l'appareil eGauge

eGauge1234

${SN}

numéro de série eGauge

1701260002

${TIME}

date et heure actuelles

20180411-1310

Si FILENAME_TEMPLATE est omis, le modèle :

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

est utilisé par défaut.


Exportez les données du périphérique eGauge vers le fichier spécifié par FILENAME_TEMPLATE. Les données sont enregistrées au format CSV (valeurs séparées par des virgules).

export [PERIOD [GRAN [FILENAME_TEMPLATE]]]

Le modèle de nom de fichier peut utiliser les mêmes variables que la commande de sauvegarde. De plus, les variables suivantes sont prises en charge :

Référence variable

S'étend à

Exemple

${PERIOD}

période d'exportation

cumul à ce jour

${GRAN}

granularité d'exportation

heure

PERIOD spécifie la période des données à exporter :

Période spécifiée

Période couverte

jour

Les données des dernières 24 heures sont exportées.

mois

Les données des 31 derniers jours sont exportées.

année

Les données des 366 derniers jours sont exportées.

tous

Toutes les données sont exportées.

dtd

Données cumulées : exporter les données de minuit jusqu'à l'heure actuelle

mtd

Données cumulées depuis le début du mois : exporter les données du début du mois jusqu’à aujourd’hui

cumul à ce jour

Données cumulées depuis le début de l'année : exporter les données depuis le début de l'année jusqu'à aujourd'hui

GRAN spécifie la granularité (résolution) avec laquelle les données sont exportées :

Granularité spécifiée

Résolution

seconde

Deuxième résolution (ou meilleure disponible)

min

Résolution à la minute (ou meilleure disponible)

quart

Résolution de 15 minutes (ou meilleure disponible)

heure

Résolution horaire (ou meilleure disponible)

jour

Résolution du jour

Notez que la base de données des appareils eGauge utilise en interne une granularité variable afin d'optimiser le stockage et la conservation des données sur de longues périodes. Concrètement, les données seconde par seconde sont généralement conservées uniquement pour la dernière heure, puis la granularité passe à la minute, jusqu'à ce que les données journalières soient disponibles pour la période la plus longue (par exemple, 60 ans). La granularité spécifiée dans la commande d'exportation correspond à la résolution la plus fine utilisée lors de l'exportation. Si la base de données ne contient pas les données à la résolution souhaitée, elles seront automatiquement exportées à la meilleure résolution disponible.

Il convient également de noter que les données journalières sont enregistrées chaque jour à minuit UTC. La date et l'heure exportées dans le fichier CSV sont converties au fuseau horaire de l'appareil. Par conséquent, l'heure affichée dans les données exportées peut varier selon que l'heure d'été ou l'heure d'hiver est en vigueur. Par exemple, dans le fuseau horaire des Rocheuses (États-Unis), les données journalières sont enregistrées à 18 h (18:00) pendant l'été et à 17 h (17:00) pendant l'hiver.


Mettez à jour le micrologiciel du périphérique à l'aide du fichier spécifié par la variable d'environnement PATH. Si PATH est omis, le fichier fw.bin sera utilisé.

update_fw [[PATH] force]

La mise à jour ne sera effectuée que si le fichier contient un micrologiciel plus récent que celui actuellement installé. Cependant, si l'option « force » est spécifiée après le chemin d'accès au fichier, la mise à jour sera effectuée quelle que soit la version actuellement installée sur l'appareil eGauge.

Après une mise à jour réussie, l'écran LCD indiquera que l'appareil doit être redémarré. L'opérateur devra confirmer cette opération en appuyant sur le bouton multifonctions ; l'appareil eGauge redémarrera alors automatiquement pour activer le nouveau micrologiciel.


eject

Cette commande éjecte (démonte) le périphérique de stockage USB et interrompt l'exécution du script. Une fois la commande terminée, l'écran LCD retrouve son fonctionnement normal et vous pouvez alors retirer le périphérique de stockage USB du port USB en toute sécurité.


Exemple de script

Dans l'exemple suivant, supposons que le nom du périphérique soit « eGauge1234 » et que toutes les commandes soient exécutées le 1er avril 2018 à 13h14.

# 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