The article gets across the essence of mesh networks, their practicability for IoT monitoring platforms, based on the example from our experience.
The Essence of a Mesh Network
A meshed or mesh network is a network topology in which the infrastructure nodes are connected to as many other nodes as they can to maximize the efficiency of data transmission in the absence of a rigid hierarchy. Although a mesh network can be decentralized in theory, in reality it is frequently run by a single router which acts as the central controller.
Depending on the sort of connectivity, mesh networks can be classified as:
1. self-organizing – each node selects its own optimal route;
2. programmable – each node has defined data transmission routes.
By breaking up a long route into several brief transitions between nodes, the mesh network structure enables seamless data transmission between individual network nodes over long distances. As a result, the intermediate nodes – B and C – actively take part in the data transfer from point A to point D, choosing the best course of action based on their role in the network structure and the routes they can take (see the figure below), making it a good IoT solution.
According to their function, nodes can be roughly classified into 3 types:
- 1. relay nodes – can redirect messages sent to other nodes;
- 2. central nodes – controller/router that transmits commands to the other nodes;
- 3. end nodes – a node that does not transmit messages sent to other nodes.
When a single hop is insufficient to transmit data from nearby nodes to end ones, relay nodes function as routers to do so. The resulting network can therefore potentially span infinite distances without losing stability. Each node is connected to multiple neighbors, which increases network reliability. If a relay node leaves the network due to a device failure or for any other cause, its neighbors will be able to quickly reroute traffic using their own routing protocols.
Сooperation between a mesh network and other wireless data transfer protocols
Data transmission protocols, such as Wi-Fi and BLE can be used to create a mesh network, but doing so requires that the hardware and software of the target device be compatible with mesh networks.
Traditional wireless networks are constrained by the distance between two communicating devices. BLE offers a data transmission range of 1–10 m, which is quite limited.
This issue may be fixed by Bluetooth Mesh products. A network of interconnected nodes capable of transmitting data is created when they join one another and send signals to other nearby devices. Accordingly, data is sent from one server to another, then to another, and so on.
WiFi networks' drawbacks include its high power consumption and the signal weakening when it passes through walls, floors, ceiling or long distances. Besides, WiFi networks with numerous access points and relays encounter connection hiccups and delays when a user is moving around the house actively.
With mesh WiFi system devices you can completely eliminate areas where the signal is very weak or non-existent. The network is not interrupted and there are no delays when you move around the house, as the access points and relays automatically swap over in the event of a failure or increased load on one of them.
PROBLEM: How to implement a system of 300 sensors over an area of 3 km²?
We were approached by a customer who was developing a seismic monitoring system. He wished to simplify the installation process and increase system mobility. The system initially consisted of a number of wired devices linked in series. (see the diagram below). Such a system makes it more difficult to install devices, fix and maintain them, and increases the chance that the data transmission channel will be impaired. To improve the quality of installation and minimize the risks, the customer decided to use wireless data transmission.
In order to avoid reinventing the wheel and spend the project budget wisely, we strive to use standard solutions in our projects. So, in the initial step, our engineers contrasted three wireless data transfer techniques – Wi-Fi, Bluetooth, and Mesh Network – in terms of the relevant for the project parameters (Table 1):
- 1. network operation radius;
- 2. power consumption per run time;
- 3. number of nodes in the network.
Bluetooth and Wifi technologies are not appropriate because the system must work autonomously for up to 2 weeks while covering a 3 km2 area and incorporating GPS, data collection, and storage. As a result, at the beginning of the system's development, our engineers decided to use the regular method of implementing the mesh network, which is via radio channel. The radio channel has a small data transfer rate but a large network range and low power usage.
The customer needed to accurately pinpoint the area in which the terrain data was being collected. Thus, the system had to transmit data within a single "column" and not jump to sensors from "neighboring columns". However, in the standard mesh network implementation, data in the system was transmitted in a chaotic manner, and could jump to neighboring lines. The figure below illustrates the variations between the common data transfer and the customer-required data transfer.
We altered the common protocols for data transmission over the radio channel to configure the system to client specifications. The logic of how the "hardware" and "software" communicate has also been rewritten. Initially, the logic of the network meant that the sensors themselves chose how they would communicate with each other. However, the system had to gather information in a manner that ensured all communication between the sensors was strictly within one line in order to correctly collect and report on the terrain.
Functioning of the System Using Common Data Transfer Protocols
Every node in the network has its own routing table, which is a record of its neighbors and other nodes that have forwarded messages through it. The table's important feature is that it only includes the address of the subsequent node through which the message can be sent to the addressee; it does not contain the path to the node itself. As a result, the message sent between the two nodes finds its intended recipient. The network with five nodes and a base station is depicted in the image as an example.
The route from the base station to node 5 is indicated by arrows in the image above. In addition to this, the base station and node 5 can also interact through intermediate nodes 1 and 2. In this illustration, there are at least three possible paths from Base Station to Node 5:
- Base Station – Node 1 – Node 3 – Node 5
- Base Station – Node 2 – Node 3 – Node 5
- Base Station – Node 2 – Node 1 – Node 3 – Node 5
If alternate routes exist, the algorithm analyzes the signal quality of each and selects the one with the best quality. The path that the arrows point to in this instance is the best one to take.
The Operation of the System after Being Modified
The network has a hybrid topology, where each base station manages a row of devices that are radio-connected in series and with which the application interacts directly via a TCP connection.
Address messages and broadcast messages are the two different message kinds that the base station uses to transmit commands. According to the routing table in the base station, address signals are sent out one node at a time.
Address messages give us the opportunity to work on specific parts of the network. They allow us to get in touch with a particular device and check on its functionality. By selecting a range of desired addresses we can narrow down the area where we will collect geodata.
Broadcast messages, however, spread more quickly than address messages because they are not dependent on a routing database; each node that gets one retransmits it to the nodes nearby.
Using broadcast messages, the operator can conduct measurements across all nodes (i.e.: sensors) with the least amount of commands delay.
We tested the system in a number of ways while fixing the code. The network tests were initially conducted indoors, but due to interference from the walls, partitions, etc., they were conducted outdoors in more realistic surroundings with natural interference – in the forest.
Therefore, we now have a system that can support up to 61438 devices working together in a mesh network. By using the network, the monitoring system operator can change the operating time and duration of data collection within it by sending control signals (broadcast and address messages) to the sensors, receiving breakdown signals, or the information on the state of each sensor's charge within the network, referred to as telemetry.
Mesh networks are a quickly evolving technology with numerous applications in various domains of life. Due to the possibility of applying mesh networks in contemporary communication forms, we can get more effective and adaptable methods for organizing data networks.