Over 19 billion devices are connected at this very moment, as reported by IoT analytics.The industry-disrupting nature of IoT technology is not often directly noticeable by the average individual. Therefore, we wanted to explain why IoT is relevant in your life and how exactly it works. This article specifically covers LTE-M over the air updates and the significance of it.
WHY UPDATES? WHAT’S SO SIGNIFICANT ABOUT IT?
A simple analogy…
Remember the days when you had to physically plug your phone into your computer to update the software? Nowadays, our phones automatically update themselves without the hassle of cables to plug in your phone. In 2011, over the air updates (OTA) were made available for the iPhone, so you didn’t have to plug your phone into a computer to update. This was started by Apple with their 5.0.11 iOS update, which was available for all Apple devices.
You might be wondering why this simple feature is relevant to you? For one device, it’s not a big deal. But what if you owned 1000 iPhones that needed to be updated? This is the case with IoT devices! Imagine if you had 10,000 of them distributed throughout the country. Now imagine manually walking around with a laptop and plugging each device in to update! This is why we will be covering over the air updates for both NB-IoT and LTE-M and explaining why it works on one network, but not the other.
NB-IOT UPDATES, WHY ISN’T IT POSSIBLE?
NB-IoT and LTE-M are interchangeably used as synonyms, which is incorrect. They are 2 completely different networks with specific purposes. To get a better insight into the technological differences between both technologies, you should see the infographic below (done by Accent Systems).
NB-IoT is specifically designed to consume as little power as possible, and you can see that there are big differences between the bandwidth (180 KHz vs 1.4 MHz), peak data rate, uplink/downlink speed, latency and power consumption! These all relate to the topic that we will cover: LTE-M over the air updates. NB-IoT and LoRa currently (as of January 2019) cannot perform any over the air updates as their bandwidths are too low, but they may be available in the near future due to advancements in more efficient packing (software) and technology upgrades.
BUT WHAT’S BANDWIDTH?
Bandwidth is the amount of data that can be transferred in a fixed amount of time. Hence, for digital devices it is expressed as bits per second (or bps), whilst for analog devices they are expressed as in cycles per second, or Hertz (Hz). Above, you can see that NB-IoT has only 1/10th of the bandwidth that LTE-M has so updates currently cannot happen due to these restrictions
As you can see from the image above, low bandwidth would result in the ability to move less amount of data whilst high bandwidth could easily transfer far more data in a fixed amount of time.
Why is this the case?
NB-IoT’s primary use is to consume as little energy as possible by focusing on on very low data rates with simpler static sensor applications. For instance, the latency of NB-IoT is 1.5-10 seconds, whilst LTE-M has 50-100 milliseconds. This means that NB-IoT takes 1.5-10 seconds to transfer data from one node to another, hence only sending out data in batch. Whilst, as you can see below, LTE-M can perform real-time communication due to its fast latency of 50-100 milliseconds (graph done by Sierra Wireless). Even when NB-IoT has OTAU functionality it will still be more likely to make mistakes and will take far longer. If you choose NB-IoT for its low power (because you are using batteries or energy harvesting) then doing an OTAU will cost a lot more energy and is counter productive to what you’re trying to achieve. On top of that, NB-IoT devices tend to be far simpler in what they measure so they are less likely to need OTAU updates in the first place (we don’t know how many things that you’d like to update about a device that just reports ON or OFF).
Now that we understand why NB-IoT cannot perform over the air updates, let’s look into how and why LTE-M does it.
LTE-M, WHY IS IT DONE?
LTE-M over the air updates become interesting when you add different types of interfaces like Bluetooth (if you want it to talk to other devices), or have something in a setting to communicate with a smartphone. So you should lean towards NB-IoT if you care about power consumption and you do not want to change types of connections or require any (over the air) updates on your devices.
The early versions of the SODAQ sniffer bike were essentially a SODAQ board with an integrated NB-IoT module that is programmed to automatically track the air quality where the bike is. This data is sent multiple times through NB-IoT to paint an accurate interpretation of air quality in the route cycled. Nowadays, we use LTE-M.
All the information gathered by the sniffer bike can be seen in the graph below. The lighter the color, the cleaner the air (shown and measured by particle matters). If you wish to know more info about the sniffer bike visit the page.
And you should consider LTE-M if you do not care about power (if it is powered by a solar panel or electricity).
For instance, SODAQ’s client which creates pumps for high buildings that gets the water to the highest floors do not care about power consumption and they care far more about over the air firmware updates. They have systems installed in buildings that they can’t access anytime, hence if they want their customers to have water everyday, it needs to be controlled externally.
As you can see in the image, the water needs to be pumped up to the highest floors. Thus, if the software would have a bug in the system, an update could solve the issue and it wouldn’t affect the usage of water for the end user. The reason why you can do LTE-M over the air updates is because you can send larger amounts of data. Alongside this, as you are sending the data towards the device, it needs to have an open connection for a longer period of time and because the bandwidth of LTE-M is higher, you can send more information in a more stable manner.
SO HOW DOES IT ACTUALLY WORK?
When there is an update in the software of a device, there are 2 elements. Those elements are the software of the device and the servers that send the updates.
A simple analogy…
Let’s imagine this scenario. You have a software update pending on your phone, your phone sets up a connection with either the Google or Apple server and it receives software from those servers which it needs to install on itself. Below this type of software, there is another type of software running which allows for that top level software to be replaced. That’s exactly how it works on SODAQ LTE-M devices too. The low level software on the board allows to accept new software as an update and replace it so the functionality of the device can change.
WHAT ABOUT THE SERVERS?
Now the second part is that on the server side (if you follow the previous analogy, it is similar to the Google and Apple servers). SODAQ has created the appropriate server application to make sure the updates are sent correctly to the devices and they can updated appropriately.
SO, WHY IS THIS USEFUL?
Well, let’s imagine you have 60 LTE-M devices in Netherlands. The map above shows you that you need to update all of these boards otherwise they will not be able to perform their normal tasks! Without the ability to do over the air updates, you would have to plug in with the USB to every development board and send the update through a wire. This would take a huge amount of time and someone could as well by mistake update it wrongly which would make the process even harder. Performing a task like this would make it hard to mass scale IoT hence, the software and server combination helps it to automate updates. SODAQ offers this in a subscription model, where a client pays every month to have the ability to send updates to the devices. There are different models and plans per client such as unlimited updates, pay per update, pay per month depending on what their interest is.
This can give you a safer feeling when you are using your IoT devices in case if it breaks somewhere in the field or city, you can fix it remotely without needing a physical access to it.
But is that it?
This isn’t just about the ability to perform updates, but about the time and financial investments from your company. Once you have the possibility to do over the air updates, your company doesn’t need to send a person to manually fix it. Alongside the saved costs of not having to send engineers, you also reduce the amount of human error that may occur in the process of fixing as it can now all be done remotely. For instance, you open a box and plug in the cable and forget to close the box, maybe you damage the socket whilst removing the cable. As the updates are all wireless, this wouldn’t happen hence saving even more financial and time commitment. Moreover, there is an ability to test the update on a single unit, and if it works as intended, you have the power to scale it to all the units in the field (whether it is thousands, tens of thousands, or even millions across multiple geographical regions).
THE WHOLE PROCESS OF LTE-M OVER THE AIR UPDATES WOULD GO SOMETHING LIKE THIS:
Complex, right? Well we will break it down in easier terms…
The software team that works on the software part creates a new firmware version. Let’s imagine that the device is currently running firmware 1.0 and the new version is 1.1. Now that the firmware is completed and you want to update the 5000 devices that you have throughout your country, you upload it to a dedicated server which the server knows all of the IoT devices addresses of the devices. Through the LTE-M network, it has a secure link (permission to push data to the devices) and the devices know that from this white label IP address (the server), it can receive software.
Then the device (as mentioned) has a base layer firmware which is a software that keeps it alive. And on top of it, there are functionalities (the application layer) and it is controlled by the base layer firmware. When it receives a notification from the cloud, after its scheduled sleep cycle it switches on and asks the server if it has any updates for it. If it does, it opens a channel with a server, the device agrees that it has the space available to receive the updates. Whilst it’s still running the existing firmware, the device will make a switch and move the existing layer in the storage and replace it with the new top layer as an update. Then it starts testing the new firmware and see if it works. The device always keeps the previous top layer as a backup in case the new updated firmware does not work. Then once the device uses the new firmware, the server is informed about it and the engineer at the desk with the management platform knows if the new update works or not! One engineer can do the update in under an hour, instead of multiple engineers over the course of a few weeks.
Hopefully this has cleared up a many questions that you had about the process of LTE-M over the air updates, why it is useful, why your company would benefit from it and more!