Zum Hauptinhalt springen

Module Timeout Detection

Dieses Beispiel zeigt, wie ein Gateway reagieren kann, wenn ein gekoppeltes Module offline geht.

Vollständiges Beispiel

#include <ArmorLink.h>

ArmorLinkModule module(
"Gateway",
ArmorLinkModuleType::Generic
);

void setup()
{
Serial.begin(115200);

ArmorLinkOptions options;
options.enableGateway = true;

ArmorLink.begin(module, options);

ArmorLink.setModuleTimeoutHook(
[](const ArmorLinkStoredPairedModule& module,
uint32_t silentMs)
{
Serial.printf(
"%s offline for %lu ms\n",
module.name,
silentMs
);
});
}

void loop()
{
ArmorLink.loop();
}

Was passiert

Wenn ein gekoppeltes Module das konfigurierte Timeout überschreitet:

  1. Das Gateway erkennt das Timeout
  2. Der Timeout-Hook wird ausgeführt
  3. Die Anwendung kann darauf reagieren

Mögliche Reaktionen:

  • Warn-LEDs aktivieren
  • Alarme auslösen
  • Displays aktualisieren
  • Diagnoseinformationen protokollieren
  • Die ArmorLink App benachrichtigen

Verwandte Dokumentation

  • Module Presence
  • Presence API
  • Gateway