10
Security: this block secures the IoT system and by providing functions such as authentication ,
authorization, message and content integrity, and data security.
Application: This is an interface that the users can use to control and monitor various aspects of the
IoT system. Application also allow users to view the system status and view or analyze the processed
data.
IoT Communication Models
Request-Response Model
Request-response model is 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 representation, prepares
the response, and then sends the response to the client. Request-response is a stateless
communication model and each request-response pair is independent of others.
HTTP works as a request-response protocol between a client and server. A web
browser may be the client, and an application on a computer that hosts a web site may
be the server.
Example: A client (browser) submits an HTTP request to the server; then the server
returns a response to the client. The response contains status information about the
request and may also contain the requested content.
10
11
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
receive data for a topic from the publisher, it sends the data to all the subscribed
consumers.
11
12
Push-Pull 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 rate at which the consumer pull data.
Exclusive Pair Model
Exclusive Pair is a bidirectional, fully duplex communication model that uses a persistent connection
between the client and server. 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.
Exclusive pair is stateful communication model and the server is aware of all the open connections.
IoT Communication APIs
Generally we used Two APIs For IoT Communication. These IoT Communication APIs are:
12
13
REST-based Communication APIs
WebSocket-based Communication APIs
REST-based Communication APIs
Representational state transfer (REST) is a set of architectural principles by which you can
design Web services the Web APIs that focus on systems’s resources and how resource states are
addressed and transferred. REST APIs that follow the request response communication model, the
rest architectural constraint apply to the components, connector and data elements, within a
distributed hypermedia system. The rest architectural constraint are as follows:
Client-server – The principle behind the client-server constraint is the separation of concerns. for
example clients should not be concerned with the storage of data which is concern of the serve.
Similarly the server should not be concerned about the user interface, which is concern of the
clien. Separation allows client and server to be independently developed and updated .
Stateless – Each request from client to server must contain all the information necessary to
understand the request, and cannot take advantage of any stored context on the server. The session
state is kept entirely on the client.
Cache-able – Cache constraints requires that the data within a response to a request be implicitly or
explicitly leveled as cache-able or non cache-able. If a response is cache-able, then a client cache is
given the right to reuse that repsonse data for later, equivalent requests. caching can partially or
completely eliminate some instructions and improve efficiency and scalability.
Layered system – layered system constraints, constrains the behavior of components such that
each component cannot see beyond the immediate layer with they are interacting. For example, the
client cannot tell whether it is connected directly to the end server or two an intermediaryalong the
way. System scalability can be improved by allowing intermediaries to respond to requests instead of
the end server, without the client having to do anything different.
Uniform interface – uniform interface constraints requires that the method of communication
between client and server must be uniform. Resources are identified in the requests (by URIsin web
based systems) and are themselves is separate from the representations of the resources data returned
to the client. When a client holds a representation of resources it has all the information required to
update or delete the resource you (provided the client has required permissions). Each message
includes enough information to describe how to process the message.
Code on demand – Servers can provide executable code or scripts for clients to execute in their
context. this constraint is the only one that is optional.
A RESTful web service is a ” Web API ” implemented using HTTP and REST principles. REST is
most popular IoT Communication APIs.
HTTP METHODS/COMMANDS SHOWN IN ABOVE TABLE :
13
14
WebSocket based communication API
Websocket APIs allow bi-directional, full duplex communication
between clients and servers. Websocket APIs follow the exclusive pair communication
model. Unlike request-response model such as REST, the WebSocket APIs allow full
duplex communication and do not require new coonection to be setup for each
message to be sent. Websocket communication begins with a connection setup request
sent by the client to the server. The request (called websocket handshake) is sent over
HTTP and the server interprets it is an upgrade request. If the server supports
websocket protocol, the server responds to the websocket handshake response. After
the connection setup client and server can send data/mesages to each other in full
duplex mode. Websocket API reduce the network traffic and letency as there is no
overhead for connection setup and termination requests for each message. Websocket
suitable for IoT applications that have low latency or high throughput requirements. So
Web socket is most suitable IoT Communication APIs for IoT System.
14
15
15
16
SENSING
A sensor is a device that is able to detect changes in an environment. By
itself, a sensor is useless, but when we use it in an electronic system, it plays a key role.
A sensor is able to measure a physical phenomenon (like temperature, pressure, and so
on) and transform it into an electric signal.
What is a Sensor ?
A device that receives and responds to a signal or stimulus.
The sensor converts any type of energy into electrical energy.
Example: A pressure sensor detects pressure (a mechanical form of energy) and converts it to
electrical signal for display.
A sensor is a device that receives a stimulus (measurand) and responds with an electrical signal.
A sensor may have several energy conversion steps before it produces and outputs an electrical
signal, since most of stimuli are not electrical.
Transducers:
What is a Transducer:
A device that converts a signal from one physical form to a corresponding signal having a different
physical form.
Transducer is a converter of any one type of energy into another.
Transducers may be used as actuators in various systems.
An example of a transducer is a loudspeaker, which converts an electrical signal into a variable
magnetic field (acoustic waves).
Actuators
Another type of transducer that you will encounter in many IoT systems is an actuator. In simple terms,
an actuator operates in the reverse direction of a sensor. It takes an electrical input and turns it into
physical action. For instance, an electric motor, a hydraulic system, and a pneumatic system are all
different types of actuators.
Transducers: sensors and actuators
Sensor: an input transducer (i.e., a microphone)
Actuator: an output transducer (i.e., a loudspeaker )
16