This year M2M and IoT are two of the most heard keywords in our technological domain. One of these is fresh new, I mean a couple of year old, when the other one is pretty much older. M2M, standing for Machine to Machine is a capability for two machines (or more) to discuss together and take actions. Like a temperature sensor allowing your boiler to decide when to start or stop. In the industry where automatism are in place since many year, M2M is something in place, running, not new. IoT, standing for Internet of Things is part of the M2M technology but actually raising. In IoT the main word is Internet and it stands for the capability of an object to talk over Internet on its own. Why only now ? mostly because now it starts to be possible.
To understand why M2M was possible a long time ago when IoT did not, we just have to focus on the words : IoT is THINGS, means Objects when M2M is MACHINE. Machine is a big system, powerful, usually connected to power generator, running in a computer place, industrial environment or a workplace. A THING is a fork, a toothbrush, a chair …. basically something that is mobile, not connected to a source of energy, not connected to any network, most of the time not carrying electronic. Here is the challenge of the Internet Of Things : bring Internet to such objects.
In this description, we have two main constraints to manage in the Internet of Things:
- The first one is related to the energy
- The second one to the communication.
The solution of the two constraints do not have a place in two different direction, in fact they is only one : as the energy storage capacity did not changed a lot in the past years, the answer is mostly in the communication system.
To get a better understanding of this, let’s consider some basic elements: actually in a battery for a small object I can store something like 300mAh to 3000mAh. Old communication systems like wifi are consuming about 50/100mAh this means the autonomy is limited from 3 to 60 hours. The 2/3/4G systems suffer of the same energy consumption. The object can be connected but for a limited period of time, then you will have to refuel it. What we are doing for cell phone is not applicable for objects. The autonomy have to be counted in year, eventually in many month to be viable.
This does not mean that these technologies can’t be used for IoT, this means that if you choose them you will have to deal with a large power consumption issues and at the end you will be dependent on a connected power source : cell-phone need to be refuel daily, a nest smoke detector need to discuss with a wifi access point connected to your home power and have limited actions to protect its battery life.
Dealing with Power
So before discussing communication technology, let’s focus on dealing with power. Iot systems have to be really frugal ; for this reason, they will only act and communicate when it is needed. They will be limited to the smallest system as possible. Its is not really a place for a Linux environment or a Java based code. Not a place does not mean not possible place, because technology evolve and all that stuff need less and less power to run. By-the-way, micro ampere consumption means sleeping 99% of the time, which is not the purpose of such systems. Micro ampere means dealing directly with hardware, react immediately on interrupt to go back and sleep as soon as possible. Dealing with power means for the 1% of time consuming, do the maximum you have to do, it means reducing all what is not useful.
This is were communication mater : when you establish wifi, 3G you have to connect to a system, most of the time execute complex algorithm to authenticate and it takes some milliseconds to some seconds. In the same way, the communication protocols mater : if http is easy to develop, it means opening TCP sockets then discuss http (encode / decode) ; this is going to take some more ms. MQTT is a good example of protocol adapted for IoT as it reduces the connection time and the size of the message to transmit eq the transmission time. This is saving precious ms this is saving mAh of your battery.
Communication is the key element
Communication system is, so, the key factor and in this domain, we actually have apparently a large choice ; the reality differ as when you want to be optimum, you have to deal with the constraints and select smaller area of efficiency. So by construction the IoT specific communication protocol deal with constraints and fixed some of them. When Ethernet then wifi have been made to do everything as the computers they are connected to are doing ; IoT protocols have decided to restrict some capacity to extend some others, as part of the main one : battery consumption.
We have two large families of communication architectures :
- The first one to appear is an architecture including a gateway to Internet. This gateway is a dedicated module connected to an Ethernet/Wifi network ; the gateway is usually connected to a power source. The gateway can also be a smart phone.
- The second family of objects are autonomous objects, the one directly discussing on Internet. The reality is that they uses also a gateway but this one is managed at an operator level and you don’t have to care about it. No extra local infrastructure is needed over the object itself.
Infra-structured communication systems with local gateway
Bluetooth, BLE, Zigbee, Zwave are the main protocols in this first category. The object will not be autonomous and the solution will be made in two parts, the object and the gateway. This approach have some interesting benefits : the gateway have a direct control on the object and this rich environment can be used to set, monitor, update the object.
The use of a smart-phone as a gateway is a good design to avoid integrating screen & keyboard to an object. It saves space, cost, battery. The gateway can also enrich the object information with power consuming elements like localization ; it can also execute heavy processing the object can’t.
This architecture really make sense when the object mobility is limited and is always in touch with the gateway. This can be a house care system including many sensors in the house range. This is also valid for a fitbit, attached to your body, not so far of your cell-phone. In this context, depend on the risk of disconnection from the gateway the object just need to have the memory needed to store the data until it gets the gateway connection back.
The choice of the protocol depends on the context of usage and the distance of the objects from the gateway :
- Zigbee, Zwave will be really good for a house perimeter. These solutions offer a theoretical range of 300 meters expendable with a mesh architecture. The data rate is about 250Kbps. Consuming about 15mA during rx/tx process. Gateway needs to be specific as they are not yet integrated in cell-phone.
- Bluetooth v2 is not a good solution in many case because it needs peering mechanism ; they are complex and if you add that Apple uses different standards as others you will create a hard experience for your consumers. More over, the transmission power is twice BLE with a minimal time to transmit 30 times more than BLE.
- Bluetooth 4 also name BLE for Low Energy is a pretty good solution as most of the new cell-phone are compatible. You still have to be careful with this technology as when I say most of cell-phone, I means most of fresh new, high end cell-phones. So actually you restrict your market to high-end consumers. BLE offer a range of 10 to 30 meters (100m theoretically) with a nice transmission rate (about 270KBps) and a power consumption about 15mA when active. Next evolution of BLE will allow meshed networks making this protocol a good competitor to Zigbee.
- The last one you can use is LoRa, this communication system uses sub GHz frequency to communicate point to point or point to gateway. It can reach 15km theoretically with a low power transmission and a bandwidth of hundreds of bits per seconds (basically what we had with a serial port 40 years ago) LoRa can be used as a standalone solution if the gateway is managed by a network operator or as an infra-structured solution if you manage your gateway yourself. In this case your object mobility will be limited by your gateway-cell. Power consumption is about 60-100 mA during transmission time. This solution will allow really large coverage at the cost of the data rate and a higher power consumption.
On top of what I described, another constraint have to be taken account, it is related to the antenna. This is a key factor in the range capacity of the designed object. Zigbee BLE operate 2.4Ghz in most of the time when LoRa is sub GHz. This means the antenna size for ZigBee/BLE is small and easy to embed in an object when the one for LoRa will be higher and alway an open question in your design process.
So to summarize, ZigBee and Zwave are solution for house wide environment, LoRa for city wide environment, Bluetooth/BLE for room or personal wide environment. BLE allows to transfer larger informations, ZigBee, Zwave average, LoRa really small quantity of data. All of them will allow you to have autonomy counted in month / years. All of them will allow you to create objects where connectivity will be a marginal cost.
Thanks to these technologies we can build really nice THINGS : if you never ask you question about fitbit, just take some time to look at this object and ask you this question : regarding the really small size of if, considering the life duration of a week, the BLE communication system and so on, what is the included battery capacity ? I do not have the exact answer but something like 25mAh sounds a good scale ; so it is basically nothing ; about a tenth of a watch battery.
Standalone systems do not need the local gateway to reach the Internet ; in this category we have radio-frequency based communication systems like LoRa and Sigfox ; eventually 2G/3G/4G systems but as said this last one need to much energy to fit all the IoT domain but still usable in cars or any mobile and powered environment.
With all these technologies, the gateway between the devices and the Internet is operated by a network operator. For LoRa we start to see some public and classical telecoms operators deploying it ; for Sigfox the operator is the company itself.
As you do not have to mater the operator you can consider that the object works autonomously. If you consider the operator to operate everywhere, we can consider the object to be fully mobile.
The reality is different :
- SigFox is a worldwide operator where you should have no roaming issues but practically, it is actually deployed in less that 10 countries and the North American radio frequency will not be the same as in Europe so the compatibility of the object is not acquired.
- LoRa have some local operators, just starting, roaming conditions are not yet known ; price of operation also unknown.
- 2G/3G operators are in place and able to cover all the world with roaming option starting to be international.
The force of LoRa and SigFox is the wide area the communication can cover : 15km for LoRa, 60km for Sigfox with a really limited power : 25mw ; this is where these solutions disrupt the market and appears as IoT enablers compared to 2G/3G :
- Thanks to the wide coverage, the number of antenna to deploy to cover a country is really small allowing a quick and low cost deployment.
- Thanks to the really low power consumption, objects can operates many years on a battery.
As the main issue is actually the coverage for these solution, you really have to take this into account in the business case. As for any telecoms technologies the largest cities are covered first but where you actually have no 3G, do not really expect to have a good radio signal on SigFox. It is difficult to say what LoRa will be as the first network just starting, in a way this network benefits of operators already having antenna in place but as it needs more antennas the speed of deployment is unknown.
As based on network operators, the use of these technologies needs certification, to be clear there is no really technical reason for this when using a modem chip but it helps the operator to evaluate quality of your device, get some fees and eventually limit the creation of new objects on the market (which I think is a really bad idea going against innovation and market expansion). SigFox is requesting at least 2.5K euro for this. LoRa conditions are not known and in a context of multi-operator it is not clear how it can be certified by one of them. 2G/3G modem does not need object certification as th modem is ; I assume LoRa will follow this way and SigFox will do the same. wait and see.
LoRa and Sigfox are limited to really small messages, we count about 1KB a day when on 2G/3G system you do not have a specific limit, it can be GB. The limit is your power autonomy.
Price to access these technologies is looking like :
- SigFox : modem price (18 euros) / antenna price ( 5 euros ) / 1 year fee ( 7 to 14 euros ) / certification (2.5K) / well documented
- LoRa : modem price (2x euros) / antenna price ( 5 euros ) / 1 year fee ( unknown) / not yet really documented but will grow fast
- 2G/3G : from 15 euro for GPRS / antenna price ( 1 euro ) / 1 year national fee ( 30 euros ) / well documented
Limits of systems
Most of the solutions I described are all low data rate, this means you will not be able to transmit video, even sound over these communication systems ; I’m sure this is a way the system will evolve but as said to make this real engineers had to make some usage limitation, this is one of the main.
Now let’s take a look to power consumption of the different solutions and impact on a 3000 mAh battery on reception :
- SigFox is about 45mA TX and 15 mA RX – a rx life duration of 200 hours continuously receiving
- LoRa is about 100mA TX and 25 mA RX – a rx life duration of 120 hours continuously receiving
- GPRS is about 2000mA TX and (estimated) 100 mA RX – a rx life duration of 30 hours continuously receiving
According to these number, none of these technologies can make objects live for years. This is why the assumption made here is wrong : when designing object you must not receive continuously but only during a limited period of time. It can be at certain hours you decide to do or it can be right after a transmission. This is the way it works for SigFox and I assume for LoRa. On GPRS, you build your own, a nice design can be based on SMS as the system manage transmission on registration and acknowledgment. By-the-way, this consideration have to be part of the object design – communicating from Internet to the object will not be real time.
BLE solve this issue a different way : it listen a really short period of time every Xms this is sampling reception instead of constantly listening and consuming.
System based on public radio frequencies (like Sigfox and LoRa) must share the frequencies with other communication systems. This is defined by state rules and differ from a country to another. Europe, on this topic, is more restrictive than USA and a system is not allowed to use the frequency more than 1% of the time. This is limiting your object capacity to transmit data over the day. This is another constraint to take into account. Short range systems like BLE and Zigbee are not really impacted as they do not really limit the communication capacity of others.
When designing a solution you have to consider all these points to ensure your design will fit IoT constraints. If not, in my opinion it is not IoT, you will have to design a machine 2 machine system with a large power supply and classical Internet connections. For sure what does not fit today will fit in the next 10 years or less.
As you can see technologies as SigFox and LoRa disrupt by providing an Internet access with a really long battery life : according to what we have seen, by transmitting 1% of time with a tx transmission of 45mA means for our 3000mAh battery a life around 1 year. This will grow as much as you reduce transmission time. This is something you could not reach another way.