Unit-I
Introduction to Internet of Things (IoT)
The Internet of Things (IoT) refers to the interconnected network of physical
devices—often called "smart" devices—that collect and exchange data using
embedded sensors, software, and other technologies over the Internet or other
communication networks.
Key Concepts of IoT
1. Things (Devices/Sensors):
These are the physical objects equipped with sensors, actuators, and
communication interfaces. Examples include smart thermostats, wearable
fitness trackers, smart refrigerators, and industrial machines.
2. Connectivity:
Devices must connect to a network to share data. This can be via Wi-Fi,
Bluetooth, cellular, satellite, or newer technologies like LoRaWAN or NB-
IoT.
3. Data Processing:
Once data is collected, it is sent to a cloud or local edge server where it is
processed and analyzed.
4. User Interface (UI):
Users can interact with IoT devices through apps, dashboards, or voice
commands (e.g., using Alexa or Google Assistant).
Applications of IoT
Smart Homes: Automated control of lights, heating, appliances, and
security systems.
Healthcare: Wearable devices that monitor heart rate, sleep patterns, and
activity levels.
Industrial IoT (IIoT): Predictive maintenance, asset tracking, and
automation in manufacturing.
Agriculture: Precision farming using soil sensors, weather tracking, and
automated irrigation.
Smart Cities: Traffic management, waste control, and smart energy grids.
Benefits of IoT
Improved efficiency and productivity
Real-time monitoring and decision-making
Enhanced customer experiences
Energy savings and better resource management
Challenges in IoT
Security and Privacy: Protecting data from breaches and unauthorized
access.
Interoperability: Ensuring different devices and platforms work together.
Data Overload: Managing and analyzing large volumes of data.
Scalability: Supporting a growing number of connected devices.
Some of the examples of IoT devices are:
Home appliances: smart TV, smart refrigerator, smart AC, etc.
Smart phones and computers
Wearables: smart watch, smart sensors, etc.
Automobiles like self-driving cars
Energy systems
Retail : smart payment
Printers
Industrial machines
Healthcare: smart watch, smart healthcare, etc.
Surveillance: smart cameras, smart trackers, etc.
Physical and Logical Design of the Internet of Things
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.
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.
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.
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.
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.
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.
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-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 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 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 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
UNIT-II
Key Domains of IoT with Examples
1. Home Automation (Smart Home)
Purpose: Enhance convenience, security, and energy efficiency.
Applications:
o Smart lighting (e.g., Philips Hue)
o Smart thermostats (e.g., Nest)
o Smart locks and cameras (e.g., Ring Doorbell)
o Voice assistants (e.g., Alexa, Google Assistant)
2. Smart Cities
Purpose: Improve urban living through automation and real-time data.
Applications:
o Smart traffic control and parking systems
o Automated street lighting
o Air quality monitoring
o Waste management (e.g., smart bins)
3. Healthcare (IoT in Medical Field)
Purpose: Monitor patient health and improve diagnostics.
Applications:
o Wearable health monitors (e.g., Fitbit, Apple Watch)
o Remote patient monitoring systems
o Smart medication dispensers
o Hospital asset tracking
4. Smart Agriculture
Purpose: Increase efficiency and reduce resource usage in farming.
Applications:
o Soil moisture sensors
o Automated irrigation systems
o Livestock tracking
o Weather-based crop monitoring
5. Industrial IoT (IIoT)
Purpose: Automate and monitor industrial operations.
Applications:
o Predictive maintenance of machines
o Supply chain monitoring
o Smart meters and energy management
o Factory automation using sensors
🚗 6. Smart Transportation
Purpose: Enhance mobility and safety in transport.
Applications:
o Fleet tracking (GPS-based)
o Autonomous vehicles
o Smart public transit systems
o Vehicle-to-vehicle (V2V) communication
🏫 7. Smart Education (IoT in Learning)
Purpose: Improve learning experiences and safety.
Applications:
o Smart classrooms (IoT-enabled boards, attendance systems)
o Student activity monitoring
o Real-time feedback and performance tracking
✅ Benefits of Domain-Specific IoT
Improved efficiency and productivity
Cost and energy savings
Better decision-making using real-time data
Enhanced user experience and safety
IoT and M2M are related but distinct concepts. M2M (Machine-to-Machine)
refers to direct communication between devices, often within a closed
network, while IoT (Internet of Things) encompasses a broader ecosystem of
interconnected devices communicating over the internet, enabling various
applications and data analysis. SDN (Software-Defined Networking) and NFV
(Network Functions Virtualization) are technologies that can be applied to
manage and optimize networks, including those used by IoT devices, by
separating control and data planes and virtualizing network functions.
M2M (Machine-to-Machine):
M2M involves direct communication between devices, typically for specific tasks, using
technologies like cellular or wired networks.
It often involves closed networks and proprietary protocols, with a focus on point-to-
point communication.
Examples include remote monitoring and control of industrial equipment, vending
machines, and utility meters.
IoT (Internet of Things):
IoT is a broader concept that encompasses a network of interconnected devices
communicating over the internet.
It leverages various internet protocols (Wi-Fi, Bluetooth, 5G, etc.) and cloud computing
for data collection, analysis, and application development.
IoT applications are diverse, ranging from smart homes and healthcare to agriculture
and smart cities.
Key Differences between IoT and M2M:
Feature M2M IoT
Connectivity Closed networks, proprietary Internet-based, diverse protocols, cloud
protocols, computing
Scope Limited, specific tasks Broad, diverse applications
Data Smaller datasets, simpler processing Large datasets, complex analytics
User Limited or none User interfaces, remote monitoring
Interaction
Scalability Limited High, cloud-based infrastructure
Examples Remote equipment monitoring, Smart homes, wearables, smart cities
vending
SDN and NFV for IoT:
SDN (Software-Defined Networking): Separates the network's control plane from the
data plane, allowing for centralized control and simplified network management. This is
particularly useful for IoT networks, where devices may need to be dynamically
configured and managed.
NFV (Network Functions Virtualization): Virtualizes network functions, allowing them
to run on commodity hardware rather than dedicated appliances. This enhances
flexibility, scalability, and cost-efficiency in IoT deployments.
Together, SDN and NFV can create a more agile and adaptable network infrastructure
for IoT, enabling efficient management of a large number of connected devices.
In essence: M2M can be seen as a foundational element of IoT, while IoT
expands on M2M by integrating it into a larger, internet-connected ecosystem
with more advanced capabilities. SDN and NFV play crucial roles in optimizing
and managing the network infrastructure that supports these interconnected
devices.