Patrones y errores típicos
Patrones y buenas prácticas
Sección titulada «Patrones y buenas prácticas»- Estado actual → escalar; historial → serie. Publica el último valor en un escalar
(
varG.temperatura) y, si quieres graficarlo, también en una serie (pushData("temperaturas", ...)). - Un tipo por variable. No mezcles número y texto en la misma variable: quien la lee asume un tipo.
- Nombres claros y propios. gVar es del proyecto; evita nombres genéricos que choquen con otros.
- No publiques más rápido que la realidad. Como el envío se muestrea cada 500 ms, subir un escalar mil veces por segundo no aporta nada extra; para datos rápidos, acumúlalos en una serie.
Ejemplo completo
Sección titulada «Ejemplo completo»Leer un sensor y publicar el último valor (escalar) y su historial (serie):
const sensor = new five.Sensor("A0");
sensor.on("change", () => { const grados = sensor.scaleTo(0, 50); varG.temperatura = grados; // escalar: el valor actual pushData("temperaturas", grados); // serie: el historial con tiempo});El mismo patrón a bajo nivel con frvn:
board.analogRead(0, (valor) => { varG.lectura = valor; pushData("lecturas", valor);});Errores típicos
Sección titulada «Errores típicos»- Hacer
varG.serie.push(x)a mano → el valor queda sin su marca de tiempo y se desalinea deserie_time. Usa siemprepushData. - Tocar el companion
_time→ lo gestionapushData; no lo escribas. - Esperar que un escalar conserve valores rápidos → solo guarda el último; para no perder nada, usa una serie.
- Empujar una serie sin fin → crece en memoria y, al cargar, solo se ven los últimos 2500 puntos; reinicia o agrega para corridas largas.