Data una rete mesh ZigBee con diversi nodi al suo interno. Esistono collegamenti stabiliti tra ciascun nodo tramite i nodi del router.
Se il Nodo A vuole inviare un messaggio al Nodo Z per la prima volta, il Nodo A deve eseguire un Rilevamento rotte per determinare quali nodi intermedi inoltreranno il suo messaggio.
Il meccanismo di individuazione del percorso è descritto qui . In base ad esso, il percorso con il costo più basso verrà archiviato in una tabella di routing dei nodi.
Finora tutto bene, ogni nodo sa cosa fare, possono raggiungersi.
Ora, un nodo intermedio, tra il nodo A e il nodo B si rompe, quindi il percorso attualmente memorizzato diventa inutilizzabile.
Cosa succede in questo caso? Immagino che quando il Nodo A vuole inviare un messaggio, viaggerà fino al collegamento interrotto dove rimarrà bloccato. L'ultimo nodo nella rotta invierà un messaggio sull'errore che attiverà una nuova Rilevazione Rotta dal Nodo A , quindi verrà trovata una nuova rotta e tutto andrà di nuovo bene.
In genere va bene (dato che avevo ragione); la rete recupera. Ma mi chiedo se ci sono algoritmi o metodi che forniscono una funzionalità di monitoraggio della rete che controlla continuamente lo stato dei collegamenti presentati nelle tabelle di routing. Pertanto, il nodo A può essere avvisato dell'errore prima di voler inviare un altro messaggio al nodo Z e, invece di incorrere in un vicolo cieco, può iniziare subito con un rilevamento percorso. Quindi, fondamentalmente, quello a cui sto pensando è un servizio che controlla periodicamente i collegamenti.
Comprendo che, poiché ZigBee viene solitamente utilizzato su dispositivi alimentati a batteria, un tale meccanismo non sarebbe efficiente dal punto di vista energetico.
Quindi, in generale, quali sono ora i meccanismi di rilevamento degli errori di collegamento più efficaci che possono essere utilizzati in una rete di sensori wireless a bassa potenza, in particolare in una rete mesh ZigBee?