Skip to content

API del MCU (variables que se sincronizan solas)

This content is not available in your language yet.

En Transparent v2 no hay “enviar” ni “recibir” a mano. Registras variables con TPT_VAR (ver La librería de Arduino) y la librería las mantiene sincronizadas. Esta API es idéntica en serial y en WiFi.

Reportar a la plataforma: solo edita la variable

Sección titulada «Reportar a la plataforma: solo edita la variable»

Para las variables DEVICE_TO_GATEWAY (d2g) o BIDIRECTIONAL (bi), basta con asignarles un valor en tu código. La librería decide cuándo mandarlo según la cadencia configurada desde el thing (ver más abajo). No llamas a ninguna función de envío:

float temperatura = 0;
void loop() {
tpt.update();
temperatura = analogRead(A0) * 0.0488; // solo actualiza la variable
// La librería la reporta sola, al ritmo que fije el thing con setRate.
}

Recibir de la plataforma: solo lee la variable

Sección titulada «Recibir de la plataforma: solo lee la variable»

Para las variables GATEWAY_TO_DEVICE (g2d) o BIDIRECTIONAL (bi), la librería escribe la variable por ti cuando la plataforma manda un valor nuevo. Tú solo la lees:

bool ledDeseado = false;
int brillo = 0;
void loop() {
tpt.update();
digitalWrite(13, ledDeseado); // aplicado por la plataforma
analogWrite(9, constrain(brillo, 0, 255));
}

No hay available(), channel() ni payload*(): la variable ya tiene el último valor recibido cuando la lees.

La cadencia la controla el thing (no el sketch)

Sección titulada «La cadencia la controla el thing (no el sketch)»

Cuánto y cómo se reportan tus variables d2g/bi lo decide el boardCode con tpt.setRate(...) (ver boardCode):

ModoComportamiento
onChange (por defecto)reporta cuando el valor cambia (con un umbral delta opcional para números)
periodicreporta cada ms aunque no cambie
  • Mientras el thing no configure una cadencia, el valor por defecto es onChange cada 500 ms, con un mínimo de 100 ms.
  • Cambiar la cadencia desde el thing no reinicia la placa ni requiere reflashear.
DeclarasteEn el sketch tú…La librería…
DEVICE_TO_GATEWAYescribes la variablela reporta a la plataforma
GATEWAY_TO_DEVICElees la variablela escribe cuando llega un valor
BIDIRECTIONALescribes y leesreporta tus cambios y aplica los del thing

En BIDIRECTIONAL, si los dos lados cambian el valor casi a la vez, gana el último que llega al gateway. Para evitar el ping-pong, la anti-repetición vive del lado del gateway y solo hacia el MCU: el gateway no le reenvía a la placa un valor idéntico al que la placa acaba de reportar. Esto no silencia a la placa: en modo periodic la placa vuelve a reportar el mismo valor cada ms, y en el thing el onUpdate se dispara por cada frame recibido, incluidos los repetidos.

tpt.every(ms, fn) y tpt.after(ms, fn) sirven para lógica auxiliar de tu sketch (un aviso diferido, una tarea periódica interna), no para reportar variables —de eso se encarga la cadencia. Detalles en La librería de Arduino.

Más ejemplos completos en Ejemplos.