IoT Unit 1

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 72

INTERNET OF THINGS

COURSE CODE: EC71

By:
Manjunath C Lakkannavar
Assistant Professor, Dept. of ECE
Ramaiah Institute of Technology, Bengaluru – 54
Email: manjunathl@msrit.edu
Mobile: +91-7411403673
OVERVIEW
Unit 1: Introduction & concepts
Unit 2: Developing Internet of Things, IoT Physical Devices and End Points
Unit 3: Smart Objects, IP as the IoT Network Layer
Unit 4: Data and Analytics for IoT, Securing IoT
Unit 5: IoT Case Studies
UNIT – I
Introduction & concepts: Definition and Characteristics of IoT, Things in IoT, IoT Protocols, IoT Functional
Blocks, IoT Communication Models, IoT Communication APIs, IoT Enabling Technologies, IoT Levels and
Deployment Templates, IoT and M2M, SDN and NFV for IoT, IoT System Management with NETCONFIG-
YANG

UNIT – II
Developing Internet of Things: IoT Platform Design Methodology, Specifications: Requirements, Process,
Domain, Information, Services, Level, Functional, Operational, Integration, Application Development

IoT Physical Devices and End Points: Basic Building Blocks of an IoT Device, Raspberry Pi, Linux on Raspberry
Pi, Raspberry Pi Interfaces: Serial, SPI, I2C
UNIT – III
Smart Objects: The “Things” in IoT, Sensors, Actuators, and Smart Objects, Sensor Networks, Connecting
Smart Objects, Communications Criteria, IoT Access Technologies.

IP as the IoT Network Layer: The Business Case for IP, The need for Optimization, Optimizing IP for IoT, Profiles
and Compliances, Application Protocols for IoT, The Transport Layer, IoT Application Transport Methods
UNIT – IV
Data and Analytics for IoT: An Introduction to Data Analytics for IoT, Machine Learning, Big Data Analytics Tools and
Technology, Hadoop, HDFS, Mapreduce, Apache spark, Apache storm, Edge streaming, Network Analytics

Securing IoT: A Brief History of OT Security, Common Challenges in OT Security, How IT and OT Security Practices and Systems
Vary, Formal Risk, Analysis Structures: OCTAVE and FAIR, The Phased Application of Security in an Operational Environment

UNIT – V
IoT Case Studies: Home automation: Supply of Gas and Water, Smart Meters, Smart lighting, Home intrusion detection; Smart
parking environment: Weather monitoring system, Weather reporting bot, Air Quality and monitoring pollutants, Forest fire
detection, Agriculture – Smart irrigation, IoT printer, VANET  

REFERENCE BOOKS:
1. Vijay Madisetti and ArshdeepBahga, “Internet of Things (A Hands -on-Approach)”, 1stEdition, VPT, 2014.
(ISBN: 978-8173719547) Edition, McGraw Hill Education, 2017.

2. David Hanes, Gonzalo Salgueiro, Patrick Grossetete, Robert Barton, Jerome Henry,"IoT Fundamentals: Networking
Technologies, Protocols, and Use Cases for the Internet of Things”, 1st Edition, Pearson Education (Cisco Press Indian
Reprint).
Unit 1

• Introduction to IoT
• IoT and M2M
• IoT System management with
NETCONF-YANG
Outline
• IoT definition
• Characteristics of IoT
• Physical Design of IoT
• Logical Design of IoT
• IoT Protocols
• IoT Levels & Deployment Templates
• Difference between IoT and M2M
• SDN and NFV for IoT
• NETCONF
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 of IoT
• Dynamic & Self-Adapting
 Dynamically adapt with changing contexts
 Take action based on operating conditions/user context / sensed environment
 Ex: Surveillance system

• Self-Configuring
 Setup networking
 Upgrade software with minimal user intervention

• Interoperable Communication Protocols


 Heterogeneous devices working together

• Unique Identity
 Monitor status
 Query device
 Control remotely
• Integrated into Information Network
 To communicate and exchange data with other devices and systems
 Data analysis and prediction
Physical Design of IoT

• The "Things" in IoT usually refers to IoT devices which have unique
identities and can perform remote sensing, actuating and monitoring
capabilities.
• IoT devices can:
• Exchange data with other connected devices and applications (directly or
indirectly), or
• Collect data from other devices and process the data locally or Send the data
to centralized servers or cloud-based application back-ends for processing the
data, or
• Perform some tasks locally and other tasks within the IoT infrastructure, based
on temporal and space constraints
• Eg: Mobile Phone
Generic block diagram of an IoT Device

• An IoT device may consist of several interfaces for


connections to other devices, both wired and wireless.
• I/O interfaces for sensors
• Interfaces for Internet connectivity
• Memory and storage interfaces
• Audio/video interfaces.

USB: Universal Serial Bus


RJ45: Registered Jack
UART: Universal Async. Rx. Tx.
SPI: Serial Peripheral Interface
I2C: Inter Integrated Circuit
CAN: Controller Area N/w
DDR: Double Data Rate
SD: Secure Digital
MMC: Multi Media Card
SDIO: Secure Digital I/O
• Protocols means Standard Rules and Regulations
IoT Protocols
• Every tasks will have respective protocols

• Protocols follows TCP/IP standards which is of 4 layers

TCP: Transmission Control Protocol and IP: Internet Protocol

• Link Layer
• 802.3 – Ethernet(10Mb/s to 40 Gb/s) – wired LAN
• 802.11 – WiFi (1 Mb/s to 6.75Gbp/s) – wireless LAN
• 802.16 – WiMax (1.5Mb/s to 1 Gb/s)
World wide interoperability for microwave access(multiple physical layer and
multiple MAC channels)
• 802.15.4 – LR-WPAN (40Kb/s – 250 Kb/s)
• 2G/3G/4G (9.6Kbps – 100Mb/s)

• Network/Internet Layer
• IPv4
• IPv6
• 6LoWPAN---2.4GHz, 250Kbp/s

• Transport Layer
• TCP- connection oriented, Reliable
• UDP- connectionless, used for time sensitive small data transfer

• Application Layer
• HTTP- Hyper text transfer protocol-TCP-request response(RR)
• CoAP- Constrained Application Protocol (M2M)-UDP-RR
• WebSocket- full duplex comm over single socket- CS
• MQTT- Message Queue telemetry transport- CS-pub/subs
• XMPP – extensible messaging and presence protocol- real time- CS-Server to
server
• DDS- Data Distribution Service- M to M- pub/subscribe
• AMQP- Advanced message queuing protocol – business messaging-
PP,Pub/sub
Logical Design of IoT

• Logical design of an IoT system


refers to an abstract
representation of the entities and
processes without going into the
low-level specifics of the
implementation.

• An IoT system comprises of a


number of functional blocks that
provide the system the capabilities Device- Sensing, actuation, monitoring and control
Communications- handles communication for IOT system
for identification, sensing, Services- service for device monitoring, device control services, data
actuation, communication, and publishing services and device discovery
management. Management- governs IOT system
Security- Authentication, Authorization data security and integrity
Application – interface for control and monitoring various aspects of
IOT
IOT Communication Models
Request-Response communication model

• Request-Response 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
representations, prepares the
response, and then sends the
response to the client.
• It is a stateless communication model
and each request response pair is
independent
Publish-Subscribe communication model

• 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
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 Application
Programming Interface (API)
REST-based Communication APIs
• 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.
• Constraints
 Client server- separation of concern- aids independent
development- client is concerned with user interface and server
with data storage.
 Stateless- all information regarding request is at client so
assumptions of storage at server cannot be made
 Cache-able- - cache-able response can be reused by client later.
This eliminates some interactions if request are same ,improves
efficiency and scalability
 Layered System- intermediate devices can respond if they have
a response for the request and not the server always . This
increases scalability
 Code on demand – servers can provide executable scripts for
clients to execute in their context
 Uniform interface
WebSocket-based Communication APIs

• WebSocket APIs allow bi-


directional, full duplex
communication between
clients and servers.
• WebSocket APIs follow the
exclusive pair communication
model and do not require new
connection to be setup for
each message to be sent.
• Suitable for IoT applications
with low latency or high
throughput requirements
Internet of Things (IoT) Enabling Technologies
• Wireless Sensor Network
• Cloud Computing
• Big Data Analytics
• Communications Protocols
• Embedded System
1. Wireless Sensor Network(WSN) :
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 –
• 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, webservers, storage, any device, and any software over the
internet.
Characteristics –
• Broad network access
• On demand self-services: can provides additional resources on your own
• Rapid scalability: we can increase services as per requirements
• Measured service: 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 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.
Several steps involved in analyzing big data –
• Data cleaning
• Munging (manipulate data)
• Processing
• 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 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.
They are used in 
• 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.
Embedded systems used in
Examples –
• Digital camera
• DVD player, music player
• Industrial robots
• Wireless Routers etc.
IoT Levels & Deployment Templates

An IoT system comprises of the following components:


• Device: An IoT device allows identification, remote sensing, actuating and
remote monitoring capabilities.
• Resource: Resources are software components on the IoT device for
accessing, processing, and storing sensor information, or controlling
actuators connected to the device. Resources also include the software
components that enable network access for the device.
• Controller Service: Controller service is a native service that runs on the
device and interacts with the web services. Controller service sends data
from the device to the web service and receives commands from the
application (via web services) for controlling the device.
IoT Levels & Deployment Templates

• 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

• A level-1 IoT system has a single


node/device that performs
sensing and/or actuation,
stores data, performs analysis
and hosts the application
• Level-1 IoT systems are suitable
for modeling low-cost and low-
complexity solutions where the
data involved is not big and the
analysis requirements are not
computationally intensive.
• Eg. Home automation
IoT Level-2

• A level-2 IoT system has a single


node that performs sensing and/or
actuation and local analysis.
• Data is stored in the cloud and
application is usually cloud-based.
• Level-2 IoT systems are suitable for
solutions where the data involved is
big, however, the primary analysis
requirement is not computationally
intensive and can be done locally
itself.
• Eg. Smart irrigation system where
moisture levels can be visualized
over a period of time
IoT Level-3

• A level-3 IoT system has a


single node. Data is stored and
analyzed in the cloud and
application is cloud-based.
• Level-3 IoT systems are suitable
for solutions where the data
involved is big and the analysis
requirements are
computationally intensive.
• Eg. Tracking package handling
where analysis and storage is
required on the cloud
IoT Level-4

• A level-4 IoT system has multiple nodes


that perform local analysis. Data is stored
in the cloud and application is cloud-based.
• Level-4 contains local and cloud-based
observer nodes which can subscribe to and
receive information collected in the cloud
from IoT devices. observer nodes can only
process the data but do not perform any
control action
• Level-4 IoT systems are suitable for
solutions where multiple nodes are
required, the data involved is big and the
analysis requirements are computationally
intensive.
• Eg. IoT system for noise monitoring- where
aggregated data can be visualized
IoT Level-5

• A level-5 IoT system has multiple end


nodes and one coordinator node.
• The end nodes that perform sensing
and/or actuation.
• Coordinator node collects data from
the end nodes and sends to the cloud.
• Data is stored and analyzed in the
cloud and application is cloud-based.
• Level-5 IoT systems are suitable for
solutions based on wireless sensor
networks, in which the data involved is
big and the analysis requirements are
computationally intensive.
• Eg: Forest fire detection system
IoT Level-6

• A level-6 IoT system has multiple


independent end nodes that perform
sensing and/or actuation and send data
to the cloud.
• Data is stored in the cloud and
application is cloud-based.
• The analytics component analyzes the
data and stores the results in the cloud
database.
• 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.
• Eg. Weather monitoring system
Machine-to-Machine (M2M)

• Machine-to-Machine (M2M) refers to networking of machines (or


devices) for the purpose of remote monitoring and control and data
exchange.

Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015


Machine-to-Machine (M2M)

• An M2M area network comprises of machines (or M2M nodes) which have
embedded hardware modules for sensing, actuation and communication.
• Various communication protocols can be used for M2M local area networks
such as ZigBee, Bluetooh, ModBus, M-Bus, Wirless M-Bus, Power Line
Communication (PLC), 6LoWPAN, IEEE 802.15.4, etc.
• The communication network provides connectivity to remote M2M area
networks.
• The communication network can use either wired or wireless networks (IP-
based).
• While the M2M area networks use either proprietary or non-IP based
communication protocols, the communication network uses IP-based networks.

Book website: http://www.internet-of-things-book.com


M2M gateway

• 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.

Book website: http://www.internet-of-things-book.com


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.
• M2M focus is on protocols below N/W layer and in IOT above N/W layer
• 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.

Book website: http://www.internet-of-things-book.com


Difference between IoT and M2M

• Hardware vs Software Emphasis


• While the emphasis of M2M is more on hardware with embedded modules, the emphasis of
IoT is more on software.
• Data Collection & Analysis
• M2M data is collected in point solutions and often in on-premises storage infrastructure.
• In contrast to M2M, the data in IoT is collected in the cloud (can be public, private or hybrid
cloud).
• 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.

Book website: http://www.internet-of-things-book.com


Communication in IoT vs M2M

Book website: http://www.internet-of-things-book.com


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 configuration,
management and provisioning
simpler.
• The underlying infrastructure in SDN
uses simple packet forwarding
hardware as opposed to specialized
hardware in conventional networks.

Book website: http://www.internet-of-things-book.com


Key elements of SDN

• Centralized Network Controller


• With decoupled control and data planes and centralized network controller,
the network administrators can rapidly configure the network.
• Programmable Open APIs
• SDN architecture supports programmable open APIs for interface between
the SDN application and control layers (Northbound interface).
• Standard Communication Interface (OpenFlow)
• SDN architecture uses a standard communication interface between the
control and infrastructure layers (Southbound interface).
• OpenFlow, which is defined by the Open Networking Foundation (ONF) is
the broadly accepted SDN protocol for the Southbound interface.

Book website: http://www.internet-of-things-book.com


Software Defined Networking
• Traditional NW Architecture
o Static architecture, doesn’t support dynamic, scalable computing / storage needs
o Control plane (signalling, routing) and Data plane (payload) are coupled
o Specialized network elements – routers, switches, etc.
o Proprietary interfaces (slow product life-cycles, limited innovation)
o More and more protocols to improve link speeds, reliability
o Lack of standard interfaces  Interoperability issues
o Difficult to make changes Nature of IoT Traffic
- Dynamic patterns
- Need for Scalability
- Need ease of (NW) management
• Software Defined Networking
o Manage NW services through abstraction of lower-level functionality
o Separate decision making (control plane) from action (data plane)
o Simple, inexpensive, scalable, agile, easy to manage
o Centralized Controller gets view of full network status (congestions, etc.) and take decisions
o Simple hardware – only packet forwarding
o Open APIs (interface between SDN app and Control layer)
o helps development of apps like QoS, access control, etc
o Standard APIs (interface between Control layer and Infrastructure layer) – OpenFlow
o Comm protocol – gives access to the forwarding plane of a NW switch / router over the NW
NFV

• Network Function
Virtualization (NFV) is a
technology that leverages
virtualization to consolidate
the heterogeneous network
devices onto industry
standard high volume servers,
switches and storage.
• NFV is complementary to SDN
as NFV can provide the
infrastructure on which SDN
can run.

Book website: http://www.internet-of-things-book.com


Key elements of NFV

• Virtualized Network Function (VNF):


• VNF is a software implementation of a network function which is capable of
running over the NFV Infrastructure (NFVI).
• NFV Infrastructure (NFVI):
• NFVI includes compute, network and storage resources that are virtualized.
• NFV Management and Orchestration:
• NFV Management and Orchestration focuses on all virtualization-specific
management tasks and covers the orchestration and life-cycle management
of physical and/or software resources that support the infrastructure
virtualization, and the life-cycle management of VNFs.
IoT System Management
IoT systems typically have complex SW and HW and employ deployment designs with combination of sensors,
actuators, software and network resources, data collection and analysis services and UIs.

IoT deployments are distributed, and, have multiple sensors / actuators


• Advanced capabilities are needed for managing multiple devices within a system, towards
1. Automating Configuration – to ensure all the devices or nodes in the system have the same configuration
2. Monitoring the Operational & Statistical Data – collection of runtime parameters for determining the
performance, maintaining statistical data
3. Improve Reliability – the management SW validating a configuration of the system before deployment
4. System Wide Configuration – ensure consistency and correctness of the configuration of the devices / nodes
across the system (If the configuration is managed / performed manually there is a scope for inconsistencies!!)
5. Multiple System Configurations – many valid configurations per the conditions / context / time
6. Retrieving and Reusing Configuration
Simple Network Management Protocol (SNMP)
• SNMP is a widely used protocol for monitoring and configuring
network devices such as Routers, Switches, Servers etc
• The components / entities involved in the managing a device using
SNMP are: Network Management Station (NMS), Managed Device,
SNMP Agent and MIB
• The NMS executes SNMP commands to monitor and configure the Network
managed device Management Station
• The MIB on the managed device contains all the information of the
Managed Device
device attributes to be managed
• MIBs use the Structure of Management Information (SMI) notation SNMP Agent
and variables in the structure are identified by Object Identifiers (OIDs)
Management Information Base
which have a hierarchical structure (MIB)

• The SNMP agent which is a software running on the managed device responds to the requests from
NMS and retrieves data from / writes to MIB

SNMP is an application layer protocol and uses UDP as the transport protocol
Limitations of SNMP

• While SNMP has be the most popular protocol for network management, it has its own
limitations
1. SNMP is designed to be simple, and, stateless, meaning the application will have to
maintain the context / state and has to be smart enough to roll back in the event of an
error / failure
2. SNMP is based on UDP and thus is not reliable – no acks
3. MIBs often lack writable objects, as such its not possible for writing configurations
using SNMP. Meaning SNMP can be used primarily for monitoring and status polling
4. There is no distinction between configuration and state data in the MIBs
5. Retrieving and playback of configuration data is cumbersome with SNMP
6. Earlier versions of SNMP did not have strong security features (the present / newer
versions have strong security support!!)
THE END…..

You might also like