I N T E R N E T OF T H I N G S
Chapter 1
Introduction to IoTs
INTERNET OF THINGS A HANDS ON APPROACH
What is IoT?
IoT is a network of physical objects embedded with electronics, software, sensors, and connectivity
Enables objects to collect and exchange data, making them smart and data-capable
Objectives of IoT
Empower almost any object to become smart and data-capable
Benefit from advances in communications, computation, and interconnectivity
Learning Outcomes
LO1: Analyse what aspects of IoT are necessary and appropriate when designing software applications
LO2: Outline a plan for an appropriate IoT application, using common architecture, frameworks, tools, hardware and APIs
LO3: Develop an IoT application using any combination of hardware, software, data, platforms and services
LO4: Evaluate your IoT application and the problems it might encounter when integrating into the wider IoT ecosystem
Materials of Course
Login to CMS (http://cms.btec.edu.vn/) with student account ([email protected])
Choose correct class
Enroll by class name (SE0xx0x)
CMS Folder:
• Slides
• Lab
• Assignment
• EBook
Preparation for Course
Parts, libraries required for project (List in each Lab)
IDE: Ardunio
Objectives
Understand the Core Concepts of IoT
Explore Communication Protocols in IoT
Demystify Functional Blocks and Communication Models
Topics
IoT definition
Characteristics of IoT
Physical Design of IoT
Logical Design of IoT
IoT Protocols
IoT Levels & Deployment Templates
IoT definition
A dynamic global network infrastructure with self-configuringcapabilities based
on standard and interoperable communicationprotocols where physical and virtual
“things” have identities, physicalattributes, and virtual personalities and use
intelligent interfaces, andare seamlessly integrated into the information network,
oftencommunicate data associated with users and their environments.
Characteristics of IoT
• Dynamic & Self-Adapting
• Self-Configuring
• Interoperable Communication Protocols
• Unique Identity
• Integrated into Information Network
Physical Design of IoT (1/2)
The “Things” in IoT usually refers to IoT devices which have unique identities and can perform remote sensing, actuating and monitoring capabilities.
IoT devices can:
• Exchange data with other connected devices and applications (directlyorindirectly), or
• Collect data from other devices and process the data locally or
Physical Design of IoT (2/2)
• Send the data to centralized servers or cloud-based applicationback-ends
forprocessing the data, or
• Perform some tasks locally and other tasks within the IoT infrastructure, based on temporal and space constraints.
Generic block diagram of an IoT Device
An IoT device may consist of several interfaces for connections to other devices, both
wired and wireless:
• I/O interfaces for sensors
• Interfaces for Internet connectivity
• Memory and storage interfaces
• Audio/video interfaces
IoT Protocols
Link Layer
• 802.3 – Ethernet
• 802.11 – WiFi
• 802.16 – WiMax
• 802.15.4 – LR-WPAN
• 2G/3G/4G
Network/Internet Layer
• IPv4
• IPv6
• 6LoWPAN
Transport Layer
• TCP
• UDP
Application Layer
• HTTP
• CoAP
• WebSocket
• MQTT
• XMPP
• DDS
• AMQP
Logical Design of IoT
Logical design of an IoT system refers to an abstract representation of the entities
and processes without going into the low-level specifics of the implementation.
An IoT system comprises of a number of functional blocks that provide the system the capabilities for identification, sensing, actuation, communication, and
management.
Request-Response Communication Model
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
Publish-Subscribe Communication Model (1/2)
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
Publish-Subscribe Communication Model (2/2)
Push-Pull Communication Model (1/2)
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
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
Push-Pull Communication Model (2/2)
Exclusive Pair Communication Model
Exclusive Pair is a bidirectional, fully duplex communication model that uses a
persistent connection between the client and server
Once the 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
REST-based Communication APIs
Representational State Transfer (REST) is a set of architectural principles
by which you can design web services and web APIs that focus on a
system’s resources and how resource states are addressed and
transferred
REST APIs follow the request- response communication model
The REST architectural constraints apply to the components,
connectors, and data elements, within a distributed hypermedia system
WebSocket-based Communication APIs
WebSocket APIs allow bi- directional, full duplex communication between clients and servers
WebSocket APIs follow the exclusive pair communication model
IoT Levels & Deployment Templates (1/2)
An IoT system comprises of the following components:
Device: An IoT device allows identification, remote sensing, actuatingandremote monitoring capabilities. You learned about various examplesofIoTdevices in section
Resource: Resources are software components on the IoT deviceforaccessing, processing, and storing sensor information, or controllingactuators connected to the
device. Resources also include thesoftwarecomponents that enable network access for the device
Controller Service: Controller service is a native service that runsonthedevice and interacts with the web services. Controller servicesendsdatafrom the device to the web
service and receives commands fromtheapplication (via web services) for controlling the device
IoT Levels & Deployment Templates (2/2)
Database: Database can be either local or in the cloud andstoresthedatagenerated
by the IoT device
Web Service: Web services serve as a link between the IoT device, application, database and analysis components. Web servicecanbeeitherimplemented using HTTP and
REST principles (REST service) or usingWebSocket protocol (WebSocket service)
Analysis Component: The Analysis Component is responsiblefor analyzingthe IoT data and generate results in a form which are easy for theusertounderstand
Application: IoT applications provide an interface that the users canusetocontrol and monitor various aspects of the IoT system. Applicationsalsoallow users to view the
system status and view the processeddata
IoT Level-1
A level-1 IoT system has a single node/device that performs sensing and/or
actuation, stores data, performs analysis and hosts the application
Level-1 IoT systems are suitable for modeling low- cost and low-complexity
solutions where the data involved is not big and the analysis requirements are
not computationally intensive
IoT Level-2
A level-2 IoT system has a single node that performs sensing and/or actuation and local
analysis
Data is stored in the cloud and application is usually cloud- based
Level-2 IoT systems are suitable for solutions where the data involved is big, however, the
primary analysis requirement is not computationally intensive and can be
done locally itself.
IoT Level-3
A level-3 IoT system has a single node. Data is stored and analyzed in the cloud and
application is cloud- based
Level-3 IoT systems are suitable for solutions where the data involved is big and the
analysis requirements are computationally intensive
IoT Level-4
A level-4 IoT system has multiple nodes that perform local analysis. Data is stored in
the cloud and application is cloud-based.
Level-4 contains local and cloud- based observer nodes which can subscribe to and
receive information collected in the cloud from IoT devices
Level-4 IoT systems are suitable for solutions where multiple nodes are required, the
data involved is big and the analysis requirements
are computationally intensive
IoT Level-5
A level-5 IoT system has multiple end nodes
and one coordinator node
The end nodes that perform sensing and/or actuation
Coordinator node collects data from the end
nodes and sends to the cloud
Data is stored and analyzed in the cloud and application is cloud-based
Level-5 IoT systems are suitable for solutions based on wireless sensor networks, in
which the data involved is big and the analysis requirements are computationally
intensive
IoT Level-6
A level-6 IoT system has multiple independent end nodes that perform sensing
and/or actuation and send data to the cloud.
Data is stored in the cloud and application is
cloud-based
The analytics component analyzes the data and stores the results in the cloud
database
The results are visualized with the cloud-
based application
The centralized controller is aware of the status of all the end nodes and sends
control commands to the nodes
Summary
Understanding the Power of IoT
Communication Protocols is the Backbone of IoT
Building Blocks and Communication Models