Recently we have been looking into the possibility of several deployed devices being able to send and receive data to the internet in locations where it might not be possible for each of the devices to connect to a wifi router. While some may say that a simple Ethernet connection would resolve this, what if we are unable to use ethernet to solve the problem? What then?
Broadband Hamnet/HSMM-Mesh is a network technology that provides a means of deploying a wireless network infrastructure over amateur radio frequencies using off-the-shelf hardware rather than specialist hardware. It is generally used by radio amateurs with an appropriate license to create wireless peer-to-peer networks over great distances using higher-power radio equipment than a standard router might allow.
OLSR daemon is a process that runs in the background on modern operating systems and routes mesh connections from machine to machine using ad-hoc networking. It can run on any wifi card that can support ad-hoc networking and even ethernet devices.
With these technologies, you are able to create a network not dissimilar to a standard LAN using wireless routers to intelligently route traffic over the strongest nodes and transmit data over long distances. These nodes can then contain smaller networks that can make use of the mesh connections, much like a router and switches on a standard network.
Image credit to: http://w2wcr.org/projects/broadband-hamnet-hsmm-mesh
With this in mind, we wondered if it would be possible to make use of this technology to pass small amounts of data through multiple nodes, connected to each other using this technology.
We have been experimenting recently with Raspberry Pi devices for various little side projects, one example being the ChristmasPi project on this blog, though there are other more exciting projects that we look forward to sharing with you in the future. In making use of these wonderful little computers, we couldn’t help but wonder if they could be used with this technology.
As it turned out, Scott Kidder (https://github.com/urlgrey) has been working on a framework for the Raspberry Pi and BeagleBone development boards called HSMM-PI (https://github.com/urlgrey/hsmm-pi) that does exactly what we were looking for. It allows you to take a stock Raspberry Pi and with a few setup commands, have a HSMM-Net node ready to be added to a mesh of your very own. More importantly, due to the framework making use of existing, unmodified wifi adapters, you do not need to possess an amateur radio licence when deploying nodes into this network.
When creating a mesh network using this framework, depending on your uses you may designate a node to be able to assign DHCP addresses to connected clients and allow for connections through the mesh, or you may set a node to serve as a gateway out of the network to access a larger network, such as the internet. What this means is that you can configure specific nodes with internet access via ethernet, and the other nodes will be able to route through the various nodes in the mesh to make use of the internet connection.
Thanks to this framework, we were able to create a project within our building with multiple nodes arranged in sequence as opposed to an actual mesh that could push small amounts of data to an online web-service with relatively low latency by daisy-chaining the connection through each other.
Look forward to hearing more about this from us in the future, we’re certainly looking forward to exploring the technology more thoroughly.