IoT Communication APIs
- REST- based Communication APIs
-Websocket-based Communication
APIs
REST-based Communication APIs
- Representational State Transfer – set of rules
that developers follow when they create their
API
- It follows request-response communication
model.
- Constraints – Components, Connectors and
data elements.
Guiding Principles of REST
Client-Server:
- Separation of concerns
Ex: Client – not to be concerned – data
storage of server
Server – not to be concerned – User
Interface of client
- Client/Server – independently developed and
updated.
Stateless:
- Each request from the client to server must
contain all information necessary to
understand the request.
- Session state is kept entirely on client.
Cacheable:
- Data within a response to a request –
implicitly/explicitly labeled as cacheable/non-
cacheable
Layered System
- Constrains the behaviour of components-
each component cannot see beyond the
immediate layer with which they are
interacting.
User Interface:
- Method of communication between client and
server is uniform
Code on Demand:
- Servers can provide executable code or script
for clients to execute in their context.
RESTful Web Service
- Implemented using HTTP & REST Principles
- Request-Response model by REST.
WebSocket-based Communication APIs:
- Bidirectional , Full duplex Communication
- Not require – new connection – each request
- Data/Messages sent between client/Server
IoT enabling Technologies
Wireless Sensor Networks:
- distributed devices with sensors to
monitor – environmental/physical conditions
- No. of end-nodes,routers,co.ordinator
- End-nodes connected to sensors and it
may be routers.
- Routers – send packets from end-nodes to
coordinator.
- Coordinator – collect data from end-nodes
– gateway to connect WSN to Internet.
• Weather monitoring system
• Indoor air quality monitoring system
• Soil moisture monitoring system
• Surveillance systems
• Smart grid systems
• Protocols – IEEE 802.15.4 - Zigbee
Cloud Computing
• It is a transformative computing paradigm that
involves delivering applications over the Internet.
• It involves provisioning of resources on demand –
pay as you go model.
• Process of provisioning resources is automated –
accessed over the network.
• It provide platform independent access.
• Resources provided by cloud service providers are
pooled to serve multiple users using multi-
tenancy – multiple users – access – same physical
h/w.
Different Services
• Infrastructure as a service :
- computing & storage resources
- Resources provided – virtual machine
instances – virtual storage
- Users can start/stop/configure/manage
- Users are billed based on pay-per-use
paradigm
• Platform as a service:
– -Users – develop & deploy application in the
cloud using the development tools, API, S/W libraries
and services provided by the cloud service provider.
- client service provider – manages –
services, n/w’s , OS & storage
- User develop/deploy/configure/manage
application on the cloud infrastructure.
Software as a service:
- Complete s/w application is provided
- user – unaware of the architecture of
cloud
- user – able to access the application
anywhere.
Big Data Analytics
• Collection of datasets whose volume, velocity,
variety – so large –difficult to store, manage,
process and analyze.
• Steps –data cleansing, munging, processing
and visualization.
Big Data – IoT
- sensor data – weather monitoring system
- machine sensor data – industries
- Health & fitness data, Data – location &
tracking of vehicles, inventory management sys.
Characteristics if Big Data
• Volume – Massive scale data – difficult to
store, manage and process.
• Velocity – how fast the data is generated and
hoe frequently it varies.
• Variety – forms of data
- structured /unstructured – text,
image, video, audio, sensor..
Communication Protocols
• Backbone IoT systems
• Allow devices to exchange data over the n/w
• Functions – Sequence control, flow control
and retransmission of lost packets.
Embedded system
• It is a system that has h/w and s/w embedded
to perform specific task.
• Key components – microprocessor,
microcontroller, memory, n/w units, i/p&o/p
units and storage.
• Specialized processors – digital signal
processors, graphics processors, application
specific processors – OS - RTOS