The Internet of Things (IoT) is a complex system consisting of many components, most of which are hidden from the end user.
All the user can see is a set of devices that measure or do something, and an application through which they can be controlled, get some statistics, and so on. However, this is just the tip of the iceberg when it comes to the components of a comprehensive IoT solution. Each IoT system needs to be tailored to specific needs and businesses are increasingly harnessing its power.
At Indeema, we have dozens of satisfied clients and years of experience in building IoT systems. Every solution is unique and we recently detailed the building of an IoT system for solar energy consumption, as well as our IoT box for air monitoring, in our case studies. In this article, let's take a look at the various components that make up an IoT solution.
As there is no single solution for every problem, decisions must be tailored to meet specific requirements, features, and constraints. To understand what and how to build a solution, one must become familiar with the architecture of the Internet of Things system. Generally, the architecture of an IoT solution is divided into three tiers based on the level of abstraction and the proximity to the user. Each tier consists of different layers or components.
1. Perception Layer - Device, or IoT Endpoints tier
The first tier is the device or IoT endpoints tier. These devices are located in close proximity to the user, such as in the home or workplace. This tier consists of three layers: things, edges, and networks.
1.1 The layer of things, sensors and engines
The layer of things, sensors, and engines is where devices that interact directly with the physical world are concentrated. This includes any ‘smart’ devices that can be ‘connected’. The core of this layer is composed of sensors and activators. Sensors collect relevant information by converting a certain physical quantity into an electrical signal, which is then digitized and sent as data. This seemingly simple task is a big challenge for all IoT systems, as sensors come in a wide range of complexity and cost. The developer working with them needs to understand all the principles and nuances. For a deeper understanding of sensor operation principles, we suggest reading our articles: “Which Sensor Does Your Business Need?” Part 1 and Part 2.
Activators are responsible for making changes to the environment according to commands received from IoT applications or other systems. These can include controlled valves, such as water shut-off valves, automatic cameras, controlled lighting, motors, and various manipulators, such as robotic arms. Activators can have a direct impact on the environment, so they must be safe and precisely controlled, which significantly complicates their design.
This layer also includes more complex devices such as wearable gadgets, smart cars, plants, livestock and sometimes even entire open spaces or agricultural fields. In the near future, it may even be possible to ‘connect’ humans as ‘things’.
1.2 Data collection and edge computing layer
The data from sensors must be collected and transmitted by the system for further processing, which is done by low-power devices called agents. These components of the IoT system send data to the center only once in a given time frame. This center can be remote, on the cloud, or hosted on a local server on the edge.
In some cases, agents transfer the data from the sensor directly to the cloud without intermediate processing, which is used when agents with sensors are separate or far from each other and it is not cost-effective to build edge infrastructure. An example of this is meter control, as data is measured infrequently and agents are distributed evenly.
In other cases, the agent transfers information to a local server for accumulation, pre-processing and compression, and then the local server transmits data to the cloud. This is used when agents are more localized, produce a large amount of data, or the system needs a quick response – such as in video surveillance systems, where it is not ideal to transfer a large stream of data to the cloud at once. The local server processes the data from cameras, detects changes, compresses the video, and, if needed, transmits an alarm. Data is then sent to the cloud for storage and remote viewing. Edge computing is also used in smart cars, as the speed of response to changes in motion must be instantaneous, so all basic calculations are done by the onboard computer without sending any data outside.
1.3 Communication, or IoT Getaway Layer
The third tier is the communication layer or the IoT gateway. This layer is responsible for transferring the collected and organized data to a centralized server or cloud. The communication itself is ensured by a variety of physical communication channels and data protocols, such as MQTT, COAP, HTTP (S), AMQP, ZigBee, Z-Wave, etc.
The type of communication channel chosen depends on the IoT solution, system topology, location, and other factors. In a smart home, IoT devices can use Wi-Fi, cellular networks for data collection within cities, and satellite internet for remote regions, such as Starlink. The new modern standard of cellular data transmission, the Narrow Band Internet of Things, is very promising for IoT solutions. NB-
IoT devices are energy-efficient and can operate on cellular networks with a little physical alteration.
2. Network Layer - Intermediate, or platform level
An intermediary link exists between the physical tier in which IoT devices operate and the abstraction that the user experiences. This tier contains the tools for interacting with and controlling these devices, which are usually provided by the Internet of Things platforms. In our blog, we have already discussed the topic "How to Choose the Right IoT Platform?", and reviewed the best Cloud Platforms available today.
This tier includes a set of services for device management, data processing, organization, and ensuring the system's continuity, uninterrupted operation, and protection.
2.1 Device Management
Device Management services make it easier to connect, configure, and operate IoT devices, allowing for monitoring, testing, software updates, and troubleshooting of connected devices without the need for physical access. The use of digital twins is the most modern technology used in the industry. This involves the creation of an IoT device virtual model in the cloud, which “lives” independently but synchronizes its state with the real device from time to time. This approach helps ensure the system is always up-to-date with the most accurate information, while also reducing the minimum required information that needs to be transmitted from devices in the field.
2.2 Data Processing and Analytics
Data Processing and Analytics services are often necessary to get useful business information from the system. This type of processing depends on the data itself, the goal to be achieved, and other factors. It requires the use of the latest approaches and new developments in the algorithms of Artificial Intelligence and Machine Learning. Deep neural networks are often used for data analysis, as they often produce unexpectedly good results. However, experienced professionals are often needed to select the right parameters.
2.3 Security Management
Finally, Security Management is essential to protect the IoT system. Any IoT device, such as an agent with a sensor, activator, or edge computer, can be potentially dangerous to the system as a whole. Security services should include device certification (based on certificates, blockchain technology, or others), network connectivity, secure software updates, authentication, access control, and data loss prevention.
3. Application Layer
The highest tier of integration is the application tier, which is the most commonly encountered by the user (end-user and IoT system operator). It acts as the brain of the system, mediating information flows, and controlling changes in the system. This is where the IoT decision takes its final form. This tier consists of services that provide tools for solving integrated problems, architecture management, and interaction with external systems.
3.1 Cross-platform user applications
Cross-platform user applications provide a user-friendly interface that the end-user can use to interact with the system. For modernity, these applications must be multichannel, so different interfaces for mobile platforms, web, etc. are available. Through these interfaces, the person can receive notifications, use activators, and get information about the state of the system.
Integration services provide interoperability between parts of the IoT system, use data processing tools, and create integration with external services and services. They enable continuous access to “things”, which allows users to receive up-to-date information and manage devices.
Deployment services help to efficiently allocate resources, such as in the cloud, that are sufficient to solve the problem. The efficiency of the entire system and the response time in a critical situation depend on the correct configuration of these services.
Management services help bring order to the diversity of elements that an IoT system consists of. These services are divided into apps for managing users and their rights, monitoring and configuring IoT devices, and managing applications and databases. They also manage the security and access rights of users and devices to other elements of the system.
Experienced specialists should work with the application tier services, as the entire IoT system depends on their competence. This is where the basis of the IoT architecture is built, and data flows and resource allocation are orchestrated. The response time of the system, the detection of problems, etc. are all significantly affected by the quality of the settings.
The good news is that with an understanding of the architecture of an IoT solution, it is now possible to estimate the time and resources required for any future IoT project. This knowledge can be invaluable in making informed decisions about IoT implementation, budgeting, and project planning.
It is important to note that building an IoT system is not a one-size-fits-all process, and the specifics of each project may vary depending on the industry, use case, and goals. Thus, it is recommended that anyone considering an IoT project should schedule a call with experts to discuss the specifics of their project. This can help to identify the unique challenges and opportunities involved and ensure that the project is tailored to meet the specific needs of the organization.
In summary, while the anatomy of an IoT system may seem complex, with the right team of experts and a clear understanding of the architecture involved, it is possible to successfully implement an IoT solution that can bring numerous benefits to businesses and organizations.