iot notes
iot notes
IoT comprises things that have unique identities and are connected to internet. By
2020 there will be a total of 50 billion devices /things connected to internet. IoT is not
limited to just connecting things to the internet but also allow things to communicate and
exchange data.
Definition:
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 information n/w, often communicate data associated
with users and their environments.
OR
Internet of Things, refers to the collective network of connected devices and the
technology that facilitates communication between devices and the cloud, as well
as between the devices themselves.
Characteristics of IoT:
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
conditions, user‘s context or 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.
3) Inter Operable Communication Protocols: support a number of interoperable
communication protocols ans can communicate with other devices and also with
infrastructure.
4) Unique Identity: Each IoT device has a unique identity and a unique identifier(IP
address).
5) Integrated into Information Network: that allow them to communicate and
exchange data with other devices and systems.
Applications of IoT:
1) Home
2) Cities
3) Environment
4) Energy
5) Retail
6) Logistics
7) Agriculture
8) Industry
9) Health & Life Style
Physical Design Of IoT
1) Things in IoT:(Generic block diagram of an IoT Device)
The things in IoT refers to IoT devices which have unique identities and perform remote
sensing, actuating and monitoring capabilities. IoT devices can exchange data with other
connected devices applications. It collects data from other devices and process data either
locally or remotely.
An IoT device may consist of several interfaces for communication to other devices both
wired and wireless. These includes (i) I/O interfaces for sensors, (ii) Interfaces for
internet connectivity (iii) memory and storage interfaces and (iv) audio/video interfaces.
2) IoT Protocols:
a) Link Layer : Protocols determine how data is physically sent over the network‘s
physical layer or medium. Local network connect to which host is attached. Hosts on the
same link exchange data packets over the link layer using link layer protocols. Link layer
determines how packets are coded and signaled by the h/w device over the medium to
which the host is attached.
Protocols:
802.3-Ethernet: IEEE802.3 is collection of wired Ethernet standards for the link layer.
Eg: 802.3 uses co-axial cable; 802.3i uses copper twisted pair connection; 802.3j uses
fiber optic connection; 802.3ae uses Ethernet overfiber.
802.11-WiFi: IEEE802.11 is a collection of wireless LAN(WLAN) communication
standards including extensive description of link layer. Eg: 802.11a operates in 5GHz
band, 802.11b and 802.11g operates in 2.4GHz band, 802.11n operates in 2.4/5GHz band,
802.11ac operates in 5GHz band, 802.11ad operates in 60Ghzband.
802.16 - WiMax: IEEE802.16 is a collection of wireless broadband standards including
exclusive description of link layer. WiMax provide data rates from 1.5 Mb/s to 1Gb/s.
802.15.4-LR-WPAN: IEEE802.15.4 is a collection of standards for low rate wireless
personal area network(LR-WPAN). Basis for high level communication protocols such as
ZigBee. Provides data rate from 40kb/s to250kb/s.
2G/3G/4G-Mobile Communication: Data rates from 9.6kb/s(2G) to up to100Mb/s(4G).
D) Application Layer: Defines how the applications interface with lower layer
protocols to and data over the n/w. Enables process-to-process communication using
ports.
Protocols:
HTTP: Hyper Text Transfer Protocol that forms foundation of WWW. Follow
requestresponse model Statelessprotocol.
CoAP: Constrained Application Protocol for machine-to-machine(M2M) applications
with constrained devices, constrained environment and constrained n/w. Uses clientserver
architecture.
WebSocket: allows full duplex communication over a single socketconnection.
MQTT: Message Queue Telemetry Transport is light weight messaging protocol based
on publish-subscribe model. Uses client server architecture. Well suited for constrained
environment.
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.
Refers to an abstract represent of entities and processes without going into the low level
specifies of implementation.
1) IoT Functional Blocks: Provide the system the capabilities for identification,
sensing, actuation, communication and management.
Device: An IoT system comprises of devices that provide sensing, actuation,
monitoring and control functions.
Communication: handles the communication for IoT system.
Services: for device monitoring, device control services, data publishing services and
services for device discovery.
Management: Provides various functions to govern the IoT system.
Security: Secures IoT system and priority functions such as
authentication,authorization, message and context integrity and data security.
Application: IoT application provide an interface that the users can use to control and
monitor various aspects of IoT system.
2) IoT CommunicationModels:
1) Request-Response 2) Publish-Subscibe 3)Push-Pull 4) Exclusive Pair
1) Request-ResponseModel:In which the client sends request to the server and the
server replies to requests. Is a stateless communication model and each request-response
pair is independent of others.
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.
2) Publish-Subscribe 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.
Involves publishers, brokers and consumers. Publishers are source of data. Publishers
send 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.
3) Push-Pull Model: in which data producers push data to queues and consumers pull
data from the queues. Producers do not need to aware of the consumers. Queues help in
decoupling the message between the producers and consumers.
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.
3) Exclusive Pair:
Exclusive pair is bi-directional, fully duplex communication model that uses a persistent
connection between the client and server. Once connection is set up it remains open until
the client send a request to close the connection. Is a stateful communication model and
server is aware of all the open connections.