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:
- Das Gateway erkennt das Timeout
- Der Timeout-Hook wird ausgeführt
- 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