The Ultimate Guide to Internet of Things (IoT) Architecture
The Internet of Things Architecture is a blueprint of how several components fit together. Understanding the basics of the architecture helps you understand how any IoT project functions, and how you can improve it.
Are you trying to put together an IoT project? Figuring out the architecture is then the first, and arguably the most important step of your journey.
Even if you are just an enthusiast, understanding the various parts of IoT architecture will drastically improve your understanding of the domain.
Learning about the IoT architecture can help you reduce overheads, speed up the process, and even innovate when developing a product.
What to expect: In this beginner-friendly guide to IoT Architecture, we explain the what, why, and how of any IoT project. This guide is the only resource you need to understand how smart devices are connected, how they function, and how the individual components work together.
If you want to understand the technology better, our Internet of Things guide is a handy resource to start with.
What is IoT Architecture?
The IoT Architecture is the synergy between two factors that explain the technology- Internet and Things. Here, Things refer to the hardware or the devices. And the Internet is what allows these devices to publish data and interact with other devices including mobile phones.
Let’s take the example of a bicycle. The wheels, seat, handle, gears, and even the ball bearings make up the bicycle. In this case, all of these components are the architecture of the bicycle.
In the case of the Internet of Things, the devices, connectivity, and software involved make up its architecture. There are a lot of individual components that fall under these three broad categories, which we will take a look at in the following sections.
Why is IoT architecture important?
Any architecture of IoT is necessary to make all the individual parts work together. IoT devices cannot do much on their own. They need to be backed up with the right firmware, connectivity, and cloud for the devices to be useful.
An IoT architecture helps manage all the IoT devices, ensures that the data collection, processing, and transfer runs smoothly, and offers proper channels for the components to interact.
Types of IoT Network Architecture
There are essentially three types of IoT Network Architecture. And these differ by how devices and connectivity is structured. Let’s take a look at each of these before we do a deep dive.
Network of devices: Network of devices is an architecture wherein the devices are connected to each other but not the internet. This type of architecture uses connectivity protocols like Bluetooth, Zigbee, Thread, CAN, Ethernet, etc. and comes in different topologies.
Mesh topology: Popularly used in home automation, examples protocols are bluetooth mesh, Zigbee, Thread, etc.
Star topology: Popularly used in industrial IoT and also in some home automation & building management solutions. LoRaWan is the network protocol used here
Bus Topology: Popularly used in Automotive and wired local networks. CAN & ethernet are usual network protocols
In all these cases while these devices speak to each other they are not connected to the internet.
Network behind gateway: This type of IoT network architecture is similar to the mesh network. However, the difference is that there is a gateway device that is connected to the internet. Network behind gateway doesn’t always have to be in a mesh topology.
Connected devices: This is the most common type of IoT network architecture, wherein all the devices are connected to the internet and are collecting data, processing and sending it to the cloud frequently. We will largely focus on this type of IoT network architecture in this guide.
What are the layers of a connected IoT Architecture?
The IoT architecture can be defined in various ways. You can simplify it just as a three-part structure or dive as deep as you want and describe it in several layers.
There are three basic layers to connected architecture of IoT, and they remain the same no matter what, even though the further division of layers may differ. The above image explains these layers, i.e. Hardware, Connectivity, and Cloud.
You can break down each IoT component into an individual layer, so there is no universal number for total layers. However, we have broken down the IoT infrastructure in a detailed manner in five stages for comprehensive understanding. We will explain these stages briefly here and give you a more in-depth understanding with a use case in the next section.
Layer 1: Hardware
This is also known as the physical layer of the IoT Architecture, as it involves the physical devices. Devices refer to the physical hardware of the project which collects data. Depending on the project the devices may differ. For example, an energy plant will need temperature sensors, whereas an EV will require GPS trackers. Let us take a look at the hardware architecture on any device:
The hardware layer consists of an electronic board with several components upon it like,
Sensors: Sensors are the components that collect the required information. Depending on what kind of data you need, you can pick the type of sensors.
Microprocessors: These are small computing devices that are used to process information on the device itself. They have a CPU with built in logic, arithmetic, and control circuitry to convert the physical information into digital data.
Microcontrollers: Microprocessors and microcontrollers are similar in function, and are known as Integrated Chips. The difference, however, is that Microcontrollers have a CPU along with RAM and ROM on it.
Actuators: Actuators take digital inputs from the microcontroller and perform a physical action. For example, when you instruct your smart home app to turn on the lights, the actuators receive this request and turn it into the action of turning the light on.
Connectivity capabilities: IoT devices need to connect to the Internet, in order to act as smart devices. For this, they need connectivity hardware such as a sim card for GSM or an antenna for WiFi.
The hardware of any architecture of IoT rests upon several different factors. For example, a particular device could use microprocessors or microcontrollers, but the project requirement may require a higher compute power. Similarly, cost, feasibility, and usability are also considered when picking the type of hardware for an architecture of IoT.
Layer 2: Firmware
Your devices have several hardware capabilities, but they also need some instruction for processing all the functions. Firmware is the software that is embedded in the devices which ensures that the device can process the data that is collected and transfer it to the cloud.
Common firmware on IoT devices includes:
- Operating system: The OS is the software that handles all the functioning of a device. An OS is responsible for prioritizing and allocating resources to programs, ensuring that the device is functional, and maintaining all the components of the device. Some popular examples of OS are Android, LInux, FreeRTOS, etc.
- IoT stack: The IoT stack refers to the firmware that allows devices to communicate with each other and/or the internet.
- Application firmware: Application firmware such as the bootloader and file system helps maintain specific functions so that the IoT application can work seamlessly.
Layer 3: Connectivity
The connectivity layer is the transport system of IoT. All the data that is collected, categorized, and processed to be sent, needs a channel to travel from the device to the cloud. This is where the connectivity layer comes in. This layer includes network protocols such as 5G, WiFi, Bluetooth, Zigbee, etc.
Depending on the type of the device and application this protocol varies. For example, companion devices like wearables can use Bluetooth, whereas remotely deployed devices like EV Chargers will need GSM.
Layer 4: Cloud Platform
The cloud layer is the final layer of the primary infrastructure—this is where the magic happens!
Cloud can be further categorized into several layers, but for our understanding let us understand the two important parts—platform and application.
The platform stores and processes all the data that is collected by the devices. The platform may include a data warehouse, or be connected to one. Similarly, it can also have additional capabilities such as Machine Learning or Artificial Intelligence for further processing. This part is where all the processing happens and you can consider it the brain of the operation. The cloud platform is essential to manage devices, monitor their performance, and improve function. You can also use the platform to develop additional features for your project.
We have put together a guide on how IoT platforms work, if you wish to learn more about it.
Layer 5: Application
The application part of the cloud layer makes up for the interface of your project. This consists of the dashboards that show you your device status, configuration, firmware version, and more. The application is crucial in terms of automating tasks. If you need to update your devices, for example, you can do that within minutes through your application.
The features of the architecture are built upon the application. Some common features on IoT applications are:
- Data visualization
- Alerting
- Device health monitoring
- Telemetry
- Device Management
- Dashboarding
- Device to Mobile Communication
- Remote Shell
- Over-the-air updates
- Device Shadow
- Metadata management
Developing an IoT application makes it easy for the users to monitor the devices, as well as improve the overall performance of the IoT project.
How the IoT Architecture works (Use Case)
We have now understood the individual parts of the IoT architecture. But how does it all come together?
This can only be explained with the help of an example. For this purpose, let us take the example of over-the-air updates. OTA updates are a common requirement for most IoT projects, and employ all the stages of the architecture of IoT. Let us understand the process flow to understand each stage better.
Say that a user needs to update his devices, assuming that the entire IoT architecture is already in the place. The user will have to follow these steps to get the process done:
- Log in to the Application.
- Check the device status, which will be visible through the Platform.
- Upload the new update on the Platform.
- Start the update process through the Application.
- The platform will send the update to the gateway device through Connectivity protocols.
- Once the gateway device receives the update, it sends it to all the other devices through internal Connectivity.
- As this process continues, the user can monitor the progress through the Application.
- The Firmware on the devices that all the devices receive the update and it is installed.
- Once the update is completed, the Device sends an alert to the user through the Application.
And the devices have been updated successfully.
This is essentially how the architecture helps individual components interact with each other and function together.
Concluding Thoughts
Hopefully, you learnt some of the nuances of a connected architecture of IoT in this article. There’s always more to a technology than we can cover in a single post, but this largely explains how an architecture functions.
If you need any help figuring out your IoT architecture, you can always reach out to us. If you like the information in this post, we regularly share interesting IoT titbits and info content on LinkedIn and Twitter, where you can follow us for more.
Frequently asked questions
What is IoT architecture?
IoT architecture refers to the structure and design of the interconnected components in an Internet of Things system, including sensors, devices, networks, and cloud services. It outlines how data flows, is processed, and is utilized to enable IoT applications and services.
What are the layers or stages of IoT architecture?
Depending on the type of the IoT architecture, the stages can vary. However, in a connected architecture, there are three primary stages:
- Hardware
- Connectivity, and
- Cloud.
What are the main components of the IoT architecture?
The main components of IoT architecture may differ according to the project and industry. However, here are the most common components of a connected IoT architecture:
- Devices
- Firmware
- Connectivity
- Cloud platform
- Cloud application.