Lecture 01 - Introduction To IoTs
Lecture 01 - Introduction To IoTs
Chapter 1
Introduction to IoTs
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
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
• Slides
• Lab
• Assignment
• EBook
Preparation for Course
IDE: Ardunio
Objectives
IoT definition
Characteristics of IoT
IoT Protocols
• Self-Configuring
• Unique Identity
The “Things” in IoT usually refers to IoT devices which have unique identities and can perform remote sensing, actuating and monitoring capabilities.
• Collect data from other devices and process the data locally or
Physical Design of IoT (2/2)
• 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:
• 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
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
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
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
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
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)
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
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
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