Estoy jugando con la idea de encontrar la ruta de la red de malla. El objetivo es que cada nodo pueda encontrar la ruta más eficiente a través de otro nodo a un concentrador.
Una forma en que podría abordarlo es inundando la red para que cada nodo pueda decidir con qué nodo es mejor conectarse. Vea el siguiente pseudo código que ejecuta cada nodo
Ping out my ID
Wait for responses (all nodes that heard the ping reply their ID and to-hub 'cost')
Ignore replys with no to-node cost, they aren't connected to hub yet
Record ID and Connection Quality + to-hub cost
Pair with lowest cost node
Record as Parent
Wait for connections from other nodes, record as child
Forward data from children to parent
El único problema es que cuando un nodo emite un pitido, varios nodos pueden escucharlo y responder al mismo tiempo, posiblemente creando interferencia y sin darle tiempo al nodo para grabar vecinos.
Posible solución: cada nodo se retrasa por un factor de su ID y el tiempo que toma responder
¿De qué otra manera puedo limitar la cantidad de interferencia en mi red?