Unit 1-Iot
Unit 1-Iot
INTRODUCTION
Definition:
Examples of IOT:
The "Things" in IoT usually refers to IoT devices which have unique identities
It 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
An IoT device consists of several interfaces for connections to other devices , both
wired and wireless. These Include:
- I/O interfaces for sensors
- Interfaces for Internet connectivity
- Memory and storage interfaces
- Audio/video interfaces.
IoT Protocols:
Link Layer Protocol
Protocols determine how data is physically sent over the networks physical layer or medium.
Link layer determines how packets are coded and signaled by the h/w device over the
medium to which the host is attached.
Network/Internet Layer Protocol
• Responsible for sending IP datagrams from source n/w to destination n/w. Performs
the host addressing and packet routing. Datagrams contains source and destination
address.
• IPv4: Internet Protocol version4 is used to identify the devices on a n/w using a
hierarchical addressing scheme. 32 bit address.
• IPv6: Internet Protocol version6 uses 128 bit address scheme.
• It operates in 2.4 GHz frequency range and data transfer 250 kb/s.
Transport Layer
• Defines how the applications interface with lower layer protocols to send data over
the n/w. Enables process-to-process communication using ports.
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.
LOGICAL DESIGN:
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.
IoT Functional blocks:
An IoT system comprises of a number of functional blocks that provide the system the
capabilities for identification, sensing, actuation, communication, and management.
Functional Blocks are:
Device
Communication
Services
Management
Security
Application
Application:
• It is an interface that provides a control system that use by users to view the status and
analyze of system.
Management:
• This block provides various functions that are used to manage an IoT system.
Services:
• This block provides some services like monitoring and controlling a device and publishing
and deleting the data and restore 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.
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.
Publish-Subscribe
Push-Pull
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
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.
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.
WebSocket APIs allow bidirectional, full duplex communication between clients and servers.
WebSocket APIs follow the exclusive pair communication model
IOT ENABLING TECHNOLOGIES
Cloud Computing
Communication Protocols
• Communication protocols form the backbone of IoT systems and enable network
connectivity and coupling to applications
• Communication Protocols allow devices to exchange data over the network
• Other Functions
- Sequence control(ordering data packets)
- Flow control(controlling transfer rate)
- Retransmission of lost packets
• In IoT we used MQTT, COAP, AMQP etc. protocols.
Embedded Systems:
An Embedded System is a computer system that has computer Hardware and software
embedded to perform specific tasks
Key components of an embedded system include:
micro processor / micro controller
memory- RAM, ROM, cache
Networking units – Ethernet , WIFI adapters
Input/output units- display , keyboard etc.,
Storage- Flash memory
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.
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.
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.
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.
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.
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.
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.
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.
IOT & M2M:
Machine-to-Machine (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.
SDN
YANG:
• 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
• Management System
• Management API
• Transaction Manager
• Rollback Manager
• Data Model Manager
• Configuration Validator
• Configuration Database
• Configuration API
• Data Provider API