In our last post, we mentioned that we had taken an interest in and experimented with a few a small project or two involving HSMM-Mesh wireless technology. Now we are able to share the results of our first stress test experiment.
Now that we have a set of Raspberry Pis configured as nodes in a wireless HSMM-mesh network, it seemed appropriate to see how far we could push the stability of this network to see whether it would be in fact be practical to use or if it would be too costly with having to set up nodes in regular intervals.
To facilitate this test, we created a series of almost identical nodes using equipment we had on hand as well as some inexpensive components, the list of which are as follows:
The variation in our experiment came with Raspberry Pi models we had available, for this test we had:
and one Ethernet cable to allow a laptop to access the node network throughout the duration of the test.
Each Raspberry Pi had an SD Card with Raspbian 4.1 Jessie, and the HSMM-pi framework installed and configured to look for the MeshNet SSID, and were given unique hostnames for easy identification (MeshNet-1, MeshNet-2, 3, 4 and 5).
Our test essentially served two purposes:
For our uses, we only need to send text information between the nodes as opposed to blob data. So for our test, we basically tried positioning the nodes further and further from each other until an SSH connection became just too unstable to maintain.
The results were quite surprising, with one of the nodes being placed atop a car, at the first position, while the second was placed no more than half a metre from the ground, we were able to reach a distance of approx 100m.
With this benchmark, we started placing the other nodes at similar distances. The third node had to be placed slightly within bushland to avoid being placed on a dirt road which had periodic, fast traffic which is where we soon learned that if the nodes were within line of sight and without obstruction, then they would be able to communicate near flawlessly at great distance, however if obscured too much, then the signal strength would degrade so the node would need to be brought closer to its neighbouring nodes.
Eventually, when placing the other two nodes, we learned that placing the nodes in a 5 device daisy-chain would be possible and work surprisingly efficiently. We were not only able to connect to the 5th node from the first with relative speed, we were able to loop SSH connections between the 1st and 5th nodes three times before exhibiting significant slowdown.
In the end, we discerned that in a rural area, the nodes can be spaced around 80m-100m apart while still being able to maintain an acceptable connection between each other. While there are more tests to be had in the future, particularly in more urban environments, this is a very positive start from our point of view. It may even be possible that more expensive Wifi adapters could potentially increase the range between nodes even further.
With the results of this experiment, we are very excited to see where else we can potentially make use of this technology. Perhaps another test in an urban environment where we will be able to see if buildings, wifi and cellular signals may provide interference and reduce the operational range.
It might also be interesting to see just how fast the connection between nodes at various distances actually is. Could we share large blob data objects, or just simple text?
This experiment was not endorced by Aldi supermarkets ;)