IoT is an amazing technology that is seeing more adoption every day. It brings great benefits in productivity, automation, and efficiency across many use cases. But of course, all of these benefits are only achievable because of how this technology is structured.
Essentially, the Internet of Things is a technology that utilizes smart devices, meaning devices that can communicate through the internet, in order to gather data and automate processes via internet communication. In order for this to work, it is necessary to develop an architecture divided into layers, and have each layer focused on a different aspect of the system.
The IoT stack and layers refer to the way that IoT architecture is divided in order to distinguish the role that each segment needs to fulfill in order to make an IoT system work.
In this blog we’ll discuss the IoT stack and layers, and give a complete rundown of the components, technologies, and roles they play in order to make an Internet of Things project possible.
An Introduction to Layers
Layers differ from one another in what functional area they fall into. In a nutshell, IoT architecture consists of connected devices that gather data, networks that allow for communication between devices, middleware IoT platforms, and applications that users can use to interact with the IoT system.
In order to clearly understand how each layer is divided and what their main purpose is, we can take a smart farm as an example, and go layer by layer to see what makes this IoT project work and be a successful project.
The perception (or sensing) layer encompasses all of the devices capable of capturing, processing, and communicating data through the internet. This is the layer of smart devices or IoT devices.
A smart device is an electronic device that has access to the internet or other communication protocol in order to act interactively and autonomously.
Smart devices in IoT are generally small sensors that have data gathering and communication capabilities that can be bought en masse and scattered all around an IoT project.
Some examples could be temperature or humidity sensors. These devices could be used to record temperature, and communicate it to a system to automatically regulate the temperature of a closed space depending on the outside temperature.
In our smart farm example, the perception layer could encompass IoT devices like light, temperature, and humidity sensors that will later be needed on the IoT system.
Transport or Connectivity Layer
The transport or connectivity layer defines how the IoT devices communicate with each other. This means that this layer defines what devices communicate data with each other and how they do it.
This layer takes care of everything related to communication, which includes gateways which are the logical connections, networks that are the collection of devices, and communication protocols that are the languages that the IoT devices use to communicate with each other.
A smart farm could decide to implement a communication protocol like REST or MQTT in order for the sensors to communicate with each other. However, it’s important to define these aspects in the communication layer, since each has different advantages and disadvantages.
In many IoT systems, the transport layer is cloud-centric, meaning that all data and communication has to go through third party cloud servers or databases prior to reaching its destination. By contrast, Nabto provides direct peer-to-peer (P2P) IoT. This means that devices can communicate directly with each other within an IoT system, bypassing the cloud storage layer and thereby reducing latency and cloud security risks.
The processing layer defines how data is analyzed, received, and processed in the IoT system.
In a smart farm, the processing layer defines what a controller does with the information that it is receiving from the IoT sensors through the communication layer.
This layer could define what procedure should happen if a sensor detects that a specific crop is not sufficiently hydrated. So if a certain crop is not receiving enough water, the procedures to turn on the sprinklers would be processed within this layer.
The application layer is the software that is developed specifically for managing and controlling the IoT system. This can vary depending on the use case, from a simple and lightweight mobile application for controlling a smart thermostat, to advanced desktop applications for controlling industrial machinery.
In our smart farm example, the application layer could be a mobile app that a farmer uses to view dashboard reports on key metrics gathered from sensors in the application layer and processed in the processing layer. This could provide insights on crop productivity and soil moisture, for example.
The business layer is a slightly more abstract notion than the preceding layers. It relates to business decisions that are made based on the data provided in the application layer.
In the smart farm example, a farmer may see in an IoT app that his crops are growing in a more productive manner and in a more cost effective way, so the decision of expanding his farm, planting more crops, or installing more IoT devices, is done in the business layer.
Having a solid understanding of what each layer does will help you gain a better understanding of IoT as a whole, and that puts you one step closer to developing a successful IoT project yourself.