craigzyc last edited by
I have found a few topics about having all repeaters but not much information about how that works.
I have a situation where all my nodes (~70) will be full time powered. I would like them to communicate directly to the gateway if possible but have the ability to find alternatives if needed like a self healing mesh.
I need this to have absolutely the best reliablility possible as it will be used in many locations and won't be accessible for management so self healing is quite important. The sensors do not move once installed, except in the odd instance.
Is it ok to have all nodes as repeaters, and if so, will they fix dead routes?
BearWithBeard last edited by BearWithBeard
Hello @craigzyc, you can assign a prefered parent with
#define MY_PARENT_NODE_ID n. If this should be the GW, set
0. If the node can't reach the parent, it will start looking for a new one and assign the closest repeater as the new parent.
I think what you are trying to do could potentially lead to some complex routes with many hops over time, if the connection to the GW isn't perfectly reliable and literally any node could be a repeater. In consequence, it might complicate debugging network issues, if there are so many routing options. So I'm not sure if this is a desireable setup.
Let's assume your location is a flat, plane space (so I can illustrate it better):
GW --- R1 --- R2 --- N1 --- R3 --- R4 --- R5 --- N2
AFAIK, messages to the GW are always routed through the parent of each node on the way. So if N2 (node without repeater feature) wants to reach the GW, but hasn't the GW set as its parent, it will route through the R (repeater) which answered its find parent request the fastest (propably the physically closest). So this might be R5 in this case.
R5 went through the same find parent process if it had trouble reaching the GW directly at some point, so it's possible that it relays all messages from N2 to R4. R4 to R3, R3 to R2, and so on. There are up to six hops in this setup until the message from N2 reaches the GW. And on each hop something could go wrong. With each extension of the route, you are increasing complexity and reducing reliability.
IMHO, the better approach would be to make sure that each node itself is as reliable as possible instead of relying on a dense network. Use a good, stable power source, add capacitors to the transceivers to smooth the voltage level / reduce noise (e.g. 10 - 100 µF bulk electrolytic capacitor and 0.1 µF ceramic), etc. Test how reliable the signal in specific areas is (build a nRF24Doctor, run some tests with various capacitors or, monitor your network).
I'd suggest using only as many repeaters as you need and activate that feature on (always powered) nodes in one or a few central locations only.
Also, if range is a limiting factor at your place, consider using a different transceiver, like the RFM69. Due to the lower frequencies they use, you shouldn't need to use repeats at all, not even on large properties.