Introduction to IoT- Characteristics, Physical & Logical Design, IoT Enabling Technologies.

AlgoPoint
15 min readOct 15, 2022

--

The Internet of Things refers to the rapidly growing network of connected objects that can collect and exchange data in real-time using embedded sensors.
Cars, lights, refrigerators, and appliances can all be connected to the IoT.

The Internet of things is a connecting bridge between the physical world and the cyber world and Machine to Machine communication

Any physical object can be transformed into an IoT device if it can be connected to the internet to be controlled or communicate information. A lightbulb that can be switched on using a smartphone app is an IoT device, as is a motion sensor

📖 What is a Sensor?A Sensor is a device that is able to detect changes in an environment. Sensors are hardware components that can detect events or changes in their surroundings, and then provide a corresponding output. Sensors are the eyes and ears of any IoT Project.📖 What is Actuator?An Actuator is a device that converts energy into motion. It is usually used to apply force on something.

Advantages & Disadvantages of IoT

Advantages & Disadvantages of IoT

Characteristics of the Internet of Things:

  1. Connectivity — Connectivity is an important requirement of the IoT infrastructure. Things of IoT should be connected to the IoT infrastructure. Anyone, anywhere, anytime can connect, this should be guaranteed at all times. For example, the connection between people through internet devices like mobile phones, and other gadgets, also a connection between Internet devices such as routers, gateways, sensors, etc.
  2. Intelligence and Identity — The extraction of knowledge from the generated data is very important. For example, a sensor generates data, but that data will only be useful if it is interpreted properly. Each IoT device has a unique identity. This identification is helpful in tracking the equipment and at times for querying its status.
  3. Scalability — The number of elements connected to the IoT zone is increasing day by day. Hence, an IoT setup should be capable of handling the massive expansion. The data generated as an outcome is enormous, and it should be handled appropriately.
  4. Dynamic and Self-Adapting (Complexity) –IoT devices should dynamically adapt themselves to changing contexts and scenarios. Assume a camera meant for surveillance. It should be adaptable to work in different conditions and different light situations (morning, afternoon, and night).
  5. Architecture — IoT architecture cannot be homogeneous in nature. It should be hybrid, supporting different manufacturers ‘ products to function in the IoT network. IoT is not owned by anyone engineering branch. IoT is a reality when multiple domains come together.
  6. Safety — There is a danger of the sensitive personal details of the users getting compromised when all his/her devices are connected to the internet. This can cause a loss to the user. Hence, data security is the major challenge. Besides, the equipment involved is huge. IoT networks may also be at the risk. Therefore, equipment safety is also critical.

Physical and Logical Design of the Internet of Things

Difference Between Physical and Logical Design of IoT

Difference Between Physical and Logical Design of IoT

Physical Design of IoT

A physical design of an IoT system refers to the individual node devices and their protocols that are utilized to create a functional IoT ecosystem.

Each node device can perform tasks such as remote sensing, actuating, monitoring, etc., by relying on physically connected devices. It may also be capable of transmitting information through different types of wireless or wired connections.

The things/devices in the IoT system are used for:

  • Building connections
  • Data processing
  • Providing storage
  • Providing interfaces
  • Providing graphical interfaces

The devices generate data, and the data is used to perform analysis and do operations for improving the system. For instance, a moisture sensor is used to obtain the moisture data from a location, and the system analyses it to give an output.

Things/Devices

Things/Devices are used to build a connection, process data, provide interfaces, provide storage, and provide graphics interfaces in an IoT system. all these generate data in a form that can be analyzed by an analytical system and program to perform operations and used to improve the system.

for example temperature sensor that is used to analyze the temperature generates the data from a location and is then determined by algorithms.

Internet Of Things

Connectivity: Devices like USB hosts and ETHERNET are used for connectivity between the devices and the server.

Processor: A processor like a CPU and other units are used to process the data. these data are further used to improve the decision quality of an IoT system.

Audio/Video Interfaces: An interface like HDMI and RCA devices is used to record audio and videos in a system.

Input/Output interface: To give input and output signals to sensors, and actuators we use things like UART, SPI, CAN, etc.

Storage Interfaces: Things like SD, MMC, and SDIO are used to store the data generated from an IoT device.

Other things like DDR and GPU are used to control the activity of an IoT system.

IoT Protocols

These protocols are used to establish communication between a node device and a server over the internet. it helps to send commands to an IoT device and receive data from an IoT device over the internet. we use different types of protocols that are present on both the server and client side and these protocols are managed by network layers like application, transport, network, and link layer.

IOT Protocols

Application Layer protocol

In this layer, protocols define how the data can be sent over the network with the lower layer protocols using the application interface. these protocols include HTTP, WebSocket, XMPP, MQTT, DDS, and AMQP protocols.

HTTP

Hypertext transfer protocol is a protocol that presents in an application layer for transmitting media documents. it is used to communicate between web browsers and servers. it makes a request to a server and then waits till it receives a response and in between the request server does not keep any data between the two requests.

WebSocket

This protocol enables two-way communication between a client and a host that can be run on an untrusted code in a controlled environment. This protocol is commonly used by web browsers.

MQTT

It is a machine-to-machine connectivity protocol that was designed as a publish/subscribe messaging transport. and it is used for remote locations where a small code footprint is required.

Transport Layer

This layer is used to control the flow of data segments and handle error control. also, these layer protocols provide end-to-end message transfer capability independent of the underlying network.

TCP

The transmission control protocol is a protocol that defines how to establish and maintain a network that can exchange data in a proper manner using the internet protocol.

UDP

a user datagram protocol is a part of an internet protocol called the connectionless protocol. this protocol is not required to establish the connection to transfer data.

Network Layer

This layer is used to send datagrams from the source network to the destination network. we use IPv4 and IPv6 protocols as host identification that transfers data in packets.

IPv4

This is a protocol address that is a unique and numerical label assigned to each device connected to the network. an IP address performs two main functions host and location addressing. IPv4 is an IP address that is 32-bit long.

IPv6

It is a successor of IPv4 that uses 128 bits for an IP address. it is developed by the IETF task force to deal with long-anticipated problems.

Link Layer

Link-layer protocols are used to send data over the network’s physical layer. it also determines how the packets are coded and signaled by the devices.

Ethernet

It is a set of technologies and protocols that are used primarily in LANs. it defines the physical layer and the medium access control for wired ethernet networks.

WiFi

It is a set of LAN protocols and specifies the set of media access control and physical layer protocols for implementing wireless local area networks.

Logical Design of IoT

A logical design for an IoT system is the actual design of how its components (computers, sensors, and actuators) should be arranged to complete a particular function. It doesn’t go into the depth of describing how each component will be built with low-level programming specifics.

IoT logical design includes:

  1. IoT functional blocks
  2. IoT communications models
  3. IoT communication APIs

1. IoT functional blocks

IoT systems include several functional blocks such as Devices, communication, security, services, and application.

The functional blocks provide sensing, identification, actuation, management, and communication capability. These functional blocks consist of devices that handle the communication between the server and the host, enable monitoring control functions, manage the data transfer, secure the IoT system using authentication and different functions, and provide an interface for controlling and monitoring various terms.

The Functional blocks are:

Device: An IoT system comprises of devices that provide sensing, actuation, monitoring, and control functions.

Communication: Handles the communication for the IoT system.

Services: services for device monitoring, device control service, data publishing services, and services for device discovery.

Management: this block provides various functions to govern the IoT system.

Security: This block secures the IoT system and by providing functions such as authentication, authorization, message and content integrity, and data security.

Application: This is an interface that the users can use to control and monitor various aspects of the IoT system. The application also allows users to view the system status and view or analyze the processed data.

2. IoT Communication Models

There are multiple kinds of models available in an Internet of Things system that is used for communicating between the system and server, such as:

  • Request-Response Model

Request-response model is a communication model in which the client sends requests to the server and the server responds to the requests. When the server receives a request, it decides how to respond, fetches the data, retrieves resource representation, prepares the response, and then sends the response to the client. Request-response is a stateless communication model and each request-response pair is independent of the others.

HTTP works as a request-response protocol between a client and a server. A web browser may be the client, and an application on a computer that hosts a website may be the server.

Example: A client (browser) submits an HTTP request to the server; then the server returns a response to the client. The response contains status information about the request and may also contain the requested content.

  • Publisher-Subscriber Model — This model comprises three entities: Publishers, Brokers, and Consumers.

Publishers are the source of data. It sends the data to the topic which is managed by the broker. They are not aware of consumers.

Consumers subscribe to the topics which are managed by the broker.

Brokers' responsibility is to accept data from publishers and send it to the appropriate consumers. The broker only has the information regarding the consumer to which a particular topic belongs which the publisher is unaware.

Publisher-Subscriber Model
  • Push-Pull Model — The push-pull model constitutes data publishers, data consumers, and data queues.

Publishers and Consumers are not aware of each other.

Publishers publish the message/data and push it into the queue. The consumers, present on the other side, pull the data out of the queue. Thus, the queue acts as the buffer for the message when the difference occurs in the rate of push or pull of data on the side of a publisher and consumer.

Queues help in decoupling the messaging between the producer and consumer. Queues also act as a buffer which helps in situations where there is a mismatch between the rate at which the producers push the data and consumers pull the data.

Push Pull Model
  • Exclusive Pair –

Exclusive Pair is the bi-directional model, including full-duplex communication between client and server. The connection is constant and remains open till the client sends a request to close the connection.

The Server has the record of all the connections which has been opened.

This is a state-full connection model and the server is aware of all open connections.

WebSocket-based communication API is fully based on this model.

Exclusive Pair

3. IoT communication API

In IoT, there are 2 communication APIs –

  • REST — based Communication APIs
  • Web Socket — based Communication APIs

Web service can either be implemented using REST principles or using Web Socket Protocol –

1. REST-Based Communication API:

REpresentational State Transfer (REST) is a set of architectural principles by which you can design web services and web APIs that focus on a system’s resources and how resource states are addressed and transferred. REST APIs follow the request-response communication model. The REST architectural constraints apply to the components, connectors, and data elements, within a distributed hypermedia system.

2. Web Socket-Based Communication APIs:

Web Socket APIs allow bi-directional, full-duplex communication between clients and servers. It follows the exclusive pair communication model. This Communication API does not require a new connection to be set up for each message to be sent between clients and servers. Once the connection is set up the messages can be sent and received continuously without any interruption. WebSocket APIs are suitable for IoT Applications with low latency or high throughput requirements.

Difference between Rest API and Web Socket API :

Difference between Rest API and Web Socket API

IoT Enabling Technologies

IoT-enabling technologies primarily focus on converting a standalone device into an IoT device by giving it the additional possibility of connecting to the internet and exchanging information with it.

IoT(internet of things) enabling technologies are

  1. Wireless Sensor Network
  2. Cloud Computing
  3. Big Data Analytics
  4. Communications Protocols
  5. Embedded System

1. Wireless Sensor Network(WSN): A WSN comprises distributed devices with sensors that are used to monitor environmental and physical conditions. A wireless sensor network consists of end nodes, routers, and coordinators. End nodes have several sensors attached to them and the data is passed to a coordinator with the help of routers. The coordinator also acts as the gateway that connects WSNs to the internet.

Example –

  • Weather monitoring system
  • Indoor air quality monitoring system
  • Soil moisture monitoring system
  • Surveillance system
  • Health monitoring system

2. Cloud Computing: It provides us the means by which we can access applications as utilities over the internet. Cloud means something which is present in remote locations. With Cloud computing, users can access any resources from anywhere like databases, web servers, storage, any device, and any software over the internet.

Characteristics –

  1. Broad network access
  2. On-demand self-service
  3. Rapid scalability
  4. Measured service
  5. Pay-per-use

Provides different services, such as –

  • IaaS (Infrastructure as a service) Infrastructure as a service provides online services such as physical machines, virtual machines, servers, networking, storage, and data center space on a pay-per-use basis. Major IaaS providers are Google Compute Engine, Amazon Web Services, and Microsoft Azure, etc. Ex: Web Hosting, Virtual Machine, etc.
  • PaaS (Platform as a service) Provides a cloud-based environment with a very thing required to support the complete life cycle of building and delivering West web-based (cloud) applications — without the cost and complexity of buying and managing the underlying hardware, software provisioning, and hosting. Computing platforms such as hardware, operating systems, libraries, etc. Basically, it provides a platform to develop applications. Ex: App Cloud, Google app engine
  • SaaS (Software as a service): it is a way of delivering applications over the internet as a service. Instead of installing and maintaining software, you simply access it via the internet, freeing yourself from complex software and hardware management. SaaS Applications are sometimes called web-based software on-demand software or hosted software. SaaS applications run on a SaaS provider’s service and they manage security availability and performance. Ex: Google Docs, Gmail, office, etc.

3. Big Data Analytics: It refers to the method of studying massive volumes of data or big data. Collection of data whose volume, velocity, or variety is simply too massive and tough to store, control, process and examine the data using traditional databases. Big data is gathered from a variety of sources including social network videos, digital images, sensors, and sales transaction records. Several steps are involved in analyzing big data –

  1. Data cleaning
  2. Munging
  3. Processing
  4. Visualization

Examples –

  • Bank transactions
  • Data generated by IoT systems for location and tracking of vehicles
  • E-commerce and in Big-Basket
  • Health and fitness data generated by IoT systems such as fitness bands

4. Communications Protocols: They are the backbone of IoT systems and enable network connectivity and linking to applications. Communication protocols allow devices to exchange data over the network. Multiple protocols often describe different aspects of a single communication. A group of protocols designed to work together is known as a protocol suite; when implemented in software they are a protocol stack. They are used in

  1. Data encoding
  2. Addressing schemes

5. Embedded Systems: It is a combination of hardware and software used to perform special tasks. It includes microcontroller and microprocessor memory, networking units (Ethernet Wi-Fi adapters), input-output units (display keyword, etc. ), and storage devices (flash memory).It collects the data and sends it to the internet. Embedded systems used in.

Examples –

  1. Digital camera
  2. DVD player, music player
  3. Industrial robots
  4. Wireless Routers etc.

IoT Levels and Deployment Templates

Developing an IoT Level Template system consists of the following components:

  1. Device: These may be sensors or actuators capable of identifying, remote sensing, or monitoring.
  2. Resources: These are software components on IoT devices for accessing and processing. storing software components or controlling actuators connected to the device. Resources also include software components that enable network access.
  3. Controller Service: It is a service that runs on the device and interacts with web services. The controller service sends data from the device to the web service and receives commands from the application via web services for controlling the device.
  4. Database: Stores data generated from the device
  5. Web Service: It provides a link between IoT devices, applications, databases, and analysis components.
  6. Analysis Component: It performs an analysis of the data generated by the lol device and generates results in a form which are easy for the user to understand.
  7. Application: It provides a system for the user to view the system status and view product data. It also allows users to control and monitor various aspects of the IoT system.

IoT Levels

IoT level 1

  • A level-1 IoT system has a single node/device that performs sensing and/or actuation, stores data, performs analysis, and hosts the application • It is suitable for modeling low-cost and low-complexity solutions where the data involved are not big and the analysis requirements are not computationally intensive.
IoT level 1

IoT Level-2

  • It has a single node that performs sensing and/or actuation and local analysis (IoT Device and collected data).
  • At this, IoT Level Databases and applications establish in Cloud.
  • It is useful for solutions where the data involved is big, however, the primary analysis requirement is not computationally intensive and can be done locally itself.

IoT Level-3

  • It has a single node. Database and applications established in the cloud.
  • It is suitable for solutions where the data involved is big and the analysis requirements are computationally intensive.
IoT Level3

IoT Level-4

  • It has multiple nodes that perform local analysis. It has a Cloud-based application and database. This IoT System contains local and cloud-based observer nodes which can subscribe to and receive information collected in the cloud from IoT node devices.
  • It is suitable for solutions where we are using multiple nodes, the data involved is big and the analysis requirements are computationally intensive.
IoT Level4

IoT Level-5

  • It has multiple end nodes and one coordinator node. The end nodes use for sensing and/or actuation.
  • In this model, the Coordinator node collects data from the end nodes and transfers it to the cloud. In this model, we used a Cloud-based Database for storing and Analyzing data.
  • It is suitable for solutions based on wireless sensor networks, in which the data involved is big and the analysis requirements are computationally intensive.
IoT Level5

IoT Level-6

  • It has multiple independent end nodes that are used for sensing and/or actuation and transferring data to the cloud. We used a Cloud-based database.
  • The analytics component analyzes the data and stores the results in the cloud database and the results are visualized with the cloud-based application.
  • The centralized controller is aware of the status of all the end nodes and sends control commands to the nodes
IoT Level6

That’s a wrap!

I appreciate you taking out time and reading this; please share it with your friends and family if you found it helpful, click on the follow button to support me.

Let’s connect on Twitter. I’d love to know my audience more and build a community :)

Let me know your takeaways and other topics you would like me to write about in the comment section — I am eager to see what you have to say.

I hope this helps you, and have a nice day!

--

--