The “Internet of Things” (IoT) is a term for the network of physical objects connected to the internet. These objects can include anything from home appliances, wearables, factory equipment and vehicles. The IoT can radically improve how we live, work and play.
However, several different technologies need to work together for the IoT to reach its full potential. This is where the IoT technology stack comes in.
Knowing the terms that make up the stack and how they work together can help you to understand the IoT.
In this article, we’ll look at the different layers of the IoT stack and some of the technologies used at each level.
What is the IoT technology stack?
The IoT technology stack refers to the multiple layers of hardware, software and communication technologies that connect objects over the internet to monitor or control them. The following layers make up the IoT technology stack:
Layer 1 Device Hardware
The first layer of the IoT stack is the device hardware that acts as the interface between the physical object and the server (cloud or on-premise).
Collecting of the data from individual or multiple sensors requires the appropriate type of processor and suitably rated electrical interfaces. This can be as simple as a microcontroller or as complex as an industrial computer.
The device hardware runs the device software and may also include additional sensors, actuators and other input/output (I/O) components.
Sensors measure physical parameters, such as temperature, humidity, pressure or vibration. Actuators can be used to control devices, such as motors, pumps, heaters or lights.
Other I/O components may include buttons, displays or speakers.
If the object or sensors that are to become a ‘connected device’ lack the suitable processing requirements, then a Single Board Computer (SBC) like the SanCloud BeagleBone® Enhanced combined with an appropriate interface cape may be installed as an embedded device.
An SBC and appropriate interface cape can also be used when there is no easy way of connecting the machine via a port (e.g. RS232) and no industrial standard communication protocol is used.
CANBus is utilised by the automotive industry, Modbus over RS485 is often used in plant and machinery and Profibus is used in manufacturing and process automation.
Layer 2 Device software
The second layer of the IoT stack is the device software. This code runs on the device’s processor and controls its functionality.
Device software typically consists of an operating system (OS) and application software.
The OS configures and manages the device’s hardware to provide a platform for the application software to run on.
Common open source and licenced embedded operating systems include Bare metal RTOS, Free RTOS, VxWorks, QNX and Embedded Linux.
Application software uses the OS’s interfaces to give the device its specific functionality. For example, an application might be used to control a motor, read sensor data and transmit live or periodic status reports over a wired or wireless connection.
In the IoT world the use of open source software offers immense flexibility and adaptability as business needs and technologies evolve.
Layer 3 Communications
The third layer of the IoT stack is communications. This is how devices connect to the internet and transfer data.
There are a variety of different technologies that can be used for IoT communications:
- Wired Network
- LTE-M/NB-IoT/2G/ 3G/4G/5G cellular networks
When there is a requirement for devices to communicate with each other, they need to be able to speak the same language. This is where communication protocols come in and come in many different standards published for reference when implementing a new product or service.
Protocols are like rules for how data should be formatted and transmitted. Standard protocols used in the IoT include MQTTS, HTTPS and CoAP.
Layer 4 Cloud Platform
The fourth layer of the IoT stack is the cloud platform. This is the hardware and software services located in internet-based data centres. It is where the data from IoT devices is recorded, captured, processed, analysed and stored.
Cloud computing in IoT offers a centralised service containing computing resources and databases that can be accessed whenever from wherever.
Unlike on-premise alternatives, the cloud offers ease of scalability in terms of infrastructure capacity and the of device data.
Cloud platforms usually provide tools and services that make it easier to develop and deploy IoT applications.
SanTrack has the real time processing capability to monitor real-time data and is scalable to permit single instance lightweight IoT capability, supporting thousands of devices, to distributed processing to support millions of devices.
With IoT services it is advised to compare the Total Cost of Ownership (TCO) when it comes to hosting and running the IoT services in the cloud. SanCloud will always perform a cost matrix to identify the differences in hosting using:
- Bare Metal Servers, installed and managed by SanCloud
- Amazon Web Services (AWS)
- Microsoft Azure
- Google Cloud Platform (GCP)
Each scenario has their own benefits and SanCloud has the ability to tailor the solution to satisfy requirements.
Layer 5 Cloud Applications
The fifth and final layer of the IoT stack is cloud applications. These applications run on top of the cloud platform and provide the end-user with a way to interact with the IoT system.
Cloud applications include the user interfaces of dashboards, reporting suites, analytical and artificial intelligence modules. They can be used to view data from sensors and control actuators embedded in static or mobile machinery, plant or fleets of vehicles.
This layer and the preceding layer come together to form the SanTrack IoT web platform.
How it all comes together
Now that we’ve looked at each of the five layers of the IoT stack let’s take a quick look at how they all fit together to form the best IoT solutions.
IoT devices are connected to the internet using communications protocols. The device collects data from sensors and transmits it to the cloud platform using these protocols.
The cloud platform stores this data and makes it available to cloud applications. These applications provide the end-user with a way to interact with the system, view data and perform remote actions.
IoT Technology Stack Diagram
Other important IoT considerations
In addition to the five layers of the IoT stack, there are also a few other key concepts that are important to understand when talking about the IoT.
These include things like device management, security and data analytics.
IoT device management
This is the process of managing and updating the software on IoT devices. This can be a challenge when dealing with many devices spread out over a wide area.
Security is a critical consideration in the IoT. Because data is transmitted over the internet, it is vulnerable to attack.
GDPR, the EU Cybersecurity Act, the US IoT Cybersecurity Improvement Act and California’s Cybersecurity Law also impacts upon device security, particularly regarding the privacy aspects of IoT.
All devices designed and implemented by SanCloud utilise security-based protocols. A device certificate is used to identify and secure all communication between device and cloud.
Silicon based technologies enabling hardware-level security like Micron® Authenta™ Key Management Service (KMS) have been developed in collaboration with SanCloud offers exceptional security that is also cost-effective and can be easily deployed at scale.
This is the process of extracting meaning from data. This can be used to generate insights that can help radically improve the performance of a business, its manufacturing processes or its end products performance and usability in the field.
The importance of APIs
An API (Application Programming Interface) is a set of rules that govern how software components interact with each other.
API is typically used to allow a cloud application to access data from an IoT device or perform remote actions.
APIs are available at different levels in the IoT technology stack:
• Device APIs to support protocols in the communications layer such as MQTTS, HTTPS and CoAP.
• Gateway APIs to connect different devices the cloud platform.
• Server Side APIs often made available as REST APIs.
APIs are important because they provide a standard way for different software components to communicate with each other. This makes it possible for a wide variety of devices and applications to work together.
IoT solutions typically make use of both open and closed APIs. An open API is one that is publicly available for anyone to use. A closed API is one that is only available to a select group of developers.
Understanding the stack involved in IoT technologies is vital for anyone who wants to work with the IoT. The stack comprises five layers: devices, communications, protocols, cloud platform, and applications.
Knowing the key terminology used to describe each of these layers will help you understand how the IoT works and make it easier to find the right solution for your needs.
There are electronics manufacturers, telecommunication companies, cellular providers and software businesses across the globe each seeking to partner with multiple suppliers to meet market demands for a comprehensive IoT offering. There are very few that offer true, in-house capabilities across each layer to deliver a full, turnkey device to dashboard solution.
As a top IoT solutions provider, SanCloud has helped many companies get started with the IoT. Through our blend of IoT Products and Embedded Services we can help you get on your way when using this technology – whether that’s buddying up with your commercial and engineering team to help with a particular layer or delivering the full end-to-end solution.