Unit 1
Unit 1
Collecting data
Processing data
Taking the Action
Storing data
Definition of IoT
Self – Configuring
IoT devices may have self-Configuring capability allowing a large number of
devices to work together to provide certain functionality .
Interoperable communication protocols
IoT Devices may support a number of interoperable communication protocols
and can communicate with other devices and also with the infrastructure.
Unique Identity
Each IoT devices has a unique identity and a unique identifier. (IP address, URI).
IoT systems may have intelligent interfaces which adapt based on the context,
allow communication with users and the environment contexts.
Protocols
• 802.3-Ethernet:IEEE802.3 is collection of wired Ethernet standards for the
link layer.
• 802.11-WiFi: IEEE802.11 is a collection of wireless LAN(WLAN)
communication standards of link layer
• 802.16 - WiMax: IEEE802.16 is a collection of wireless broadband standards
of link layer.
• 802.15.4-LR-WPAN: IEEE802.15.4 is a collection of standards for low rate
wireless personal area network(LR-WPAN).
• 2G/3G/4G-Mobile Communication
Network/Internet Layer
Responsible for sending IP datagrams from source n/w to destination n/w
Protocols
• IPv4: Internet Protocol version4 is used to identify the devices on a n/w. It
uses 32 bit addresses
• IPv6: Internet Protocol version6 uses 128 bit address scheme and allows
2*128 addresses.
• 6LOWPAN:(IPv6 over Low power Wireless Personal Area Network) operates in
2.4 GHz frequency range.
Transport Layer:
Provides end-to-end message transfer capability independent of the underlying
n/w.
Protocols:
TCP: Transmission Control Protocol used by web browsers(along with HTTP and
HTTPS), email(along with SMTP, FTP). Connection oriented and stateless
protocol. IP Protocol deals with sending packets, TCP ensures reliable
transmission of protocols in order.
Protocols:
•HTTP: Hyper Text Transfer Protocol that forms foundation of WWW. Follow request response model
Stateless protocol.
•CoAP: Constrained Application Protocol for machine-to-machine(M2M) applications with
constrained devices, constrained environment and constrained n/w. Uses client-server architecture.
•WebSocket: allows full duplex communication over a single socket connection.
•MQTT: Message Queue Telemetry Transport is light weight messaging protocol based on publish
subscribe model. Uses client server architecture.
•XMPP: Extensible Message and Presence Protocol for real time communication and streaming XML
data between network entities. Support client-server and server-server communication.
•DDS: Data Distribution Service is data centric middleware standards for device-to-device or
machine-to-machine communication. Uses publish-subscribe model.
• AMQP: Advanced Message Queuing Protocol is open application layer protocol for business
messaging. Supports both point-to-point and publish-subscribe model.
Logical Design of IoT
• Publish-Subscribe is a
communication model that
involves publishers, brokers and
consumers.
• Publishers are the source of data.
Publishers send the data to the
topics which are managed by the
broker. Publishers are not aware of
the consumers.
• Consumers subscribe to the topics
which are managed by the broker.
• When the broker receives data for a
topic from the publisher, it sends
the data to all the subscribed
consumers.
Push-Pull communication model
• Push-Pull is a
communication model in
which the data producers
push the data to queues
and the consumers pull the
data from the queues.
Producers do not need to
be aware of the consumers.
• Queues help in decoupling the
messaging between the
producers and consumers.
• Queues also act as a buffer
which helps in situations
when there is a mismatch
between the rate at which the
producers push data and the
rate rate at which the
consumers pull data.
Exclusive Pair communication model
• Exclusive Pair is a
bidirectional, fully duplex
communication model that
uses a persistent connection
between the client and
server.
• Once the connection is setup
it remains open until the client
sends a request to close the
connection.
• Client and server can send
messages to each other after
connection setup.
IoT Communication APIs
• Database: Database can be either local or in the cloud and stores the data
generated by the IoT device.
• Web Service: Web services serve as a link between the IoT device,
application, database and analysis components.
Web service can be either implemented using HTTP and REST principles
(REST service) or using WebSocket protocol (WebSocket service).
• Analysis Component: The Analysis Component is responsible for analyzing
the IoT data and generate results in a form which are easy for the user to
understand.
• Application: IoT applications provide an interface that the users can use to
control and monitor various aspects of the IoT system. Applications also
allow users to view the system status and view the processed data.
IoT Level-1
Introduction
Home Automation
Smart Cities
Environment
Retail
Logistics
Agriculture
Health and Lifestyle
Introduction
The Internet of Things (IoT) applications span a wide range of applications including homes, cities,
environment, energy systems, retail, logistics, industry, agriculture and health. This chapter provides
an overview of various types of IoT applications for each of these domains.
Home Automation
IoT Applications for Smart home includes
Smart Lighting
Smart Appliances
Intrusion detection
Smoke detectors
Home Automation
Smart Lighting
Modern homes have a number of appliances such as TVs, refrigerators, music systems etc.
Smart thermostats allow controlling the temperature remotely and can learn the user preferences.
Smart refrigerators can keep track of the items stored and send updates to the users when an item is
low on stock.
Smart TVs allows users to search and stream videos and movies from the Internet on a local storage
drive, search TV channel schedules and fetch news, weather updates and other content from the
Internet.
Home Automation
Intrusion Detection
Home Intrusion detection system uses a security cameras and sensors such as PIR sensors and door
sensors to detect intrusions and raise alerts.
Alerts can be in the form of an SMS or an email sent to the user.
Advanced systems can even send detailed alerts such as an image grab or a short video clip sent as an
email attachment.
A cloud controlled intrusion detection system uses location aware services, where the geo location of
each node of a home automation system is independently detected and stored in the cloud.
Home Automation
Smoke Detectors
Smoke detectors are installed in homes and buildings to detect smoke that is typically an early sign of
fire.
Smoke detectors use optical detection, ionization or sampling techniques to detect smoke.
Alerts raised by smoke detectors can be in the form of signals to a fire alarm system.
Gas detectors can detect the presence of harmful gases such as carbon monoxide (CO), liquid
petroleum is and send an SMS or email to the user or the local fire safety department and provide
feedback on its status.
Smart Cities
IoT Applications for Smart cities includes
Smart Parking
Smart Lighting
Smart Roads
Smart Cities
Smart Parking
Smart parking make the search for parking space easier and convenient for drivers.
Smart parking are powered by IoT systems that detect the number of empty parking slots and send the
information over the internet
These applications can be accessed by the drivers from smart phones, tablets and in car navigation
systems.
In smart parking, sensors are used for each parking slot, to detect whether the slot is empty or
occupied. This information is aggregated by a local controller and then sent over the internet to the
database.
Smart Cities
Smart Lighting
Smart lighting allows lighting to be dynamically controlled and also adaptive to the ambient
conditions.
Smart lights connected to the internet can be controlled remotely to configure lighting schedules and
lighting intensity.
Custom lighting configurations can be set for different situations such as foggy day, a festival etc.
smart lights equipped with sensors can communicate with other lights and exchange information on the
sensed ambient conditions to adapt the lighting.
Smart Cities
Smart Roads
Smart roads equipped with sensors can provide information on driving conditions, travel time
estimates and alerts in case of poor driving conditions, traffic congestions and accidents.
Such information can help in making the roads safer and help in making the roads safer and help in
reducing traffic jams. Information sensed from the roads can be communicated via the Internet to cloud
based applications and social media and disseminated to the drivers who subscribe to such applications.
Environment
IoT Applications for Environment includes
Weather monitoring
Air pollution Monitoring
Forest Fire Detection
Environment
Weather monitoring
Weather monitoring systems can collect data from a number of sensor attached such as temperature,
pressure etc.., and send the data to cloud based applications and storage back ends.
The data collected in the cloud can then be analyzed and visualized by cloud based applications.
Weather alerts can be sent to the subscribed users from such applications.
Forest fires can cause damage to natural resources, properly and human life. There can be different
cause of forest fires including lightening, human negligence, volcanic eruptions and sparks from rock
fails.
Early detection of forest fires can help in minimizing the damage. IoT based forest fire detection
systems use a number of monitoring nodes deployed at different locations in forest. Each monitoring
node collects measurements on ambient conditions including temperature, humidity, light levels etc.
Retail
IoT Applications for Retail includes
Inventory Management
Smart Payments
Smart Vending machine
Retail
Inventory Management
Smart Payments
Smart payment solutions such as contact less payments powered by technologies such as Near field
communication (NFC) and Bluetooth. Near field communication (NFC) is a set of standards for smart
phones and other devices to communicate with each other by bringing the smart phones near the point
of sale terminals, these can be used in combination with Bluetooth.
Retail
Smart Vending machine
Smart vending machines connected to the Internet allow remote monitoring of inventory levels, elastic
pricing of products, promotions, and contact less payments using NFC.
Smart phone applications that communicate with smart vending machines allow user preferences to be
remembered and learned with time.
When a user moves from one vending machine to the other and pairs the smart phone the vending
machine, a user specific interface is presented.
Users can save their preferences and favorite products. Sensors in a smart vending machine monitor its
operations and send data to the cloud which can be used for predictive maintenance.
Logistics
IoT Applications for Logistics includes
Modern transportation systems are driven by data collected from multiple sources.
By collecting large amount of data from various sources and processing the data into useful
information
Data driven transportation systems can provide new services such as advanced route guidance,
dynamic vehicle routing
Route generation and scheduling systems can generate end to end routes.
Shipment Monitoring
Shipment monitoring solutions for transportation systems allow monitoring the conditions inside
containers.
For example, containers carrying fresh food produce can be monitored to prevent spoilage of food.
IoT based shipment monitoring systems use sensors such as temperature, pressure, humidity, for
instance, to monitor the conditions inside the containers and send the data to the cloud, where it can be
analyzed to detect food spoilage.
Logistics
Remote Vehicle diagnostics
Remote vehicle diagnostics systems can detect faults in the vehicles or warn of impending faults.
These diagnostic systems use on board IoT devices for collecting data on vehicle operation and status
of various vehicle sub systems.
Such data can be captured by integrating on-board diagnostic systems with IoT devices using
protocols such as CAN bus.
Modern commercial vehicles support on-board diagnostic (OBD) standards such as OBD-II.
OBD systems provide real time data on the status of vehicle sub systems and diagnostic trouble codes
which allow rapidly identifying the faults in the vehicle.
IoT based vehicle diagnostic systems can send the vehicle data to centralized servers or the cloud
where it can be analyzed to generate alerts and suggest remedial actions.
Agriculture
IoT Applications for Agriculture includes
Smart irrigation
Green House Control
Agriculture
Smart irrigation
Smart irrigation systems can improve crop yields while saving water.
Smart irrigation systems use IoT devices with soil moisture sensors to determine the amount of
moisture in the soil and release the flow of water through the irrigation pipes only when the moisture
levels go below a predefined threshold.
Smart irrigation systems also collect moisture level measurements on a server or in the cloud where
the collected data can be analyzed to plan watering schedules.
Agriculture
Green House Control
Green houses are structures with glass or plastic roofs that provide conductive environment for growth
of plants.
The climatological conditions inside a green house can be monitored and controlled to provide the
best conditions for growth of plants.
The temperature, humidity, soil moisture, light and carbon dioxide levels are monitored using sensors
and the climatological conditions are controlled automatically using actuation devices.
IoT systems play an important role in green house control and help in improving productivity.
The data collected from various sensors is stored on centralized servers or in the cloud where analysis
is performed to optimize the control strategies and also correlate the productivity with different control
strategies.
Health and Lifestyle
IoT Applications for Health and Lifestyle includes
Health and Fitness Monitoring
Wearable Electronics
Health and Lifestyle
Health and Fitness Monitoring
Wearable IoT devices that allow non-invasive and continuous monitoring of physiological parameters
can help in continuous health and fitness monitoring.
The wearable devices form a type of wireless sensor networks called body area networks in which the
measurements from a number of wearable devices are continuous sent to a master node such as smart
phone which then sends the data to a server or a cloud based back end for analysis and archiving.
Health care providers can analyze the collected health care data to determine any health conditions or
anomalies. Commonly uses body sensors include body temperature, heart rate, pulse oximeter oxygen
saturation (SPo2), blood pressure, electrocardiogram (ECG).
Health and Lifestyle
Wearable Electronics
Wearable electronics such as wearable gadgets smart watches, smart glasses, wristbands etc and
fashion electronics with electronics integrated in clothing and accessories provide various functions and
features to assist us in daily activities and making us lead healthy lifestyles.
Smart watches that run mobile operating systems provide enhanced functionality beyond just
timekeeping.
With smart watches, the users can search the internet, play audio/video files, make calls and use
various kinds of mobile applications.
Smart glasses allows users to take photos and record videos, get map directions, check flight status
and search Internet using Voice commands.
Summary
For homes, IoT has several applications such as smart lighting that adapt the lighting to suit the
ambient conditions, smart appliances that can be remotely monitored and controlled and smart
smoke detectors.
For cities, applications of IoT include smart parking systems that provide status updates on
available slots.
For environment, you learned about IoT applications including weather monitoring, air pollution
and forest fire detection.
For retail domain, you learned about IoT applications such as inventory management, smart
payments and smart vending machines.
For agriculture domain, you learned about smart irrigation systems that help in saving water
while enhancing productivity and green house control systems.
For health applications generate much value to the end users and also provide new revenue
opportunities to service and systems providers when integrated to rating, billing and financial
applications.
IoT & M2M
Provide remote access to information without human involvement.
M2M
- Provides direct communication between individual
machines/devices.
- designed to communicate between devices for specific purpose.
- uses non IP based proprietary network.
IoT
- Provides internet communication between devices (i.e) provides
wide range of devices, sensors, actuators and applications that
communicate with the use of internet.
- uses broad networks protocol based on IP.
Machine-to-Machine (M2M) Architecture
Functionalities:
• Provides communication between machines for that it provides
connectivity.
• Provides data exchange between machines.
• Provides compatibility between different networks.
Purpose:
• Within the network nodes can communicate with each other.
• To communicate with remote M2M area network, M2M gateway is
required.
M2M gateway Structure
• Since non-IP based protocols are used within M2M area networks,
the M2M nodes within one network cannot communicate with
nodes in an external network.
• To enable the communication between remote M2M area
networks, M2M gateways are used.
Difference between IoT and M2M
• Communication Protocols
• M2M and IoT can differ in how the communication between the
machines or devices happens.
• M2M uses either proprietary or non-IP based communication protocols
for communication within the M2M area networks.
• Machines in M2M vs Things in IoT
• The "Things" in IoT refers to physical objects that have unique identifiers
and can sense and communicate with their external environment (and
user applications) or their internal physical states.
• M2M systems, in contrast to IoT, typically have homogeneous machine
types within an M2M area network.
Difference between IoT and M2M
• Applications
• M2M data is collected in point solutions and can be accessed by on-premises
applications such as diagnosis applications, service management applications,
and on- premisis enterprise applications.
• IoT data is collected in the cloud and can be accessed by cloud applications
such as analytics applications, enterprise applications, remote diagnosis and
management applications, etc.
Communication in IoT vs M2M
SDN
• Software-Defined Networking
(SDN) is a networking
architecture that separates
the control plane from the
data plane and centralizes the
network controller.
• Software-based SDN
controllers maintain a unified
view of the network and make
confi guration, management
and provisioning simpler.
Key elements of SDN
•Programmable
•Agility
• Network Function
Virtualization (NFV) is a
network architecture that
uses virtual machines (VMs)
to replace hardware
appliances. This allows
network operators to reduce
costs, increase agility and
deploy service faster.
• NFV is complementary to
SDN as NFV can provide
the infrastructure on
which SDN can run.
Key elements of NFV
• NFV can be used to virtualize the Home Gateway. The NFV infrastructure in the cloud
hosts a virtualized Home Gateway. The virtualized gateway provides private IP
addresses to the devices in the home. The virtualized gateway also connects to network
services such as VoIP and IPTV.
IoT System Management with NETCONF-
YANG
Outline
• Need for IoT Systems Management
• SNMP
• Network Operator Requirements
• NETCONF
• YANG
• IoT Systems Management with NETCONF-YANG
Need for IoT Systems Management
• Automating Configuration
• Monitoring Operational & Statistical Data
• Improved Reliability
• System Wide Configurations
• Multiple System Configurations
• Retrieving & Reusing Configurations
Simple Network Management Protocol
(SNMP)
• SNMP is a well-known and widely used
network management protocol that allows
monitoring and configuring network devices
such as routers, switches, servers, printers,
etc.
• SNMP component include
• Network Management Station (NMS)
• Managed Device
• Management Information Base (MIB)
• SNMP Agent that runs on the device
Limitations of SNMP
• SNMP is stateless in nature and each SNMP request contains all the
information to process the request. The application needs to be intelligent
to manage the device.
• SNMP is a connectionless protocol which uses UDP as the transport protocol,
making it unreliable as there was no support for acknowledgement of
requests.
• MIBs often lack writable objects without which device configuration is not
possible using SNMP.
• It is difficult to differentiate between configuration and state data in MIBs.
• Retrieving the current configuration from a device can be difficult with
SNMP.
• Earlier versions of SNMP did not have strong security features.
Network Operator Requirements
• YANG is a data modeling language used to model configuration and state data
manipulated by the NETCONF protocol
• YANG modules contain the definitions of the configuration data, state data, RPC calls that
can be issued and the format of the notifications.
• YANG modules defines the data exchanged between the NETCONF client and server.
• A module comprises of a number of 'leaf' nodes which are organized into a hierarchical
tree structure.
• The 'leaf' nodes are specified using the 'leaf' or 'leaf-list' constructs.
• Leaf nodes are organized using 'container' or 'list' constructs.
• A YANG module can import definitions from other modules.
• Constraints can be defined on the data nodes, e.g. allowed values.
• YANG can model both configuration data and state data using the 'config' statement.
YANG Module Example
• This YANG module is a YANG version
of the toaster MIB
• The toaster YANG module begins
with the header information
followed by identity declarations
which define various bread types.
• The leaf nodes
(‘toasterManufacturer’,
‘toasterModelNumber’ and
toasterStatus’) are defined in
the ‘toaster’ container.
• Each leaf node definition has a type
and optionally a description and
default value.
• The module has two RPC definitions
(‘make-toast’ and ‘cancel-toast’).
IoT Systems Management with NETCONF-
YANG
• Management System
• Management API
• Transaction Manager
• Rollback Manager
• Data Model Manager
• Configuration Validator
• Configuration Database
• Configuration API
• Data Provider API
Management System :
The operator uses a management system to send NETCONF messages
to configure the IoT device and receives state information and notifications
from the device as NETCONF messages.
Management API :
It allows management application to start NETCONF sessions.
Transaction Manager:
It executes all the NETCONF transactions and ensures that ACID
properties hold true for the transactions.
Rollback Manager :
It is responsible for generating all the transactions necessary to
rollback a current configuration to its original state.
Configuration Validator :
It checks if the resulting configuration after applying a transaction
would be a valid configuration.
Configuration Database:
It contains both configuration and operational data.
Configuration API :
Using the configuration API the application on the IoT device can be
read configuration data from the configuration datastore and write
operational data to the operational datastore.