Module-1
Module-1
ud
Module-1
Internet of Things: Introduction
Physical design
Logical design
Enabling technologies
lo
Levels & deployment templates.
C
tu
V
ud
that are connected to the internet and is driven by the advancement in
Sensor Networks, Mobile Devices, Wireless communication, Networking
& Cloud Technologies. There are over 50 billion devices connected to the
internet.
SCOPE OF IoT lo
IoT connects things/devices, appliances, machines to the internet. The
scope is not just limited to connect these, IoT allows these things to
communicate, control and exchange data associated with the users. The
data from the devices is raw. Data has to processed into the useful
information for a specific application. The data has to be extracted from
C
lower level by filtering. The data has to be processed, categorized,
condensed and contextualized to get the useful information.
Information
tu
Data Knowledge
Raw and Information is Knowledge is
unprocessed inferred from inferred from
data obtained data by filtering, information by
from IOT processing, organizing and
devices/systems categorizing, structuring
V
Definition of IOT
ud
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 interface and are
seamlessly integrated into the information network, often communication
data associated wit users and their environment.
Characteristics of IOT :
lo
1. Dynamic and self-adapting : IOT devices have the capability of adapting
dynamically with the changing contexts and taken necessary actions
based on the sensed environment.
C
For example : the survelliance cameras can adapt their modes based on
whether its day or night.cameras will switch from lower resolution to high
resolution.
tu
4. Unique identity : Each IOT device has a unique identity and a unique
identifier (like IP addr or a URI) IOT devices interfaces allow users to query
the devices, monitor their status and control them remotely.
5. Integrated into Information network: IOT devices are usually integrated
into the information network that allows them to exchange data with
other devices and systems. Integration will make IOT systems smarter.
Example weather monitoring node can describe its monitoring
capabilities to another connected node so that they can exchange data
and communicate.
ud
lo
C
Fig: Generic Block diagram of an IOT device
An IOT device may consist of several interfaces for connecting with other
tu
An IOT device can collect data from various types of data from on board
or attached sensors such as temperature, humidity, light intensity.
The sensed data can be communicated either to other devices or cloud
based servers/storage.
IOT devices can be connected to actuators that allow them to interact
with other physical entities.
ud
Automobiles
Energy systems
Retail payment status
Printers
Industrial machines
Health care systems
Surveillance systems
IOT Protocols
lo
IoT protocol stack has 4 layers.namely,
C
1. Link layer
2. Network/internet layer
3. Transport layer
4. Application layer
tu
1. Link layer:
This layer determines how the data is physically sent over the physical
layer or medium. In the physical layer, it may comprise of copper wire,
coaxial cable or a radio wave. The scope of this layer is to connect the
V
local network to which host is attached. The link layer determines how
the data is coded and signaled over the medium within the local network
where the host is attached.
Some of the link layer protocols are tabulated here :
ud
LR-WPAN Personal Arear
communication protocols
Networks such as Zigbee, LR-WPAN.
low cost and low speed
communication over power
constrained devices.
2G/3G/4G- Mobile 2G (GSM & CDMA) 9.6 kps(2G)
communication 3G(UMTS & CDMA2000)to
lo
4G(LTE) 100 Mbps(4G)
2. Network layer :
This layer is responsible for sending IP datagrams from the source
network to the destination network. This layer does host addressing anf
C
packet routing.
The datagram contains the source and destination addr which are used
to route them across multiple networks.
The protocols in this layer are tabulated below:
tu
Protocol Description
IPv4 – the most deployed internet protocol.
Internet Protocol version 4 IPv4 uses 32 bit addressing scheme.
this does not guarantee delivery of packets.
V
3. Transport Layer:
This layer provides functions like Error Control, Segmentation, Flow
control and congestion control.
Protocol Description
TCP 1. This
– is used by applications of HTTP, web browsers,
Transmission SMTP, FTP.
control protocol
2. connection oriented and stateful protocol.
3. Reliable transmission.
4. ordered delivery of packets.
5. error detection
6. discrads duplicate packets.
ud
7. lost packets are retransmitted.
8. flow control
9. congestion control- avoids network congestion
UDP – 1. Connectionless protocol.
User Datagram
2. Doesnot guarantee delivery of packets.
Protocol 3. No ordered delivery
4. No duplicate elimination.
lo
C
tu
V
4. Application layer:
This layer defines how the applications interfaces with the lower layer
protocols to send the data over the network.
The few application layer protocols are listed below:
Protocol Description
HTTP This
– is the foundation of the WWW. HTTP includes
Hypertext commands like GET, PUT,POST,DELETE,HEAD,TRACE.
Transfer This follows request-response model, where a client sends
Protocol requests to a server using commands.
http protocol uses URI to identify HTTP Resources.
ud
COAP- this is for Machine to Machine(M2M) applications.
Constrained this is a web transfer protocol which uses request response
Application mode.
protocol this runs on UDP.
this includes commands like GET, PUT,POST,DELETE,
WebSocket This allows full duplex communication over a single socket.
this is used to sending messages between client and server.
lo
this is based on TCP. This is used when stream of messages
to be sent back and forth between the client and server.
MQTT-Message A light weight messaging protocol based on publish subscribe
Queue model.
Telemetry the client connects to the server and publishes messages to
C
Transport topics on the server. The broker forwards the messages to the
clients subscribed to topics.
suited for constrained envt.
limited processing and memory resources.
tu
XMPP- this is used for real time communication and streaming XML
Extensible data between network entities.
Messaging The
& applications involve messaging, presence, data
Presence syndication, gaming, multiparty chat and voice/video calls.
Protocol this uses client server model and also server to server
communication paths.
V
DDS- data centric middleware standard for device t device and M2M
Data communications.
Distribution uses publish-subscribe model.
Service ensures quality of service.
AMQP- application layer protocol for business messaging.
Advanced supports both point to point and publisher/subscriber
Message models, routing, queueing.
Queueing
protocol
ud
i. Devices : An IOT system comprises of devices that can sensing, Actuation
, Monitoring and control functions.
ii. Communication: This block handles the communication for the IOT
system.
iii. Services : An IOT system includes services such as Device monitoring,
lo
device control services, data publishing services and data discovery
services.
iv. Management : This block includes various functions to govern the IOT
system.
v. Security : security involves Authentication, Authorization, message and
C
content integrity and data security.
vi. Application : this provides an interface that the users can use to control
and monitor various aspects of the system.
tu
V
1. Request-Response Model
i. Request Response Model is a communication model.
ud
ii. Client sends requests to the server and the server responds to the
requests.
iii. 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.
iv. It is a stateless communication model
lo
C
tu
ud
Fig : publish- service communication Model
3, Push-Pull Communication Model :
Push pull is a communication model in which the data producers push
the data to queue.
lo
The consumers pull the data from the queues.
Queues help in decoupling the messaging between the producers and
consumers.
C
Queue also act as a buffer which helps when there is a mismatch
between the rate at which the producers push data and the rate at
which the consumers pull data.
tu
V
ud
lo
C
Fig : Exclusive Pair communication Model
tu
ud
interactions and improve efficiency and stability.
Layered System: layered system constrains the behavior of components
such that each component cannot see the components other than the
immediate layer (with which it is interacting)
Uniform Interface: This constraint ensures the communication between
a client and a server must be uniform. Resources are identified based
lo
on the requests requested by the client. When a client holds a resource,
A client has all the information required to update or delete the
resource.
Code on demand: servers can provide executable code or scripts for
clients to execute.
C
A RESTful web service is a web API implemented using HTTP and REST
principles. The below figure shows the communication between client
and server using REST APIs.
tu
V
ud
HTTP Resource Actions Examples
Method Type
GET collection URIlists all the http://example.com/api/tasks
resources in a (list all tasks)
collection
GET Element URI Get information
lo
about a
resource
http://example.com/api/tasks/1
get the information about task-1
collection
PUT Element URI Update a http://example.com/api/tasks/1
resource (update task-1 with data provided in
the request)
DELETE collection URIdelete the entire
http://example.com/api/tasks/
V
POST Method:
POST is used to send data to a server to create/update a resource.
POST requests do not remain in the browser history.
POST request repeatedly have side effects of creating the same resource
ud
multiple times.
PUT Method:
PUT is used to send data to a server to create/update a resource.
PUT requests are idempotent. That is, calling the same PUT request
multiple times will always produce the same result.
HEAD Method:
lo
HEAD is almost identical to GET, but without the response body.
DELETE Method:
The DELETE method deletes the specified resource.
C
2. Websocket-based communication APIs
Websocket API s allow bi-directional, full duplex communication
between clients and servers.
tu
ud
lo
C
tu
ud
Weather monitoring systems use WSNs in which the nodes collect
temperature, humidity and other data, which is aggregated and analyzed.
Indoor air quality monitoring systems use WSNs to collect data on the
indoor air quality and concentration of various gases.
Soil moisture monitoring systems use WSN to monitor soil moisture at
lo
various locations.
Smart grids use WSNs for monitoring the grid at various points.
Structural health monitoring systems use WSNs to monitor the health of
structures(building,bridges) by collecting vibration data from sensor
nodes deployed at various points in the structure.
C
WSNs are enabled by communication protocols such as IEEE 802.15.4,
Zigbee. This operates at 2.4 GHz and offers 250 kbps and range from 10
to 100 mts.
tu
to the users. This is pay per model. Cloud computing resources are
provisioned on-demand by the users. The cloud service providers serve
multiple users using multi-tenancy.
Multi-tenant allows multiple users to be served by the same physical
hardware (virtualization).
There are different cloud models
Infrastructure as a service (Iaas) – Iaas provides computing and storage
resources to the users. The resources are provided with virtual machine
instances and virtual storage. Users can start, stop, configure and
manage these.
Platform as a service (Paas) – Paas provides the users the ability to
develop and deploy application in the cloud using the development tools,
APIs, software libraries and services provided by the cloud service
providers(CSP). The CSP manages the infrastructure like servers,
network, operating systems and storage. The users are responsible for
developing, deploying, configuring and managing applications.
Software as a service (SaaS) – SaaS provides the users a complete
software application or the user interface to the application. Applications
ud
are provided to the user through a thin client interface (ex. browser).saas
application are platform independent and can be accessed from various
client devices such as workstations, laptop, tablets and smart phones,
running different operating systems.
3. Variety: Variety refers to different forms of the data. Big data can be
structured or unstructured data including text data, image, audio, video
and sensor data.
iv. Communication protocols:
Communication protocols are the backbone of IoT systems and enable
network connectivity and coupling to applications. These allow devices to
exchange data over the network. These protocols define the data
exchange formats, data encoding, addressing schemes for devices and
ud
IoT Levels & deployment Templates
An IoT system comprises of the following components:
1. Device: An IOT device allows identification ,remote sensing,actuating and
remote monitoring capabilities.
2. Resources: these are software components on the IoT device for
accessing, processing and storing sensor information, controlling
lo
actuators connected to the device and enables network access for the
device.
3. Controller service: this is a native source that runs on the device and
interacts with the web services. This sends data from the device to the
web service and receives commands from the application for controlling
C
the device.
4. Database: Database can be either local or in the cloud and stores the
data generated by the iot device.
tu
5. Web service: These serve as the link between the IOT device, application,
database and analysis component. Web service can be implemented
using HTTP & REST principles or websocket protocol.
6. Analysis component: this component is responsible for analyzing the IOT
data and generate results in a form which are easy to understand.
Analysis can be done on local storage or cloud. The results can be stored
V
1 The services are stateless. The services are stateful. The server
Each request contains all maintains the state and is aware of all
the information needed to the open connection.
process. Requests are
independent to one another
2 The services operate over HTTp.websocket services are bi-directional.
requests are unidirectional. The client and server both can send
request is always sent by messages.
a client and the server responds
to the requests.
3 REST services follow a request-websocket services follow a full duplex
ud
response communication model communication.
4 Each HTTP request involves single TCP connection.
involves setting up a new TCP
connection.
5 Each request carries websocket does not involve overhead
HTTP headers, the header
lo of headers. Web socket is suitable for
overhead is more hence it is not
real time applications.
suitable for real time
applications.
6 scalability is easy. scalability is cumbersome.
C
IOT Level-1
i. An Level-1 IoT system has a single node/device which performs
sensing, actuation, stores data, performs analysis and hosts the
application.
tu
ii. This is suitable for modeling low cost and low complexity systems.
iii. The data involved is not big.
iv. The analysis requirements are not computationally intensive.
For example : IoT system for home automation
The system consists of single node that allows controlling the lights and
V
ud
IOT Level-2
lo
A level-2 IoT system has a single node which performs sensing
and/or actuation and local analysis.
Data is big and stored in the cloud.
C
Applications are also cloud based.
The primary analysis requirement is not computationally intensive
and can be done locally.
For Example : Smart Irrigation system – A single node monitors
tu
the soil moisture level and controls the irrigation system. The soil
moisture data is collected from the sensor. The controller service
monitors continuously. The irrigation system will be turned on if
the moisture level drops below the threshold. The actuators like
solenoid valves are used to control the irrigation system.
V
A cloud based REST web service is used for storing and retrieving
moisture data.
A cloud based application is used for visualizing the moisture
levels over a period of time which helps in making decisions and
schedules of irrigation system.
ud
IOT Level-3
lo
This system has a single node that performs sensing and /or
actuation.
Data and application are cloud based.
C
Data involved is big.
The analysis requirement are computationally intensive.
tu
V
ud
For example :
lo
IOT system for tracking package. The system consists of a single node
for a package which monitors the vibration levels for a package being
shipped. The device uses accelerometer and gyroscope sensors for
C
monitoring vibration levels. The controller service sends the sensor data
to the cloud in real time using websocket service. The analysis
components in the cloud can trigger alerts if the vibration levels become
greater than a threshold.
tu
IOT Level-4
This level IoT System has multiple nodes.
Data and application are cloud based.
This has cloud based observer nodes, which can subscribe to and
receive information collected in the cloud from IoT devices.
V
ud
lo
Example : IoT system for Noise Monitoring
The IoT system has multiple nodes placed in different locations for
monitoring noise levels in an area. The sound sensors are
employed. Each node has its own controller service which sends
C
data to the cloud. The data and analysis are done in the cloud
database. A cloud based app is used for visualizing the aggregated
data.
tu
IOT Level-5
This IoT level has multiple nodes and one coordinator node.
The end nodes perform sensing and/or actuation.
Coordinator node collects data from the end nodes and sends to
the cloud.
Data storage and application is cloud based.
V
ud
lo
For Example: IoT system for forest fire detection.
The system consists of multiple nodes placed in different locations. the
nodes are equipped with sensors that can monitor temperature,
humidity and carbon dioxide levels in a forest. The coordinator node
C
collects the data from the end nodes and acts as a gateway that
provides internet connectivity. The data and application are cloud
based.
IOT Level-6
tu
ud
lo
For example: IoT system for weather monitoring.
This system consists of multiple node sensors placed in different
locations for monitoring temperature , humidity and pressure in an
area. The end nodes send the data to the cloud in real time using a
C
websocket service. A cloud based app is used for visualizing the data.
********
tu
V