Ir al contenido

Telemetría con gVar

Un thing publica sus datos en variables globales (gVar). Desde el boardCode las escribes con el objeto varG (escalares) y con pushData() (series). Lo que publiques queda disponible en tiempo real para los artefactos.

Un escalar guarda el último valor. Asignas a una propiedad de varG:

varG.temperatura = 23.5; // número
varG.estado = "ok"; // texto
varG.encendido = true; // booleano

Cada vez que reasignas, el valor se propaga a quien observe esa variable.

Una serie es una lista de valores con marca de tiempo, ideal para gráficas e historiales. Se añade con pushData(clave, valor):

pushData("temperaturas", 23.5);

pushData crea la serie si no existe y le añade automáticamente la marca de tiempo de cada punto. Úsalo en vez de manipular el array a mano: así los tiempos quedan siempre alineados.

Leer un sensor y publicar tanto el último valor como su historial:

const sensor = new five.Sensor("A0");
sensor.on("change", () => {
const grados = sensor.scaleTo(0, 50);
varG.temperatura = grados; // último valor (escalar)
pushData("temperaturas", grados); // historial (serie)
});

El flujo es de ida y vuelta: un artefacto puede escribir una gVar para mandar una orden, y tu thing reacciona. Basta con leer varG o actuar cuando cambie:

const led = new five.Led(13);
// Un artefacto escribe varG.encender = true / false
setInterval(() => {
if (varG.encender) led.on();
else led.off();
}, 100);

La lectura y el control desde el lado web se cubren en la sección de artefactos.