Close

Much Solder...Such Connections

A project log for RF Mesh Network

High-throughput zero topology configuration mesh network for temporary/emergency communications over long distances.

trademarkTrademark 05/13/2016 at 01:010 Comments

Tonight I made a couple of new videos (which will be uploaded this weekend) demonstrating how to modify the battery pack to power each node. I also made a connection guide for the RF breakout and Arduino Nano. At this point, I've soldered headers on all 6 arduinos, connected each breakout with jumpers, and installed all 6 radios. All 6 battery packs have been modified appropriately.

I did further investigation on the tests I did yesterday and discovered that I actually wasn't sending packets back and forth like I thought. Some witchcraft had apparently vexed my radios and my serial monitor was lying. I could unplug one radio and still see transmissions....so....yeah.

I eventually tried using the RF24Mesh library (which we will discuss thoroughly later on) and was able to get reliable results on a master/node network. The don't-call-it-DHCP stuff seemed to work well, and my node was handed an address of "05" according to the serial monitor.

I was very disappointed to find that it seems that RF24Mesh requires some sort of master node. That means that I may not be able to achieve one of my primary goals: generic nodes. I wanted each node to be like all the others. Having a master node isn't really that big of a deal, but still, it introduces a single point of failure, and means that we have to treat one node specially to ensure it never leaves the mesh. This is NOT what I wanted, so I intend to spend some time trying to avoid it.

Perhaps each node can poll the mesh to see if a master node is present, and if not, launch into "master mode" or something like that. It would mean a bit more code on each node, but then any node on the network could assume the role of "master" since apparently that's necessary for addressing.

Perhaps if the entire network is alive and the master goes off-grid, every other node would soon realize that there is no longer a master node. Each node might try to fight over becoming the master node in that case. Perhaps each node could implement a randomized delay (with steps of 1000ms) and that way whichever node has the lowest random number would most quickly switch to master mode. At the beginning of the master-mode code, a final check would be done to ensure that there isn't another node that made itself master before we try.

It sounds rather exciting really. Someone might want to make a show out of this :)

Discussions