Where there are people, there is WiFi. And WiFi creates wireless interference. This is a challenge that every connected product will face.
Unlike other low-power wireless technologies, such as ZigBee and Thread, Thingsquare uses a technique called channel hopping to avoid interference from other wireless networks. We have developed a unique way to do channel hopping that works even with tiny, battery-operated wireless devices.
In Crowded Places
In places where there are lots of people, there is usually lots of wireless networks too. Any other attempts at wireless communication in these places will be interfered by these existing wireless networks.
Several overlapping WiFi networks in a typical office environment. The interference intensity of each network changes over time.
WiFi uses a set of pre-defined channels. Each WiFi network use one channel and will stick with that channel until someone manually changes the configuration of the WiFi base station. In places where there are several WiFi networks, such as in most office environments and many homes, a large portion of the wireless spectrum will be occupied by WiFi traffic. This WiFi traffic will disturb other wireless communication that tries to use the same frequencies.
In Outdoor Environments
Even when there are no people, and no WiFi, there still are problems. Wireless channels are affected by air humidity and temperature, as well as other physical factors.
In such environments, we cannot be certain that a single channel will always be suitable for communication. So we should switch between the channels.
Channel hopping works by synchronizing the nodes in the network along a sequence of channels. All nodes must know the sequence and all nodes must know where in the sequence they should be. They will then be able to follow along each other and always be able to communicate, despite rapidly switching channels.
Channel hopping is not a new idea. It was invented in the early 20th century by several different people. The most well-known invention was made in the 1940s by Hedy Lamarr, who was otherwise known for her Hollywood career, and George Antheil, who was otherwise known for his career as a film music composer.
Channel Hopping in Thingsquare Networks
Thingsquare has developed a unique variant of channel hopping that works both in in-door and out-door environments. It works in several frequency bands: both the 2.4 GHz band and the sub-GHz bands. And it is designed to work particularly well with battery-operated devices.
Battery-operated devices require highly optimized low-power mechanisms
Thingsquare’s channel hopping switches channels several times per second. If a channel is found to be crowded, the nodes will avoid that particular channel and instead favor using the less crowded channels. If a channel is found to be really bad, that channel can be black-listed and avoided all together.
To work with battery-operated devices, our channel hopping mechanism is able to keep the radio turned off for most of the time, yet still be able to quickly communicate when needed. This is crucial to conserve power, because radios consume power just by listening for communication from others.
Each network has a different hopping sequence, which means that multiple networks can co-exist in the same physical space, yet avoid interfering with each other. The hopping sequence is configured when the device is bonded with the network
To illustrate the effect of channel hopping on a live network, we set up a small wireless mesh with a single device. The device measures the ping time: the time it takes to send a message to the mesh root and receive a reply. We run the system in an environment with moderate WiFi traffic on several channels. We measure the ping time without channel hopping and with channel hopping. The results in the graph below show that channel hopping reduces the average delay – lower is better.
Channel hopping avoids busy channels, thereby reducing the ping time, increasing robustness. Lower pingtime is better.
The ping time is affected by wireless interference in two ways. First, interference delays the transmission of a message because the sender waits until the coast is clear before sending its message. Second, interference may cause messages to be dropped because the receiver is not able to hear the message through the interference. With channel hopping, the system will switch between channels often enough to avoid the busy channels. Without channel hopping, the system is stuck on the same channel, unable to avoid interference.