Nowadays technologies provide the ability to connect almost anything to the Internet. From the conglomerate of sensors, household appliances, etc., you can assemble a complex system that executes the commands of the control device, like a computer, tablet, or smartphone. All this is the Internet of Things (loT) – a global network of computers, sensors, and actuators that communicate with each other using the wireless network and Internet protocol.
Devices connected to the IoT are used in various fields: from the well-known smart homes, where data is monitored in real-time to optimize outcomes within one apartment, to the industrial Internet of things that automates processes across the entire enterprise.
Want to keep up with trends and develop an advanced IoT solution for your business? In this article, we talk about integral technologies used to create IoT-based projects and explain how to choose the right IoT tech stack.
What is an IoT technology stack?
The IoT technology stack is a spectrum of technologies, standards, and applications designed to connect devices to the Internet to collect data from them for different purposes.
IoT technology stack encompasses hardware/software devices and a variety of protocols for their interaction. Objects can communicate via Wi-Fi, Bluetooth, LPWAN, BLE, Ethernet, RFID, ZigBee, and other types of wireless communication. IoT devices process data that they obtain by connecting to an IoT gateway or other edge device. The data is either sent to the cloud for analysis or analyzed locally.
These devices interact with similar devices and act based on the information they receive from each other. Devices do most of the work without human intervention, although humans can control, configure, program them, or determine access rights to data. The network connectivity and communication protocols used with these web devices are highly dependent on the specific IoT services deployed to supply all things with unique identifiers. But gradually, it transformed into the concept of creating a network of sensors and smart execution devices.
IoT tech stack layers
IoT technology stack consists of computer networks of physical objects, the traditional IP Internet network, and various devices (gateway, border router, etc.) that connect these networks. Computing networks of physical things consist of “smart” sensors and actuators, united in a computer network (personal, local, and global) and usually controlled by a central controller (gateway, IoT Hubs, or IoT platform).
The IoT stack consists of the following layers: devices that include hardware, hardware software, sensors and actuators, gateways and communication technologies, IoT platform that comprises a cloud platform and application software.
The 5 layers of the IoT technology stack
Devices aka hardware collect data. Depending on the amount of data you collect, devices can, for example, be equipped with simple smart sensors or industrial computers with multiple sensors. Device software transforms the device hardware into a “smart device”. It allows a specific hardware device to serve a variety of applications that depend on the installed software system on which it operates. Actuators and sensors play an important part in the operation of the IoT stack. Sensors detect any shifts in the environment they monitor and turn them into signals that have to be decoded to get meaningful data. Actuators interpret the electrical signals received from the control system and change its environment.
The base of the IoT tech stack is IoT technologies that collect data from physical objects and send them to the Internet for storage, processing, and analysis. The critical point here is the ability of the device to connect using wireless interfaces and communicate with remote servers. The means of connecting to the network are usually Wi-Fi and GPRS, as the most developed and widespread technologies are the basis of the network stack.
The emergence of SoC (System on Chip) systems that integrate various functional blocks on one chip forming a finished product for autonomous use in electronic equipment. SoCs are rich in functionality due to their block structure. They can even include radio-frequency systems with low power consumption for solving problems of physical objects control.
Manufacturers of electronic equipment are producing a vast number of IoT tech stack solutions. New platforms are emerging almost every week that are trying to take their place in IoT applications. Among the clear leaders are Intel Edison, MediaTek Linklt, Raspberry Pi, Arduino MKR1000 platforms.
Sensors and actuators
Sensors and actuators installed within one IoT solution serve an important role. They shape the backbone of the IoT infrastructure bringing the real and digital worlds together. Industries have been using sensors long before IoT. The most widely utilized sensors that have become an inevitable part of IoT are those that measure temperature, pressure, humidity, proximity, light, etc. Actuators are the converters of electrical signals into actions. The actuator accepts an impulse and activates certain devices or operations within its working environment. They play just as important role as sensors do, basically, switching on/off things within the IoT system.
The appearance in 2012 of the Raspberry Pi platform set one of the standards for embedded devices. The Raspberry Pi is the go-to for many embedded and IoT application developers for its strong community that supports any issue that may arise in the process. Most of its competitors cannot offer that kind of service.
The most common tool for creating automation projects in the user segment is the Arduino platform. The first platform models had simple built-in 8-bit microcontrollers with an AVR core. More efficient devices based on 32-bit chips with an ARM core began to appear. Today, the Arduino line contains unique solutions for the Internet of Things (Arduino YUN, Arduino TIEN, Arduino MKRIO00). The technology provides Wi-Fi support due to the built-in chips manufactured by Atheros.
The original idea behind Arduino was to support a wide variety of plug-ins which sparked a wave of “Arduino compatibility”: many manufacturers produce sensors or actuators that have been specifically designed to interface with the Arduino. This allows the user to prototype the automation system at a minimal cost.
The IoT gateway serves as the gathering spot for an assembly of sensors and actuators to regulate their connection to one another to an external network/system. For instance, an industrial machine can function as an IoT gateway, just as any connected device at your house. A regular IoT project usually contains many IoT gateways that support multiple devices.
IoT devices at end nodes сonnect to the cloud or server for intelligent processing and subsequent analytics in the IoT tech stack. Some solutions connect directly, others through gateways.
The gateway adapts the necessary technology for both local and wide area networks. These technologies can include Ethernet and Wi-Fi on the organization’s territory and stylistic connections, Ethernet, xDSL, and cable access to the Internet and global corporate networks. In case you are interested, we have covered all major types of IoT networks in our other blog post.
IoT networks and protocols
LoRaWAN Gateway provides interworking between networks based on heterogeneous LoRa/LoRaWAN technologies and Wi-Fi, Ethernet, or 3G. Data received from the leaf node is stored, displayed, and processed on the application server (on a stand-alone website or in the cloud). The Big Data methods are an excellent fit for analyzing IoT data. Thus, users using client applications installed on a smartphone or PC can access information on the application server.
ZigBee is one of the most popular IoT tech stack standards for building wireless IoT networks. A ZigBee network with a mesh topology has its stack of communication protocols that does not support Internet Protocol IP. A computing network of objects based on the ZigBee stack, for interaction with external devices located in the IP network, is connected to the Internet through a specialized IP gateway ZigBee Gateway.
Networks based on the new Zigbee IPv6 standard connect to an IP network through a router rather than a local gateway. The Gateway ZigBee repackages data from one format to another and provides interworking between networks based on heterogeneous MQTT/ZigBee technologies: HTTP/ TCP/IP. ZigBee technology is used as a standard for automatically collecting subscriber electricity meter readings and transferring them to telecom operators’ servers (autonomous sites) or the cloud habs.
Wi-Fi is a set of wireless communication standards that form a wireless local area network of WLAN items based on a TCP/IP stack. The protocol stack consists of a PHY, and a data link layer with MAC media access control sublayers and LLC logical data transfer.
The wireless local area network of Wi-Fi items is connected to the Internet using a router. Recently, a new specification has appeared on the market that provides technology for building mesh networks and allows for the creation of local wireless computer networks of subjects. The new HaLow Wi-Fi standard with low power consumption is perfect for the Internet of Things (IoT).
BLE is a new version of the Bluetooth low energy standard designed to build wireless networks such as Smart Home.
BLE 4.2 version provides minimal equipment power consumption and IP network output. BLE-based tags can signal their presence by transmitting a data packet once per second. It takes very little energy: the tag can work for up to a year on a lithium cell with a capacity of 240 mAh, the size of a twenty-five-cent coin.
The availability of inexpensive electronics for tags and the availability of readers in most smartphones have become a powerful catalyst for BLE utilization. Many well-known IT companies and a significant number of startups are experimenting with business models that use such labels. Like other tagging technologies, BLE can help advance your IoT technology stack because it is suitable for ubiquitous use, provides higher readout accuracy, and integrates into a product without spoiling its appearance.
The Internet of Things (IoT) uses low-power wireless computing technologies for physical objects, including short-, medium-, and long-range networks (WPAN, WLAN, LPWAN).
M2M communication and physical web
Web pages are great for human-machine communication, but the Internet of Things will, in many cases, be useful for machine-to-machine (M2M) communication. Data formats regulated by initiatives like Schema.org allow browsers and cloud services to retrieve information about events, organizations, people, places, products, and more based on the information they receive. The use of structured data can also contribute to the consistency of user interfaces on different devices. For example, a user does not have to figure out how to set the time on the following household appliance each time. Open web technologies, including HTML, Ajax, HTTPS, and OpenID, like structured data, are a vital part of the IoT technology stack.
Application Layer Protocols
Developers utilize application-level protocols to transfer data within IoT systems. The most widely used protocols are DDS, MQTT, XMPP, AMQP, JMS, CoAP, REST / HTTP.
- MQTT, XMPP, AMQP, JMS are messaging protocols based on a publish/subscribe pattern (broker). Developers can deploy a broker on a cloud platform or a local server installing client programs on smart device applications. Take a look at the Publish/Subscribe pattern followed by the MQTT protocol:
- Constrained Application Protocol (CoAP) is a limited IoT data transfer protocol similar to HTTP but adapted to work with low-performance intelligent devices. CoAP incorporates the architecture style of REST. The servers are accessed by the URL of the smart device application. Client programs use methods such as GET, PUT, POST, and DELETE to access resources.
- REST/HTTP is a model of software architecture for distributed systems. REST describes how smart device applications interact with REST APIs (Web service). Through the REST API, applications communicate using four HTTP methods: GET, POST, PUT, DELETE.
Note: Within direct communication, a smartphone can poll the state of a device nearby and act as a bridge between low-level peer-to-peer protocols such as Bluetooth or Wi-Fi and Internet protocols such as HTTP and TCP. One example is the Fitbit fitness tracker, which uploads the number of steps taken through a user’s smartphone over a 4G network to their cloud account. Through a web service on their smartphones, mobile users in the vicinity of an IoT facility can search for related information published by interested parties, such as a movie poster that allows people passing by to access a web page and purchase electronic tickets automatically.
IoT platform provides an infrastructure on which the IoT solution will run. IoT platforms usually operate on a cloud-based infrastructure or on the internal company’s data center. Such platforms should be scalable to support the connectivity of many devices and should make data exchange/use easier.
IoT platforms are ready-to-use working environments that you can modify and supplement according to your needs. If you are searching for the best IoT cloud platform for your project, we have analyzed them on our blog.
IoT hubs, gateways, and IoT platforms play an essential part in the IoT tech stack. Hubs, gateways or IoT platforms are used to get access from networks of physical objects that do not support the IP protocol to IP networks and vice versa, ensuring the negotiation of protocols at different levels of the communication protocol stack. To access IP networks from physical object networks to IP networks, and vice versa, proxies are used to negotiate application layer protocols (for example, to negotiate CoAP and HTTP).
What to consider when choosing a technology stack for an IoT project?
Creating an IoT project from scratch is a daunting task. In most cases, such projects include a variety of sensors, networks, and communication protocols. For one of our recent clients, we have made an improvement to an existing IoT smart city lighting solution for lamp control units installed in several cities. For the IoT tech stack, we combined 2 types of networks (Zigbee and 2G) and used the most suited IoT platform (Azure). As a result, we’ve delivered a software solution that can handle 2 million connected devices across large cities and reduce maintenance costs by up to 75%.
Sometimes it is difficult to predict the full range of IoT technology stack applications for the Internet of Things. Information gathering, context recognition, and management tools will be the main ones, and the main challenges will be related to privacy and security.
Suppose you decided to create a simple IoT project. In that case, you need a scheme for recognizing the readings of measured physical quantities (for example, temperature and humidity), their simple processing, and sending them to the client. In the most concise form, you need to do the following:
- First, you need to choose the sensor or a set of sensors from which you will receive the measured data and the method of processing the received data.
- Next, decide how you will communicate with the sensors, determine the amount of data, and decide how to build communication.
- Finally, you need to find a suitable client for your network and describe how to work with it.
For instance, to create the Physical Web of the Internet of Things, you need to make sure that any user with any smartphone or tablet can go to any device and start interacting with it without a need for a special application. This will require a WWW extension that will allow any smart device to broadcast the URL. This transmission must take place over a short distance so that any smart device can receive a list of neighbors and interact with them. An appropriate discovery mechanism should work optimally with native and web applications, allowing devices of any type to provide data to and interact with other devices.
One way to make your IoT technology stack more efficient is to implement context recognition. Knowledge of the device’s environment and its users, and the application context helps the application filter data and adapt its presentation. For example, you can generate a map of the area that automatically displays the user’s current location. The more contextual information a device has, the more opportunities it will have to provide the user with the information they need automatically. Over time, the IoT will allow to receive much more data from web services and nearby physical sensors and share it with other devices. As a result, the level of accuracy will increase, and future devices will become much “smarter.”
Action and control
In addition to context recognition, the IoT makes it possible to track objects in the physical world through displays, actuators, and RFD sensors. Many modern systems have built-in remote control facilities. On the Physical Web, any object can be controlled from a browser or through a web service, making it easier to manage an object based on its associated data. For example, irrigation systems connected to the WWW could provide an interface for entering a list of plants in your garden and receiving recommendations for their care via web services.
Privacy and security
It will not be easy to avoid the negative consequences of forming an IoT technology stack of interconnected devices. If you do not take precautions, attackers will control other people’s devices through the Physical Web. The mainstream WWW already has security features that make the Physical Web safer, but it is unclear if they will work for all IoT applications. Unforeseen information leaks can cause threats. For example, a burglar can determine that no one is in the room, having learned that the house is in energy-saving mode.
The Internet has proven to be valuable for virtually all activities, giving people worldwide the ability to interact with information and services. The IoT is considered to be the next evolution of the Internet, promising a host of services for industry, smart grids, security, healthcare, design, education, and consumer electronics. Many of these industries already benefit from IoT solutions.
To stay at the forefront of the industry, you need to make sure your IoT solution is built with cutting-edge tools. Euristiq can implement IoT projects of any scale and complexity within a month.