What is the Internet of Things?
The Internet of Things (or IoT) is a massive ecosystem of physical objects embedded with electronics, software, sensors and network connectivity. All the embedded components help to collect and exchange data. The idea is to have intelligent device-to-device communication without any human intervention.
Sources differ on the number of connected devices in IoT, but all of them have one thing in common, these numbers are in billions. How can this number go to billions? The answer lies in the term 'Things' in IoT. A 'Thing' could be a human with a heart monitor, an automobile with performance tracking sensors or an industrial robot with activity monitoring system. The possibilities are huge since IoT can be implemented on all the things in the world. And that is exactly where world is moving toward, a connected world where machines interact with each other autonomously.
Role of Location in IoT
In the world of IoT, every device is fitted with different sensors, generating an enormous amount of various types of unstructured data.
IoT has changed the way we perceive data. We now understand that data is not comparable to gold but to oil. Just like crude oil, raw data is of not much value. It is only after processing the data correctly, it becomes valuable. But we do have an exception, data which is of high value and highly useful even in raw format. This is location data, latitude and longitude. Let us look at a few use cases involving location.
- Asset Tracking and Supply Chain Tracking - Track asset as they move anywhere in the world. Adding tracking capabilities increases the efficiency of the supply chain management.
- Connected Car - Track a car outdoor or indoor precisely. Get features like location based weather report and improved distance calculation between source to destination.
- Wearables - Locate and track wearable devices accurately anywhere in the world. Devices like fitness or health bands, smart watches and wearable cameras.
The true value of location in IoT lies in the contextual analysis of location data to achieve an intended outcome. This outcome could be a search result for a nearby food joint or a weather information of an area. The contextual data analysis can be achieved by leveraging the capabilities of location platforms like HERE.
Imagine you are driving a smart car and your car indicates you a new route incorporating the sudden rush in traffic on your old route. A blessing for you as you now have saved around an hour. The scenario looks entirely different from a developer’s perspective builds this system. Why? Because developer has to get location data and pass it through a series of analytical algorithms to get the desired output, which in our case is a new route! The complete analysis could be less effective or less optimized, as a lot of different factor comes into picture. The solution to get away from all this hassle is to utilize Location Based Services. You can explore more about these services here.
How does IoT works?
To understand the role of location in IoT, it is imperative to understand how it works. Most IoT Ecosystem consists of four components
- IoT Device
- IoT Gateway
- User Interface / Application
In some of the scenario IoT Device and Gateway together are called Edge Devices. Lets understand each component individually.
The main task of a device is to collect data from the surrounding environment and forward it to the cloud or an IoT gateway. The collected data could be as simple as a temperature value or as complex as a video feed.
One way to understand an IoT device is to compare it with a human being. For example, our skin is able to detect changes in temperature. In short, it is a sensory organ. We could even call it a sensor. The skin relays the temperature data to our brain, which decides whether to feel cold or warm by computing the relation between our current body state and acquired temperature data. The brain acts as a computing device, and if it computes the state to be cold, we quickly wear a sweater to keep ourselves warm. We perform action or actuation. If the cold is severe, we communicate our state to a doctor with the help of our mouth and ears which represents a full duplex communication. Mouth and ears are communication entities. IoT device also work in similar way, and it is embedded with following capabilities -
- Computing - Microcontroller and SBC (Single Board Computer) (Similar to a brain)
- Sensing - Analog and Digital Sensors (Similar to skin)
- Actuation - LED, a motor (Similar to legs and hands) (optional)
- Communication - WiFi, Bluetooth, LoRaWAN, NFC, ZigBee (Similar to mouth and ears)
With the different combination of above components we are able to create an IoT device for different scenarios. Components selection depends on use case.
The above diagram depicts an IoT device collecting location data with the help of GPS sensor, passing it to MCU (Microcontroller) or SBC (Single Board Computer) where data is processed, and lastly data can be moved forward to a Gateway or a cloud with the help of Wi-Fi communication module (like ESP01).
The task of Gateway is to manage bidirectional data traffic between different networks and protocol. It mostly works as a protocol converter solving interoperability issue between devices and cloud. Generally they are more powerful than IoT devices and are capable of handling communication requests from thousands of IoT devices at a time. IoT Gateway plays a major role in security by acting as a middle layer between devices and cloud to protect the low powered devices from malicious attack and unauthorized access. There are two types of Gateways we can work with
- IoT Gateway from Vendors - Companies who specializes in IoT Gateway
- DIY IoT Gateway - One you build with the help of SBCs like Raspberry Pi
A lot of different tasks can be performed on the gateway depending on its processing capabilities, especially tasks like data analysis and machine learning model building.
The amount of data generated from IoT is massive and it requires a lot of processing and effort to manage this data efficiently. Cloud offers tools which helps to collect, process, store and manage data in real time. Any application or service is able to access the data remotely without any hassle. Cloud is able to integrate billions of devices, gateways, data, user requests and provides data analytics and machine learning. The cloud provides two architectural support for IoT.
- Client Server Architecture with HTTP protocol
- Publish Subscribe Architecture with MQTT protocol
Both architectures have different implementation scenario with respective pros and cons. If you are thinking about which one suits your requirement, then you need to perform detailed analysis of your use case and do remember that price also plays a big role in not only selecting the right cloud but the architecture also.
There are different cloud service providers to select from and all of them have a matured IoT ecosystem support to choose from. The major ones are
- AWS IoT
- Microsoft Azure IoT Hub
- IBM Watson IoT Platform
- Google Cloud IoT
- PTC ThingWorx Industrial IoT Platform.
The User Interface
User interface is the visible part of IoT Ecosystem which is accessible by a user. Application designers are entrusted with designing an easy to use user interface for effective interaction between user and services. There are two types of application that you will find in IoT.
- Mobile Application - iOS and Android
- Web Application - SPA (Single Page Application) and JS websites
These applications are at the other end of the IoT Ecosystem and are used to control the IoT Device, query the result of data analytics performed on the cloud and monitor the state of IoT device.
When we look at the entire IoT Ecosystem as one complete picture, we can easily notice where location data and services can be integrated. From IoT device with a GPS sensor module sending data to a cloud like AWS, where we can store the data and perform heavy processing with location services like geocoding, searching a place, fleet telematics. To a mobile application which receives the location information of your IoT device from the cloud and plots it on the map. Location is involved at all the stages in IoT and act as an enabler. Location Services and IoT is indeed a match made in heaven.