It’s been a while since i’ve played with Bluetooth and I’ve been researching every connectivity technology that exists to create a IoT. After some laborious searching reading and chatting industry experts, I realized that there were too many to count!
In this short series i’m going to deconstruct the biggest players in the arena and tell you the benefits and where they should be used in an end application.
To be easily digestible, I have split this series into two sections. One where I talk about all the short range systems and protocols and one where I talk about all the long range systems and protocols.
But first, let’s talk short distance.
Bluetooth Low Energy
. Bluetooth Low Energy devices have been around for 6 years though the specification was created back in 2006 by Nokia and merged into the Bluetooth Specification back in 2010. These days, almost any connected device is Bluetooth Low Energy enabled in one way or another. I have used it both personally and professionally to create consumer products.
Since the developments of Bluetooth 4 and Bluetooth 5 back in June of last year, development of IoT devices using Bluetooth Low energy has been getting exciting. Why is that? Let me count the ways:
- Introduction of 6LoPWAN:
Bluetooth Low Energy is now capable to pass though IP traffic directly to the internet. As an application engineer, you no longer have to create a middle-man type server-client to convert the data characteristics to an HTTP request. Now you connect your device to a gateway and it can make any request it wants agnostic to what the gateway is doing.
- Reduced link speed which boosts range
Counterintuitively, BTLE has the option to reduce link speed. With this ability range can increase significantly. Supposedly up to 4x but depends on the end application. Here’s an interesting paper on testing range with Bluetooth 5 from TI. This link speed is ideal for applications that are only active less than 1% of the day and have very little data to send when active.
This technology is best for:
Bluetooth Low Energy will continue to be a short range protocol. It’s best for use within a home or a large open building such as a supermarket or school. It’s ideal for low data rate applications and extremely tight duty cycle operation. I wouldn’t count it out for outdoor applications though. If you’re not restricted due to your environment (think trees, animals, humans, buildings, etc), you could get some serious line-of-sight range in the reduce data rate mode.
In my research I came upon OpenThread which is Nest’s implementation of the Thread protocol. The cool thing about thread is that it’s an open standard which anyone can adopt without having to pay royalties to a special interest group. It’s an implementation based on the IEEE 802.15.4 networking layer which is only really seeing traction right now.
This technology is set apart from the likes of BTLE because inherently designed to operate as a mesh network. Due to the fact that you can operate this type of network in a mesh, it increases the fault tolerance and is nearly plug-and-play to add other routers. Below is the typical way a network may be formed:
Above picture is from Google’s documentation on OpenThread
As with the developments with Bluetooth Low Energy, this technology also enables the connection of every device in the network to the internet. The enabling communication layer is called CoAP which runs on UDP rather than TCP which most of the web runs off of.
This technology is best for: creating a short distance fault tolerant network. I’m impressed that out of the box it enables you to create redundancies in your network such as multiple Border Routers and Thread Routers.
Zigbee has been around for a while and for good reason. It was the first serious and widely adopted implementation of mesh networks. Whenever someone mentions mesh network and 2.4GHz radios I think immediately of Zigbee.
Maxing out at 250kbps, much like Thread, it’s intended for small data and long battery life. It’s rock solid since it’s been in development for years rather than the 1+ years that OpenThread has been in existence. Even the proposed Bluetooth Mesh capabilities are all fairly new and unimplemented!
This technology is best used for:
Similarly to Thread, Zigbee is best used in fault tolerant environments where uptime is imperative. As data rates are quite small (125-250 kbps) Zigbee is ideal for small data and tiny duty cycles.
Personally, I would move toward an open standard that is being developed by industry leaders. Since most of these technologies, besides Zigbee, are new and underdevelopment, it will be interesting to see who takes the crown.
Stay tuned next week for Part 2 - Long Range!