Iot Unit Notes
Iot Unit Notes
History of IoT
1970- The actual idea of connected devices was proposed
1990- John Romkey created a toaster which could be turned on/off
over the Internet
A
1995- Siemens introduced the first cellular module built for M2M
1999- The term “Internet of Things” was used by Kevin Ashton during
N
his work at P&G which became widely accepted
RA
2004 – The term was mentioned in famous publications like the
Guardian, Boston Globe, and Scientific American
2005-UN’s International Telecommunications Union (ITU) published
its first report on this topic.
AL
The entire IoT process starts with the devices themselves like
smartphones, smartwatches, electronic appliances like TV, Washing
Machine which helps you to communicate with the IoT platform.
Fundamental components of an IoT system:
1) Sensors/Devices: Sensors or devices are a key component that helps
you to collect live data from the surrounding environment. All this data may
have various levels of complexities. It could be a simple temperature
monitoring sensor, or it may be in the form of the video feed.
A
3) Data Processing: Once that data is collected, and it gets to the cloud,
N
the software performs processing on the gathered data. This process can
be just checking the temperature, reading on devices like AC or heaters.
RA
However, it can sometimes also be very complex like identifying objects,
using computer vision on video.
AL
sometimes might need an interface which actively checks their IoT system.
For example, the user has a camera installed in his home. He wants to
access video recording and all the feeds with the help of a web server.
AN
Advantages of IoT
Key benefits of IoT technology are as follows:
Disadvantages IoT
Security: IoT technology creates an ecosystem of connected
devices. However, during this process, the system may offer little
A
authentication control despite sufficient security measures.
N
Privacy: The use of IoT, exposes a substantial amount of personal
data, in extreme detail, without the user’s active participation. This
RA
creates lots of privacy issues.
Flexibility: There is a huge concern regarding the flexibility of an IoT
system. It is mainly regarding integrating with another system as
AL
Things/Devices are used to build a connection, process data, provide interfaces, provide
storage, and provide graphics interfaces in an IoT system. all these generate data in a form
that can be analyzed by an analytical system and program to perform operations and used
to improve the system.
for example temperature sensor that is used to analyze the temperature generates the data
from a location and then determined by algorithms.
N A
RA
AL
CH
AN
Connectivity
Devices like USB host and ETHERNET are used for connectivity between the devices and
server.
Processor
A processor like a CPU and other units are used to process the data. these data are further
used to improve the decision quality of an IoT system.
Audio/Video Interfaces
An interface like HDMI and RCA devices is used to record audio and videos in a system.
Input/Output interface
To giving input and output signals to sensors, and actuators we use things like UART, SPI,
CAN, etc.
Storage Interfaces
Things like SD, MMC, SDIO are used to store the data generated from an IoT device.
Other things like DDR, GPU are used to control the activity of an IoT system.
N A
IoT Protocols RA
These protocols are used to establish communication between a node device and server
over the internet. it helps to send commands to an IoT device and receive data from
AL
an IoT device over the internet. we use different types of protocols that present on both the
server and client-side and these protocols are managed by network layers like application,
transport, network, and link layer.
CH
AN
HTTP
Hypertext transfer protocol is a protocol that presents in an application layer for transmitting
media documents. it is used to communicate between web browsers and servers. it makes a
request to a server and then waits till it receives a response and in between the request
server does not keep any data between two requests.
WebSocket
This protocol enables two-way communication between a client and a host that can be run
on an untrusted code in a controlled environment. this protocol is commonly used by web
browsers.
N A
MQTT
RA
It is a machine-to-machine connectivity protocol that was designed as a publish/subscribe
messaging transport. and it is used for remote locations where a small code footprint is
required.
AL
Transport Layer
CH
This layer is used to control the flow of data segments and handle the error control. also,
these layer protocols provide end-to-end message transfer capability independent of the
AN
underlying network.
TCP
The transmission control protocol is a protocol that defines how to establish and maintain a
network that can exchange data in a proper manner using the internet protocol.
UDP
a user datagram protocol is a part of internet protocol called the connectionless protocol. this
protocol not required to establish the connection to transfer data.
Network Layer
This layer is used to send datagrams from the source network to the destination network. we
use IPv4 and IPv6 protocols as a host identification that transfers data in packets.
IPv4
This is a protocol address that is a unique and numerical label assigned to each device
connected with the network. an IP address performs two main functions host and location
addressing. IPv4 is an IP address that is 32 bit long.
IPv6
It is a successor of IPv4 that uses 128 bits for an IP address. it is developed by the IETF
task force to deal with the long-anticipated problems.
Link Layer
Link-layer protocols are used to send data over the network's physical layer. it also
A
determines how the packets are coded and signaled by the devices.
Ethernet
N
RA
It is a set of technologies and protocols that are used primarily in LANs. it defines the
physical layer and the medium access control for wired ethernet networks.
AL
WiFi
CH
It is a set of LAN protocols and specifies the set of media access control and physical layer
protocols for implementing wireless local area networks.
AN
N A
RA
AL
These functional blocks consist of devices that provide monitoring control functions,
handle communication between host and server, manage the transfer of data,
CH
secure the system using authentication and other functions, and interface to control
and monitor various terms.
AN
Application
It is an interface that provides a control system that use by users to view the status
and analyze of system.
Management
This functional block provides various functions that are used to manage an IoT
system.
Services
This functional 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.
N A
Device RA
These devices are used to provide sensing and monitoring control functions that
collect the data from the outer environment.
AL
There are several different types of models available in an IoT system that used to
AN
communicate between the system and server like the request-response model,
publish-subscribe model, push-pull model, and exclusive pair model, etc.
A
request-response protocol between a client and server.
N
Example
RA
When we search a query on a browser then the browser submits an HTTP request to
the server and then the server returns a response to the browser(client).
AL
CH
here publishers are the source of data but they are not aware of consumers. they
send the data managed by the brokers and when a consumer subscribes to a topic
that managed by the broker and when the broker receives data from the publisher it
sends the data to all the subscribed consumers.
A
Example
N
RA
On the website many times we subscribed to their newsletters using our email
address. these email addresses managed by some third-party services and when a
new article published on the website it directly sends to the broker and then the
broker send these new data or post to all the subscribers.
AL
CH
It is a communication model in which the data push by the producers in a queue and
the consumers pull the data from the queues. here also producers are not aware of
the consumers.
Example
When we visit a website we saw a number of posts that published in a queue and
according to our requirements, we click on a post and start reading it.
N A
RA
AL
CH
AN
Client-server
Here the client is not aware of the storage of data because it is concerned about the
server and similarly the server should not be concerned about the user interface
because it is a concern of the client. and this separation is needed for independent
development and updating of server and client. no matter how the client is using the
response of the server and no matter how the server is using the request of the
client.
Stateless
It means each request from the client to the server must contain all the necessary
information to understand by the server. because if the server can't understand the
request of the client then it can't fetch the request data in a proper manner.
Cacheable
N A
In response, if the cache constraints are given then a client can reuse that response
in a later request. it improves the efficiency and scalability of the system without
loading the extra data.
RA
A RESTful web APIs is implemented using HTTP and REST principles.
AL
This type of API allows bi-directional full-duplex communication between server and
AN
client using the exclusive pair communication model. this API uses full-duplex
communication so it does not require a new connection setup every time when it
requests new data. WebSocket API begins with a connection setup between the
server and client and if the WebSocket is supported by the server then it responds
back to the client with the successful response and after setup of a connection
server and client can send data to each other in full-duplex mode.
this type of API reduces the traffic and latency of data and makes sure that each
time when we request new data it cannot terminate the request.