2. What is the Internet of Things?
• Cisco “Internet of Everything”
• …the latest wave of the Internet -- connecting physical objects…to provide
better safety, comfort, and efficiency
• IBM “Internet of Things”
• …a completely new world-wide web, one comprised of the messages that
digitally empowered devices would send to one another. It is the same
Internet, but not the same Web.
• GE “Industrial Internet”
• …convergence of machine and intelligent data…to create brilliant machines
• RTI “Your Systems. Working as One.”
• …an entirely new utility.
3. • The Internet of Things (IoT) is the
network of physical objects or
"things" embedded with electronics,
software, sensors, and network
connectivity, which enables these
objects to collect and exchange
data.
4. The Internet of Things (IoT) completely
transforms
connectivity from “any-time, any-
where” for “any-one”
into “any-time, any-where” for “any-
thing”
5. History
• 1997 under the title “Challenges to the Network”.
• 1999, Auto-ID Center founded in MIT – Kevin Ashton
• 2003, EPC Global founded in MIT
• 2005, Four important technologies of the internet of
things was proposed in WSIS conference.
• 2008, First international conference of internet of
things: The IOT 2008 was held at Zurich
8. Sensors in even the holy cow!
In the world of IoT, even the cows will be connected and
monitored. Sensors are implanted in the ears of cattle. This
allows farmers to monitor cows’ health and track their
movements, ensuring a healthier, more plentiful supply of milk.
On average, each cow generates about 200 MB of information
per year.
10. Generic Architecture and Protocols of IoT
In Digital communication we have TCP/IP protocols stacks.
Why we need Protocols in IoT?
IoT connects enormous number of objects which will create a massive
traffic and tremendous amount of data capacity is needed.
IoT will face numerous challenges especially privacy and security issues.
Therefore, the new standard architecture and protocols for IoT needs to
address many essential factors (i.e. sustainability, reliability, Quality of
Service, confidentiality, integrity, etc.).
Protocol: A set of Rules regulations
11. • IoT architecture can be divided into five layers
Perception Layer: Similar to physical layer in
OSI model which consists of the different types of
sensor (i.e. RFID, Zigbee, QR code, Infrared, etc.)
devices and environmental elements.
Collection of information from sensor
Transmits gathered information through the
Network layer for its secure communication toward
central information processing system.
12. Network Layer:
keeps the sensitive information confidential
In securely transfers , from sensor devices to the central
information processing system through 3G, 4G, UMTS,
WiFi, WiMAX, RFID, Infrared, Satellite, etc. dependent upon
the type of sensors devices.
Middleware Layer: Middleware layer has two
essential functions,
service management
store the lower layer information into the database.
• this layer also has capability to retrieve, process, compute
information, and then automatically decide based on the
computational results.
13. Application Layer:
Responsible for applications management based on
the processed information in the Middleware layer.
The IoT applications can be smart postal, smart health,
smart car, smart glasses, smart home, smart
independent living, smart transportation,
etc.
Business Layer: This layer functions cover the
whole IoT applications and services management. It
can create practically graphs, business models, flow
chart, executive report, etc. based on the amount of
accurate data received from lower layer and effective
data analysis process.
.
14. Protocols
MQTT (Message Queue Telemetry Transport):
MQTT is a Client Server publishes or subscribes messaging transport
protocol.
It is light weight, open, simple and designed so as to be easy to
implement.
The protocol runs over TCP/IP or over other network protocol
that provided ordered, lossless, bi-directional connections.
The MQTT features include: use of the publish/subscribe
message pattern which provides one-to-many message
distribution.
16. Publish/Subscribe decouples a client, which is sending a
particular message(called publisher)from another
client(or more clients ),which is receiving the message
(called subscriber).
In order to determine, which message gets to which
client, MQTT uses topics. A topic is a hierarchical
structured string, which is used for message filtering and
routing .
17. When talking about a client it almost always means an
MQTT client. This includes publisher or subscribers, both
of them label an MQTT client that is only doing publishing
or subscribing. (In general a MQTT client can be both a
publisher & subscriber at the same time). A MQTT client
is any device from a micro controller up to a full
fledged server, that has a MQTT library running and is
connecting to an MQTT broker over any kind of
network
Client
The counterpart to a MQTT client is the MQTT broker,
which is the heart of any publish/subscribe protocol.
Depending on the concrete implementation, a broker can
handle up to thousands of concurrently connected MQTT
clients. The broker is primarily responsible for
receiving all messages, filtering them, decide who is
interested in it and then sending the message to all
subscribed clients.
Broker
18. MQTT Connection
The MQTT protocol is based on top of TCP/IP and both
client and broker need to have a TCP/IP stack.
19. The connection is initiated through a client sending a
CONNECT message to the broker. The broker response
with a CONNACK and a status code.
Once the connection is established, the broker will
keep it open as long as the client doesn’t send a
disconnect command or it looses the connection
20. A good-natured client will send a connect message
with the following content among other things:
21. Clientid: identifier of each MQTT client connecting to a MQTT broker
Clean Session: client wants to establish a persistent session or not
Username/Password: username and password for authenticating the client and
also authorization.
Will Message: It allows to notify other clients, when a client disconnects
ungracefully.
KeepAlive: The keep alive is a time interval, the clients commits to by
sending regular PING Request messages to the broker.
22. The CONNACK contains only two data entries:
session present flag, connect return code.
Session Present flag:
session present flag indicate, whether the
broker already has a persistent session of the
client from previous interactions
23. Return Code Return Code Response
0 Connection Accepted
1
Connection Refused, unacceptable
protocol version
2
Connection Refused, identifier
rejected
3
Connection Refused, Server
unavailable
4
Connection Refused, bad user name
or password
5 Connection Refused, not authorized
.
24. CoAP
CoAP is the Constrained Application Protocol from the CoRE
(Constrained Resource Environments) IETF group.
Architecture
Like HTTP, CoAP is a document transfer protocol. Unlike HTTP,
CoAP is designed for the needs of constrained devices.
CoAP packets are much smaller than HTTP TCP flows.
CoAP runs over UDP, not TCP. Clients and servers communicate
through connectionless datagrams.
CoAP allows UDP broadcast and multicast to be used for
addressing.
25. CoAP follows a client/server model. Clients make
requests to servers, servers send back responses.
Clients may GET, PUT, POST and DELETE resources.
CoAP is designed to interoperate with HTTP and the
RESTful web at large through simple proxies.
27. CoAP message header Description
Ver
It is 2 bit unsigned integer. It mentions
CoAP version number. Set to one.
T
It is 2 bit unsigned integer. Indicates
message type viz. confirmable (0), non-
confirmable (1), ACK (2) or RESET(3).
TKL
It is 4 bit unsigned integer, Indicates length
of token (0 to 8 bytes).
Code
It is 8 bit unsigned integer, It is split into
two parts viz. 3 bit class (MSBs) and 5 bit
detail (LSBs).
Message ID
16 bit unsigned integer. Used for matching
responses. Used to detect message
duplication.
29. CoAP is unreliable protocol due to use of
UDP. Hence CoAP messages reach unordered
or will get lost when they arrive at
destination.
To make CoAP as reliable protocol, stop and
wait with exponential backoff retransmission
feature is incorporated in it. Duplicate
detection is also introduced.