The IoT technology Stack
In this article we are going to discuss what is IoT technology Stack and its 5 layers.
It is nothing else than a range of technologies, standards and applications.They lead from the simple connection of objects to the Internet to most complex applications that use these connected things.
The data they gather and communicate, the different steps needed to power these applications.
Smart connected products (SCP), like the quadcopter, built from a framework called the IoT technology stack. The IoT technology Stack is comprised of 5 layers that come together to create a full-fledged IoT solution.
- Device Hardware
- Device Software
- Data and Analytics
1. Device Hardware
The first layer of the IoT technology stack is where we will define the physical and digital parts of the smart connected product. This begins with the device hardware. What will it look like? What materials will it be made of?
By establishing the physical and digital makeups of our SCP, we introduce the base of our IoT technology stack.
At this layer of the stack, it’s also important to understand some implications of cost, size, ease of deployment, reliability, useful lifetime, etc. For example, in small devices like smart watches, you may only have room for a System on a Chip (SoC). In a more demanding solutions, you may need an embedded computer like Artik module, Raspberry-Pi, Arduino or BeagleBone board. For really serious computing needs, you may need advanced industrial computers like compact RIO or PXI.
2. Device Software
In this layer, we carefully identify the sensors on the base of data requirement. Sensor help us gather the data we need so that our smart connected products perform the way we envision it.
Device software is the part that turns a the device hardware into a “smart device”. This part of the IoT technology stack enables the concept of “software-defined hardware”, meaning that a particular hardware device can serve multiple applications depending on the embedded software it is running.
It allows you to implement communication to the Cloud or to other local devices. You can implement real-time analytics, data acquisition from your device’s sensors, and even control. This part of the IoT technology stack is extremely important because it serves as the glue between the real world (hardware) and your Cloud Applications. It’ll be up to you and your team to decide how much functionality is placed here versus in the Cloud.
The device software layer can be divided into two categories:
- Operating System
A. Operating System
The complexity of your IoT solution will determine the type of Operating System (OS) you need. Some of the key considerations include whether your application needs a real-time OS, the type of I/O support you need, and whether you need support for the full TCP/IP stack. Common examples of embedded OS include Linux, Brillo (scaled-down Android), Windows Embedded, and VxWorks, to name a few.
B. Applications of OS
This is the application(s) that run on top of the OS and provide the functionality that’s specific to your IoT solution. Here the possibilities are endless. You can focus on data acquisition and streaming to the cloud, analytics, local control, etc.
In this part of the IoT technology stack, we need to define the network communication platforms that will connect the sensors in our product hardware to the cloud and then to our application.
There are many different types of connectivity that we can use, including:
Communications refers to all the different ways your device will exchange information with the rest of the world. This includes both physical networks and the protocols you will use. It’s true that the communications mechanisms are tied to the device hardware and device software, but it’s worth thinking of this as a different layer.
example of Communication protocols
- Infrastructure (ex: 6LowPAN, IPv4/IPv6, RPL)
- Identification (ex: EPC, uCode, IPv6, URIs)
- Comms / Transport (ex: Wifi, Bluetooth, LPWAN)
- Discovery (ex: Physical Web, mDNS, DNS-SD)
- Data Protocols (ex: MQTT, CoAP, AMQP, Websocket, Node)
- Device Management (ex: TR-069, OMA-DM)
- Semantic (ex: JSON-LD, Web Thing Model)
- Multi-layer Frameworks (ex: Alljoyn, IoTivity, Weave, Homekit)
4. Data & Analytics
An IoT data strategy is critical for businesses who enter into the world of smart connected products. The data ingested from these sensors can create new business models, uncover valuable business data and unlock new opportunities.
Your smart devices will stream information to the cloud. As you define the requirements of your solution, you need to have a good idea of the type and amount of data you’ll be collecting on a daily, monthly, and yearly basis.
One of the challenges of IoT applications is that they can generate an enormous amount of data. You need to make sure you define your scalability parameters so that your architects can define the right data management solution from the very beginning.
Analytics are one of they key components of any IoT solution. By analytics, I’m referring to the ability to crunch data, find patterns, perform forecasts, integrate machine learning, etc. It is the ability to find insights from your data and not the data alone that makes your solution valuable. Can be done by technologies like Cloud APIs.
IoT applications are only limited by creativity. They can be of any form like: Hardware, software, Cloud, etc.
Few of top applications are listed below
- Smart Home
- Smart city
- Smart Grids
- Industrial Internet
- Connected cars
- Smart supply chain
- Connected Health
- Smart retail
- Smart farming
If you are looking for some really good projects on IoT you can start with. 80+ IoT projects for engineering students
Thanks for reading, hope you enjoyed. We would love to hear from you in the comments section below.