We’re surrounded by intelligent things: smartphones, self-driving vehicles, smart homes, and even smart cities. Millions of sensors generate, process, and transmit countless amounts of data to make our lives easier, safer, and more comfortable. However, there are still a lot of challenges that need to be dealt with, from the high cost of hardware and technologies to the slow speed of data transfer.
Mesh networking is a promising approach to organizing device-to-device communication within Internet of Things (IoT) platforms. With its help, IoT networks can work faster and more efficiently without requiring expensive hardware or consuming too much power. But is mesh networking the silver bullet for every IoT project?
In this article, we look at the basics of mesh networking and compare the IoT mesh network architecture to the more traditional star network topology. We also talk about the main benefits of mesh networking for IoT as well as the disadvantages of this approach. Finally, we review some of the most popular IoT mesh network protocols.
To better understand the role of mesh networking in the IoT world, we need to look closer at IoT communication hardware and basic communication requirements for IoT devices. An IoT network can consist of multiple embedded devices: temperature sensors, wireless water valves, automatic sunshades, and so on. All of these devices need to be connected to the internet so we can gather data from them, check this data, remotely update device settings, etc.
So how can we make sure these embedded devices can safely and easily establish a connection to the global web when needed? One obvious solution is to put a Wi-Fi chip in them so they can connect to a Wi-Fi router. However, Wi-Fi won’t be the best fit for every project because Wi-Fi chips:
- cost a lot
- consume a lot of power
- need a constant internet connection
- have signal power and distance limitations
Let’s look closer at each of these factors and how they may affect an IoT network.
First of all, there’s the problem of high power consumption. Wi-Fi chips consume a lot of energy, yet many IoT devices are powered by batteries. Battery-powered IoT devices can’t afford to use power-hungry components, so deploying the least power-consuming wireless communication technology is vital.
For example, the most popular and accessible Wi-Fi module, the ESP8266, consumes 50 mAh when receiving and 150 mAh when transmitting data. Even when it’s not interacting with the network, it consumes 50 mAh just because the Wi-Fi is on.
At the same time, an HC-05 Bluetooth module consumes 20 mAh when it’s paired and 2 mAh when idle. And it’s possible to decrease power consumption even more by using, for example, a 2.4GHz RF link transceiver or Long Range (LoRa) technology.
Secondly, there’s the problem of the high price of Wi-Fi chips. It’s important to keep the cost of manufacturing IoT devices as low as possible, especially for mass production. And often, price is the main factor that affects the choice of communication technology. In general, Wi-Fi modules cost more (sometimes several times more) than RF link chips. So manufacturers choose to use cheaper technologies unless it’s absolutely required to use Wi-Fi.
The third factor that needs to be taken into account is whether it’s really necessary to have your device constantly connected to the internet. For example, if a device periodically transmits small amounts of data (e.g. several thousand bytes per hour), it doesn’t really need all the might and speed of Wi-Fi to deliver such small pieces of information. In fact, it’s more than enough for a lot of IoT devices to use a slower communication channel.
Finally, you need to know the required signal power and the distance at which data must be transmitted. Some devices may be situated far from big cities and have neither Wi-Fi nor proper cell phone service to connect to the internet via 2G/3G/4G. Yet they may have a radio connection they can use to upload data to the internet.
What can we do when embedding Wi-Fi isn’t viable? The most obvious solution is turning some devices into IoT gateways that can connect to the internet and communicate with other devices.
There are many network architectures used for connecting multiple devices with the help of an IoT gateway. For example, there’s the standard star network topology, where each sensor connects directly to the IoT gateway:
The star topology works quite well, but only until the number of connected devices reaches the limitations of a particular IoT gateway. Also, when too many devices share the same frequencies, it may lead to communication collisions. To avoid this, some devices must be physically moved away from the IoT gateway.
Of course, there are technologies that can help you increase the number of devices that work simultaneously on the same channel. For example, the time-division multiple access (TDMA) method divides the signal into separate time slots so every device on the channel uses its own slot. However, since time is limited and can’t be split into infinite parts, the number of devices accessing the channel will still be limited.
You can also split sensors into groups that run on different frequencies, with each group having its own IoT gateway. However, the result of such segregation combined with the TDMA approach can make things a bit messy:
Even though this approach works well in general, it’s still limited by range. The problem is that the star network topology strongly depends on the availability of each node. While sensors can communicate with each other, they can only pass data to the internet through the designated IoT gateway. So if there’s any obstacle preventing a sensor from accessing its IoT gateway, the sensor loses the connection and can no longer upload its data to the web.
However, there’s an alternative to the star topology — a wireless mesh network. In the next section, we describe it in detail and explore the pros and cons of using wireless mesh networks for IoT.
What is a mesh network in IoT and how does it work? In contrast to the star topology, a mesh network topology is formed by nodes that are wirelessly connected.
A mesh network usually includes the following components:
- Nodes — Network devices that pass both their own data and data received from other nodes across the network
- Endpoints (optional) — Some mesh networks have devices that only pass their own data to other nodes. These mesh-only devices never forward data from other nodes.
- Gateways — Devices that connect the mesh network to the global internet
Now let’s look closer at how a mesh topology works.
In a mesh network, nodes piggyback off each other to extend the radio signal (such as a Wi-Fi or cellular signal) and to route, relay, and proxy traffic to and from clients. Each node spreads the radio signal a little further than the last, thus minimizing the possibility of dead zones. Additionally, every node in a mesh network has more than one way to send and receive information. As a result, the network never relies on a single node, reducing the risk of connectivity failure.
Since a mesh network uses a decentralized topology, nodes can pass data through various routes to get it to the destination. There are two techniques a mesh network can use to transfer data between IoT nodes:
- Flooding — Each node in the network broadcasts data. While ensuring fast information delivery, this technique is extremely power-consuming.
- Routing — Data traffic follows a certain path, using Shortest Path Bridging (SPB) or some other self-healing algorithm. Data is sent to one node at a time and only when a previously chosen node is unavailable does the network choose a different route.
Mesh IoT still needs gateway nodes to output data to the internet, but not as many as, say, a star topology network. Therefore, by using mesh networking, we can successfully solve the problem of IoT gateway reachability. Let’s take a look at the scheme below:
Here, we have a room with armored concrete walls that block nodes 5, 6, and 7 from directly accessing the IoT gateway. Since this is a mesh network, nodes 6 and 7 can use node 5 to relay their data to the IoT gateway. Node 5, in turn, can also select the route for relaying data received from nodes 6 and 7. In our example, node 5 may send data through node 1 or 2.
It’s also possible to connect clusters of IoT devices organized as mesh networks via special nodes with high-performance hardware. In this way, these clusters will still be connected using the same wireless technology as the other nodes. Let’s take a look at the example below:
In this setup, we have two rooms with their own clusters of IoT devices.
The cluster in Room 2 has a bridge node that uses the same communication technology as other nodes in the cluster. The only difference is that the bridge node has a higher capacity so it can process all requests from all nodes in Room 2 and relay them to the IoT gateway in Room 1.
As you can see, a mesh network is more flexible and persistent than a star topology network. It also requires fewer IoT gateways to communicate with the same number of IoT devices, which is surely a great benefit. In the next section, we look closer at some other pros and several cons of using mesh networks for IoT.
IoT Toys: A New Vector for Cyber Attacks
Mesh networking is a promising solution for IoT, yet it has both advantages and downsides. Let’s start with the advantages of a mesh network of IoT devices:
As we mentioned earlier, mesh networks use self-healing algorithms such as Shortest Path Bridging. These algorithms can automatically choose the shortest route for passing data if one of the nodes loses a connection. Self-healing algorithms always use only available nodes, thus ensuring stable work of the entire network. However, this benefit comes at a price — locating the malfunctioning node can be challenging and will probably take some time.
Mesh networks are also easy to configure and manage, as there’s no need for preliminary setup of new nodes. Newly added sensors calibrate and connect to the network automatically.
Thanks to their interconnected nature, mesh networks are flexible and easy to scale. In contrast to networks with other topologies, the number of added devices doesn’t affect the efficiency of a mesh network. Furthermore, by increasing the number of connected nodes, you can create more routes for transferring data.
Finally, mesh networks can be a great solution for increasing a project’s cost efficiency. Many mesh tools and technologies can be used for free. Furthermore, sensors created for such technologies as LoRa and Bluetooth usually cost less than those needed for working with 3G or Wi-Fi. This affordability has its price, though, as both LoRa and Bluetooth have limitations related to signal power and the amount of data that can be transferred.
How Can the Blockchain Secure IoT Networks?
While mesh networking may seem to be a silver bullet for solving communication problems with IoT devices, mesh networks aren’t widely used. The biggest challenge is with the logical complexity of such networks. Let’s take a look:
The main goal of building a mesh network of industrial IoT devices is to make the communication system smarter and more efficient. Usually, this also means you need to receive information about the performance of each node individually. Furthermore, in order for a mesh network to work, each node must be intelligent enough to perform several operations:
- Gather information about neighboring nodes
- Understand how to build the route
- Change the route if a node isn’t responding
Also, if you need to pass a large amount of data through a large route, it will inevitably decrease network performance. To deal with this challenge and ensure stable performance, you need to pay special attention to load balancing.
Mesh networks also require thorough route management. Routes used for transferring the data sent over a mesh network must be updated regularly, as nodes may join and disconnect from the mesh at any time. And if data travelling through the nodes doesn’t reach the IoT gateway, it may be necessary to send it again. Finally, the network should be able to break existing routes if no IoT gateway is available. Otherwise, connected devices will continue sending data and draining their batteries in vain.
At the same time, channel access problems must still be dealt with in some way.
You need to have an efficient yet power-constrained CPU that can run the software implementing both the mesh network nodes and channel access method logic.
Until recently, there were no fitting CPUs for this task, so mesh networks were mainly used for home automation and other IoT products where a DC power source was accessible. With the appearance of ARM Cortex CPUs, more and more vendors have started to produce their own mesh networking solutions. And because there’s no general standard for mesh networking communications, all of these solutions are custom made.
In the next section, we briefly review some IoT mesh networks that are widely used today.
Currently, there are many vendors offering custom IoT mesh networking solutions. Each vendor’s algorithm takes advantage of the capabilities of the wireless technology used for node communication.
For example, when using Bluetooth, a network can take advantage of the relatively high bandwidth between nodes and the Bluetooth stack MAC addresses to build routes and ensure packet integrity. When using LoRa, which operates at a slow speed, a network must be built with larger time frames for TDMA. As a result, Bluetooth and LoRa solutions are rarely compatible with each other.
It’s noteworthy that existing mesh networking solutions can maintain the network topology and perform re-routing and load balancing during runtime. Modern mesh networks mainly use Bluetooth and Wi-Fi connections. The topology organization algorithm and node roles vary and depend on the hardware and network use case.
Let’s look closer at some popular mesh networking protocols.
Z-Wave was designed to use radio frequency-based communication and frequencies in the ISM band. The network is based on controller nodes that facilitate its topology. Controller nodes manage the list of active nodes and include and exclude them as devices are added and removed from the network. A Z-Wave network is capable of finding the fastest routes and balancing the load.
Zigbee networks are self-organizing and consist of coordinators, routers, and end devices. Coordinator nodes are responsible for creating, updating, and maintaining the network topology. Routers are nodes that can relay data from end devices, which, in turn, are nodes that only produce data and don’t relay it. End nodes send their data to either the coordinator or some router.
A Zigbee mesh is also capable of optimizing routes depending on node performance. Plus, a Zigbee network uses self-healing algorithms to switch routes in case a router node becomes inaccessible.
A Wirepas mesh network is created using Bluetooth or Wi-Fi connections. It uses a combination of TDMA and frequency-division multiple access (FDMA) as the channel access method. In a Wirepas network, nodes can work on several channels to avoid interference, and messages are sent within specific timeframes.
Using a combination of TDMA and FDMA allows for running several Wirepas networks in the same location. Each network consists of nodes, super nodes, and gateways. Super nodes facilitate the network topology, assign frequencies and timeframes for nodes, and implement self-healing algorithms to change the routing tables in case nodes disappear.
Also, network nodes can adjust the transmission power to get a better communication speed when exchanging data with other nodes. They can also reroute and resend packets that don’t reach the destination.
When none of the existing solutions meet your needs, it’s worth considering developing a custom mesh network for IoT devices. However, when creating a mesh network for some new type of wireless communication, you may face various difficulties:
- A need for extensive research. Creating a node algorithm from scratch will require a lot of research so you can understand the medium properties, find the proper way to organize channel access, resolve collisions, and organize routing and topology maintenance.
- Compatibility issues with channel properties. When you try to adapt an existing algorithm to your needs, you may face problems with incompatibility of channel properties. For example, the transmission timing may not allow you to send the amount of data necessary for your algorithm to perform properly. Also, the payload size that the network can work with on a new medium may be so small as to make the network ineffective.
- Hardware dependencies. Existing applications may also rely on something hardware-specific like MAC addresses and automatic CRC validation, which is embedded in hardware.
Luckily for you, at Apriorit, we have a team of highly experienced developers who know how to overcome these challenges.
Mesh networking is a great way to efficiently organize the exchange of data between IoT devices. It works best for transferring small data packages and allows you to connect more nodes while keeping network performance at a high level.
Mesh networks can easily be configured and scaled and, thanks to the use of self-healing algorithms, can remain stable even if some nodes go offline.
Apriorit experts will gladly assist you in building a custom mesh network from scratch. Get in touch with us by starting a conversation with our consultants in the chat window or filling out the form below.