Internet of Things - Unit 1,2
Internet of Things - Unit 1,2
UNIT - I
Introduction & Concepts: Introduction to IOT, Physical Design of IOT, Logical Design of IOT,
IOT Enabling Technologies, IOT Levels
Definition of IoT :
A dynamic global network infrastructure with self-configuring capabilities based on standard and
interoperable communication protocols where physical and virtual "things" have identities, physical attributes,
and virtual personalities and use intelligent interfaces, and are seamlessly integrated into the information
network, often communicate data associated with users and their environments.
Characteristics :
1. Dynamic & Self Adapting: IoT devices and systems may have the capability to dynamically adapt with the
changing contexts and take actions based on their operating sensed environment. Eg: the surveillance
system is adapting itself based on context and changing conditions.
2. Self Configuring: allowing a large number of devices to work together to provide certain functionality.
4. Unique Identity: Each IoT device has a unique identity and a unique identifier (IP address).
5. Integrated into Information Network: that allows them to communicate and exchange data with other
devices and systems.
Applications of IoT:
1) Home 6) Cities
2) Environment 7) Energy
3) Retail 8) Logistics
4) Agriculture 9) Industry
5) Health & Lifestyle
Physical Design Of IOT :
1. Things
2. Protocols
1) Things :
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.
Connectivity : Devices like USB host and ETHERNET are used for connectivity between the
devices and 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, SDIO are used to store the data generated from an
IoT device.
Other things like DDR, GPU are used to control the activity of an IoT system.
2) Protocols :
These protocols are used to establish communication between a node device and 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 present on both the server and client-side and these
protocols are managed by network layers like application, transport, network, and link layer.
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.
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.
This layer is used to control the flow of data segments and handle the 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.
C. Network Layer
This layer is used to send datagrams from the source network to the destination network.
We use IPv4 and IPv6 protocols as a 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 with 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 the long-anticipated problems.
D. 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 :
An IoT system consists of a number of functional blocks like Devices, services, communication, security, and
application that provides the capability for sensing, actuation, identification, communication, and
management.
These functional blocks consist of devices that provide monitoring control functions, handle communication
between host and server, manage the transfer of data, secure the system using authentication and other
functions, and interface to control and monitor various terms.
Application : It is an interface that provides a control system that is used by users to view the
status and analyze the system.
Management : This functional block provides various functions that are used to manage an
IoT system.
Services : This functional block provides some services like monitoring and controlling a
device and publishing and deleting the data and restoring the system.
Communication : This block handles the communication between the client and cloud-based
server and sends/receives the data using protocols.
Security : This block is used to secure an IoT system using some functions like
authorization, data security, authentication, 2 step verification, etc.
Device : These devices are used to provide sensing and monitoring control functions that
collect the data from the outer environment.
2) IOT Communication Models :
There are several different types of models available in an IoT system that are used to communicate
between the system and server like the request-response model, publish-subscribe model, push-pull
model, and exclusive pair model, etc.
In simple terms, we can say that in the request-response model server sends the response
equivalent to the request of the client. In this model, HTTP works as a request-response
protocol between a client and server.
The APIs like REST and WebSocket are used to communicate between the server and system in IoT.
Representational state transfer(REST) API uses a set of architectural principles that are used to
design web services. These APIs focus on the systems' resources and how resource states are
transferred using the request-response communication model. This API uses some architectural
constraints.
Client-server : Here the client is not aware of the storage of data because it is concerned about the
server and similarly the server should not be concerned about the user interface because it is a
concern of the client. and this separation is needed for independent development and updating of
server and client. no matter how the client is using the response of the server and no matter how the
server is using the request of the client.
Stateless : It means each request from the client to the server must contain all the necessary
information to understand by the server. because if the server can't understand the request of the
client then it can't fetch the request data in a proper manner.
Cacheable : In response, if the cache constraints are given then a client can reuse that response in a
later request. it improves the efficiency and scalability of the system without loading the extra data.
This type of API allows bi-directional full-duplex communication between server and client
using the exclusive pair communication model. This API uses full-duplex communication so
it does not require a new connection setup every time when it requests new data. WebSocket
API begins with a connection setup between the server and client and if the WebSocket is
supported by the server then it responds back to the client with the successful response and
after setup of a connection server and client can send data to each other in full-duplex mode.
This type of API reduces the traffic and latency of data and makes sure that each time when
we request new data it cannot terminate the request.
IOT Enabling Devices :
1) WIreless Sensor Network : A WSN comprises distributed devices with sensors which are used to
monitor the environmental and physical conditions. A wireless sensor network consists of end nodes,
routers and coordinators. End nodes have several sensors attached to them where the data is passed to a
coordinator with the help of routers. The coordinator also acts as the gateway that connects WSN to the
internet.
Example –
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 –
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 underlying hardware, software provisioning and hosting.
Computing platforms such as hardware, operating systems and 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.
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 system such as a 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.
Data encoding
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.
Architecture Of IOT :
IOT technology has a wide variety of applications and use of the Internet of Things is growing so fast.
Depending upon different application areas of Internet of Things, it works accordingly as per it has
been designed/developed. It doesn't have a standard defined architecture of working which is strictly
followed universally. The architecture of IoT depends upon its functionality and implementation in
different sectors.
Sensing Layer
Sensors, actuators, devices are present in this Sensing layer. These Sensors or Actuators accepts
data(physical/environmental parameters), processes data and emits data over network
.
Network Layer
Internet/Network gateways, Data Acquisition System (DAS) are present in this layer. DAS performs data
aggregation and conversion functions (Collecting data and aggregating data then converting analog
data of sensors to digital data etc). Advanced gateways which mainly opens up connection between
Sensor networks and Internet also performs many basic gateway functionalities like malware
protection, and filtering also sometimes decision making based on inputted data and data
management services, etc.
Data processing Layer
This is the processing unit of the IoT ecosystem. Here data is analyzed and pre-processed before
sending it to the data center from where data is accessed by software applications often termed as
business applications where data is monitored and managed and further actions are also prepared. So
here Edge IT or edge analytics comes into picture.
Application Layer
This is the last layer of 4 stages of IoT architecture. Data centers or cloud is the management stage of
data where data is managed and is used by end-user applications like agriculture, health care,
aerospace, farming, defense, etc.
Taxonomy
An IOT device is made up of a Physical object (“thing”) + Controller (“brain”) + Sensors and Actuators +
Networks (Internet).
Sensors in the device sense the environment, then control signals are generated for the actuators
according to the actions needed to perform.
The control system acts upon an environment through the actuator. It requires a source of energy and a
control signal. When it receives a control signal, it converts the source of energy to a mechanical
operation.
An actuator is a machine component or system that moves or controls the mechanism or the system.
1. Sensor: Sensor is a device used for the conversion of physical events or characteristics
into electrical signals. This is a hardware device that takes the input from the environment
and gives it to the system by converting it.
For example, a thermometer takes the temperature as a physical characteristic and then
converts it into electrical signals for the system.
2. Actuator: Actuator is a device that converts the electrical signals into the physical events
or characteristics. It takes the input from the system and gives output to the environment.
For example, motors and heaters are some of the commonly used actuators.
Sensor Actuator
It takes input from the environment. It takes input from output conditioning of the
system.
It gives output to the input conditioning unit It gives output to the environment.
of the system.
It is placed at the input port of the system. It is placed at the output port of the system.
It is used to measure the physical quantity. It is used to measure continuous and discrete
process parameters.
It gives information to the system about the It accepts commands to perform a function.
environment.
Example: Photo-voltaic cell which converts Example: Stepper motor where electrical energy
light energy into electrical energy drives the motor
IoT is the connection of devices over the internet, where these smart devices communicate with each
other , exchange data , perform some tasks without any human involvement. These devices are
embedded with electronics, software, network and sensors which help in communication.
Communication between smart devices is very important in IOT as it enables these devices to gather,
exchange data which contributes to the success of that IOT product/project.
Types,
In this human gives input to IOT devices i.e as speech/text/image etc. IOT devices (Machine) like
sensors and actuators then understands input, analyses it and responds back to humans by means of
text or Visual Display. This is very useful as these machines assist humans in everyday tasks. It is a
combo of software and hardware that includes human interaction with a machine to perform a task.
Merits: This H2M has a user-friendly interface that can be quickly accessed by following the
instructions. It responds more quickly to any fault or failure. Its features and functions can be
customized.
Examples:
● Facial recognition.
● Biometric Attendance system.
● Speech or voice recognition.
In this the interaction or communication takes place between machines by automating data/programs.
In this machine level instructions are required for communication. Here communication takes place
without human interaction. The machines may be either connected through wires or by wireless
connection. An M2M connection is a point-to-point connection between two network devices that helps
in transmitting information using public networking technologies like Ethernet and cellular networks.
IoT uses the basic concepts of M2M and expands by creating large “cloud” networks of devices that
communicate with one another through cloud networking platforms.
Advantages –
This M2M can operate over cellular networks and is simple to manage. It can be used both indoors and
outdoors and aids in the communication of smart objects without the need for human interaction. The
M2M contact facility is used to address security and privacy problems in IoT networks. Large-scale
data collection, processing, and security are all feasible.
Disadvantages –
However, in M2M, use of cloud computing restricts versatility and creativity. Data security and
ownership are major concerns here. The challenge of achieving interoperability between cloud/M2M
IoT systems is daunting. M2M connectivity necessitates the existence of a reliable internet connection.
Examples:
● Smart Washing machines send alerts to the owners’ smart devices after completion of washing or
drying of clothes.
● Smart meters track the amount of energy used in households or in companies and automatically
alert the owner.
Examples:
● Fire Alarms
● Traffic Light
● Fitness bands
● Health monitoring devices
This is generally how humans communicate with each other to exchange information by speech,
writing, drawing, facial expressions, body language etc. Without H2H, M2M applications cannot
produce the expected benefits unless humans can immediately fix issues, solve challenges, and
manage scenarios.
IOT Middleware
Is software that serves as an interface between components of the IOT, making communication
possible among elements that would not otherwise be capable.
Middleware connects different, often complex and already existing programs that were not originally
designed to be connected. The essence of the Internet of Things is making it possible for just about
anything (any Thing) to be connected and to communicate data over a network. Middleware is part of
the architecture enabling connectivity for huge numbers of diverse Things by providing a connectivity
layer for sensors and also for the application layers that provide services that ensure effective
communications among software.
Mulesoft, Oracle, RedHat and WSO2 are among the companies that offer IoT middleware. These
products provide API management as well as basic messaging, routing and message transformation.
More comprehensive IoT platforms include middleware along with sensors and networking
components.
Middleware enables connection between complex programs that were not initially designed to be
connected, which makes it an integral part of the supporting architecture. There are many reasons why
middleware is needed to connect autonomous devices:
Devices must announce their presence and the services that they provide before connecting. In this
case, middleware takes the form of APIs, listing the devices, their capabilities, and services.
As IoT devices collect a large amount of data from their sensors and actuators, this data must be
analyzed in great detail. It is imperative to incorporate machine learning techniques into edge
computing. Edge IT processing systems offer computation and data processing at the edge of the
network where IoT connects the physical world to the cloud. A fundamental part of it is the seamless
and robust integration between IoT and cloud; between the physical world and the world of
computation.
3. Security
IoT devices have a strong integration into our personal lives. As the sales of smartwatches, smart
pillows, and voice commanded shower controls accelerate, security and privacy issues should also be
addressed. The middleware supporting IoT should have certain security controls, including user
authentication and access control management.
4. Cloud services
As the cloud is an integral part of IoT deployment, it is imperative for IoT middleware to have the
potential to run on various types of clouds.
Applications of IOT :
1. Wearables : Virtual glasses, fitness bands to monitor for example calorie expenditure and heart
beats, or GPS tracking belts, are just some examples of wearable devices that we have been using for
some time now.These are small and energy efficient devices, which are equipped with sensors, with the
necessary hardware for measurements and readings, and with software to collect and organize data
and information about users.
2. Health : The use of wearables or sensors connected to patients, allows doctors to monitor a patient's
condition outside the hospital and in real-time. Through continuously monitoring certain metrics and
automatic alerts on their vital signs, the Internet of Things helps to improve the care for patients and
the prevention of lethal events in high-risk patients.
3. Traffic Monitoring : The Internet of things can be very useful in the management of vehicular traffic
in large cities, contributing to the concept of smart cities.
4. Fleet Monitoring : The installation of sensors in fleet vehicles helps to establish an effective
interconnectivity between the vehicles and their managers as well as between the vehicles and their
drivers.
5. Agriculture : Smart farms are a fact. The quality of soil is crucial to produce good crops, and the
Internet of Things offers farmers the possibility to access detailed knowledge and valuable information
of their soil condition.
6. Smart Grid and energy Saving : The progressive use of intelligent energy meters, or meters equipped
with sensors, and the installation of sensors in different strategic points that go from the production
plants to the different distribution points, allows better monitoring and control of the electrical network.
7. Water Supply : A sensor, either incorporated or adjusted externally to water meters, connected to the
Internet and accompanied by the necessary software , helps to collect, process and analyze data, which
allows understanding the behavior of consumers, detecting faults in the supply service, report results
and offer courses of action to the company that provides the service.
8. Maintenance Management : One of the areas where the application of IoT technology is most
extensive is precisely maintenance management. Through the combination of sensors and software
maintenance management, a multifunctional tool is obtained whose use can be applied to a multiplicity
of disciplines and practices, with the purpose of extending the useful life of physical assets, while
guaranteeing asset reliability and availability.
UNIT - 3
Introduction to ARDUINO: Getting Started with ARDUINO products, Built-In Examples
ARDUINO I0T Cloud: ARDUINO 10T Cloud Components
UNIT - 4
Developing Internet of Things & Logical Design using Python: Introduction, IOT Design
Methodology.
Basics of Python: Python Data Types & Data Structures, Control Flow, Functions, Modules,
Packages, File Handling, Date/ Time Operations, Classes.
UNIT - 5
IOT Physical Devices & Endpoints: What is an IOT Device, Exemplary Device, Board, Linux on
Raspberry Pi,
Interfaces, and Programming & IOT Devices.
**Good Luck**