Most mesh networks require some form of gateway, for example to pass data from sensor devices to the cloud for capture and analysis. There are some exceptions, of course, for example smart lighting control systems sometimes do not require that data is passed to the cloud for monitoring and supervision purposes. Also there is a growing desire to do more data processing in these edge computing devices, in collaboration with cloud based systems.
Still, the implementations and names vary. Essentially the purpose of a gateway in a mesh network is to transfer data packets between the mesh network and one or several other networks be it on intranet or Internet. A gateway is also often responsible for converting formats and protocols, for example taking as input simple byte arrays over the native Wirepas Mesh datagram transport and outputting protobuf encoded data in MQTT topics over TCP/IP to the cloud. Additionally, it should be possible to change some aspects of the mesh network’s functionality remotely from the gateway or backend systems.
Putting together IoT solutions should be as easy as possible with Wirepas Mesh powered devices. To help our customers and partners accelerate their pace of innovation, we identified the need to provide a high performance and stable gateway software solution for Wirepas Mesh. Equally we did not want to reduce the possibility for our customers and partners to innovate on gateway software, therefore the need is to allow quick integration with the rest of the software required to build manageable, high performance mesh gateways and edge computing devices.
These needs led us to develop a reference implementation of gateway software that is tuned to work with Wirepas Mesh networks, including defining a consistent interface between the gateway and Wirepas provided backend systems such as the Wirepas Network Tool and Wirepas Positioning Engine. The latter helps us to more quickly evolve these offerings and ensure they are future-proof.
Overall the gateway software provides a solid foundation for customers and partners building Wirepas Mesh-enabled gateways and complete solutions. We decided to base our gateway software on Linux as we see more and more affordable Linux powered gateways and edge computing devices in the market whilst limiting the dependencies on the underlying Linux distribution to the minimum: d-bus. The gateway software has a plug-in architecture that allows rapid customization in a variety of run-times supported by Linux such as C and Python.
The reference implementation had other clear requirements coming from the market: it has to have reliable performance when servicing high amount of Wirepas mesh devices generating large data traffic, multi-sink and multi-backend support for flexibility, and to be easy to integrate and expand.
So far, one month since first availability to Wirepas Mesh licensees, I think we’ve been able to meet the market requirements and we are seeing great progress across the board. Stay tuned for more exciting news around this topic soon, including integrations with open source gateway software distributions from the IoT ecosystem.
The Wirepas Linux Gateway software reference implementation and the gateway to cloud API are available now to all Wirepas licensing customers, as source code with all relevant documents. Contact us if you are interested in discussing how to make your gateway product Wirepas enabled and be part of Wirepas ecosystem.
Authors: Sami Kaislasuo & Gwendal Raoul