Eti Unit II Internet of Things
Eti Unit II Internet of Things
INTERNET OF
THINGS
MR. S. P. KHOLAMBE
LECTURER IN CO DEPTT., MET BKC IOTP NASHIK
Embedded System Concepts
An embedded system is a combination of computer hardware and software,
either fixed in capability or programmable, designed for a specific function
or functions within a larger system.
The Internet of Things (IoT) is defined as a process in which objects are
equipped with sensors, actuators, and processors that involve hardware
board design and development, software systems, web APIs, and protocols,
which together create a connected environment of embedded systems.
This connected environment allows technologies to get connected across
multiple devices, platforms, and networks, creating a web of
communication that is revolutionizing the way we interact digitally with the
world.
This connected embedded systems are changing interactions and behavior
with our environment, communities, and homes, and even with our own
bodies. 2
Embedded System Concepts
4
Typical Architecture of an Embedded System
5
Figure shows a configuration
diagram of a typical embedded
system consisting of two main
parts: embedded hardware and
embedded software.
The embedded hardware primarily
includes the processor, memory,
bus, peripheral devices, I/O
ports, and various controllers.
The embedded software usually
contains the embedded
operating system and various
applications.
Typical Architecture of an Embedded System
6
Input and output are characteristics of any open system, and the
embedded system is no exception.
In the embedded system, the hardware and software often collaborate
to deal with various input signals from the outside and output the
processing results through some form.
The input signal may be an input device (such as a keyboard, mouse, or
touch screen) or the output of a sensor circuit in another embedded
system.
The output may be in the form of sound, light, electricity, or another
analog signal, or a record or file for a database.
Typical Hardware Architecture
7
The basic computer system components
microprocessor, memory, and input and
output modules are interconnected by a
system bus in order for all the parts to
communicate and execute a program.
The microprocessor's role and function are
usually the same as those of the CPU in a
general-purpose computer control
computer operation, execute
instructions, and process data.
I/O modules are responsible for the data
exchange between the processor,
memory, and external devices.
External devices include secondary storage
devices communications equipment, and
terminal equipment.
Von Neumann Architecture
8
Von Neumann architecture was first
proposed by John von Neumann. The
most important feature of this
architecture is that the software and
data use the same memory: that is,
“The program is data, and the data is
the program”.
In this architecture, an instruction and
data share the same bus. The
transmission of information becomes
the bottleneck of computer performance
and affects the speed of data processing;
so, it is often called the Von Neumann
bottleneck. In reality, cache and branch-
prediction technology can effectively
solve this issue.
Harvard Architecture
9
The Harvard architecture was first
named computer. Compared with the
Von Neumann architecture, a Harvard
architecture processor has two
outstanding features.
First, instructions and data are
stored in two separate memory
modules; instructions and data do not
coexist in the same module.
Second, two independent buses are
used as dedicated communication
paths between the CPU and
memory; there is no connection
between the two buses.
Harvard Architecture
Because the Harvard architecture has separate program memory and data
memory, it can provide greater data-memory bandwidth, making it the
ideal choice for digital signal processing. Most systems designed for digital
signal processing (DSP) adopt the Harvard architecture. The Von Neumann
architecture features simple hardware design and flexible program and data
storage and is usually the one chosen for general-purpose and most
embedded systems.
The only difference between the Harvard architecture and the Von Neumann
architecture is single or dual L1 cache. In the Harvard architecture, but the
Von Neumann architecture has a single cache.
the L1 cache is often divided into an instruction cache (I cache) and a
data cache (D cache),
10
Embedded Processors PIC
13
Embedded Processors AVR
14
Embedded Processors ASIC
15
What is an Internet of Things (IoT)
17
IOT Characteristics
18
IOT Characteristics
19
IOT Characteristics
20
What are the industries affected by IoT?
22
IoT to affect every industry Logistics
environments within the three
Banks
groups of consumers,
governments, and ecosystems Oil, gas, and mining
will benefit the greatest from the Insurance
IoT. These include: Connected Homes & Smart
Manufacturing Buildings
Transportation Food Services
Defense Utilities
Agriculture Hospitality & Healthcare
Infrastructure Smart Cities
Retail
IoT Companies/ Platforms
23
Companies Platforms
Microsoft (MSFT) Amazon Web Services
Amazon (AMZN) Microsoft Azure
Google (GOOGL) ThingWorx IoT Platform
IBM (IBM) IBM's Watson
Cisco (CSCO) Cisco IoT Cloud Connect
Verizon (VZ) Salesforce IoT Cloud
AT&T (T) Oracle Integrated Cloud
GE (GE) GE Predix
Fitbit (FIT)
Honeywell (HON)
BlackRock (BLK)
Things of IOT
24
IOT Protocols
25
IOT Protocols
26
IOT Protocols
28
IOT Protocols
30
IOT Protocols
31
Logical Design of IoT
32
IoT Functional Blocks
An IoT system comprises of a number of functional blocks that
provide the system the capabilities for identification, sensing,
actuation, communication and management.
33
IoT Functional Blocks
Functional blocks are:
Device: An IoT system comprises of devices that provide sensing, actuation,
monitoring and control functions.
Communication: Handles the communication for the IoT system.
Services: services for device monitoring, device control service, data
publishing services and services for device discovery.
Management: this blocks provides various functions to govern the IoT system.
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.
34
IoT Communication Models
1. 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.
35
IoT Communication Models
2. 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.
36
IoT Communication Models
3. 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.
37
IoT Communication Models
4. 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.
38
IoT Communication APIs
Generally we used Two APIs For IoT Communication. These IoT
Communication APIs are:
1. REST-based Communication APIs
2. Web Socket-based Communication APIs
39
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:
1. Client-server – The principle behind the client-server constraint is the
separation of concerns. Separation allows client and server to be
independently developed and updated.
2. 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. 40
REST-based Communication APIs
3. 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.
4. Layered system – layered system constraints, constrains the behavior
of components such that each component cannot see beyond the immediate
layer with they are interacting.
5. Uniform interface – uniform interface constraints requires that the
method of communication between client and server must be uniform.
Resources are identified in the requests and are themselves is separate from
the representations of the resources data returned to the client. Each
message includes enough information to describe how to process the
message.
6. Code on demand – Servers can provide executable code or scripts for
clients to execute in their context. 41
WebSocket based communication API
42
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.
WebSocket based communication API
Websocket communication begins with a connection setup request
sent by the client to the server. The request 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 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.
43
IoT Enabling Technologies
44
IoT Enabling Technologies
2. Cloud Computing:
Cloud computing is a trans-formative computing paradigm that involves
delivering applications and services over the Internet Cloud computing
involves provisioning of computing, networking and storage resources on
demand and providing these resources as metered services to the users, in
a “pay as you go” model.
Cloud computing resources can be provisioned on demand by the users,
without requiring interactions with the cloud service Provider. The process
of provisioning resources is automated.
Cloud computing resources can be accessed over The network using standard
access mechanisms that provide platform independent access through
the use of heterogeneous client platforms such as the workstations,
laptops, tablets and smartphones. 46
IoT Enabling Technologies
47
Cloud computing services are offered to
users in different forms:
1. Infrastructure as a Service
(IaaS): hardware is provided by an
external provider and managed for
you
2. Platform as a Service (PaaS): in
addition to hardware, your operating
system layer is managed for you
3. Software as a Service (SaaS): further
to the above, an application layer is
provided and managed for you – you
won’t see or have to worry about the
first two layers.
IoT Enabling Technologies
4. Communication protocols:
Communication protocols form the backbone of IoT systems and enable
network connectivity and coupling to applications.
Communication protocols allow devices to exchange data over the
network. Multiple protocols often describe different aspects of a single
communication.
A group of protocols designed to work together are known as a
protocol suite; when implemented in software they are a protocol stack.
Internet communication protocols are published by the Internet
Engineering Task Force (IETF).
The IEEE handles wired and wireless networking, and the International
Organization for Standardization (ISO) handles other types.
49
IoT Enabling Technologies
5. Embedded Systems:
Embedded means something that is attached to another thing.
An embedded system can be thought of as a computer hardware
system having software embedded in it. An embedded system can be
an independent system or it can be a part of a large system.
An embedded system is a controller programmed and controlled by a
real-time operating system (RTOS) with a dedicated function.
It is embedded as part of a complete device often including hardware
and mechanical parts. Embedded systems control many devices in
common use today.
An embedded system has three components hardware, application
software, Real Time Operating system (RTOS) 50
IOT Levels And Deployment Template's
51
IOT Levels And Deployment Template's
52
IOT Levels And Deployment Template's
53
IOT Level-1:
IOT Levels And Deployment Template's
54
IOT Level-2:
IOT Levels And Deployment Template's
55
IOT Level-3:
IOT Levels And Deployment Template's
56
IOT Level-4:
IOT Levels And Deployment Template's
57
IOT Level-5:
IOT Levels And Deployment Template's
58
IOT Level-6:
IOT Issues and Challenges, Applications
Challenges:
There are many challenges that stand in the way of the successful
deployment of IoT applications. These challenges include:
1. Big data
2. Networking
3. Heterogeneity
4. Interoperability
5. Scalability
6. Security and privacy
7. Maintenance
59
IOT Issues and Challenges, Applications
Applications:
The IoT has the capability to connect everyday objects. It has
introduced several applications:
1. Healthcare
2. Smart City
3. Smart Home
4. Connected Industry
5. Smart Retail
6. Connected Car
7. Smart Parking
8. Smart Energy and Smart Grid
9. Environmental Monitoring
10. Smart Agriculture
60
IOT Devices And Its Features
61
Internet of Things Devices is non-
standard devices that connect
wirelessly to a network with each
other and able to transfer the data.
IoT devices are enlarging the
internet connectivity beyond
standard devices such as
smartphones, laptops, tablets, and
desktops.
Embedding these devices with
technology enable us to
communicate and interact over the
networks and they can be remotely
monitored and controlled.
IOT Devices And Its Features
Arduino:
Arduino devices are the microcontrollers and microcontroller kit for
building digital devices that can be sense and control objects in the physical
and digital world.
Arduino boards are furnished with a set of digital and analog input/output
pins that may be interfaced to various other circuits.
Some Arduino boards include USB (Universal Serial Bus) used for loading
programs from the personal computer.
IOT Devices And Its Features
Uno:
The Things Uno is the perfect board to start prototyping your IoT ideas or
make an existing project wireless with up to 10km range by simply
swapping boards.
IOT Devices And Its Features
Raspberry Pi :
Raspberry Pi 3 is the third generation of Raspberry Pi and it packs quite a
formidable punch in its credit card-sized package. Most notably, in addition
to the standard features of the Raspberry Pi (such as four USB 2.0 ports and
built-in Ethernet), it has:
A 1.2GHz 64-bit quad-core ARMv8 CPU
The powerful CPU coupled with Wireless LAN and Bluetooth 4.1 radio
makes it an ideal candidate for IoT projects, because multiple sensors can be
connected to it simultaneously. In addition, the Raspberry Pi has a 40-pin
GPIO (General Purpose I/O) connector for interfacing with external
sensors.
IOT Devices And Its Features
Raspberry Pi :
The Raspberry Pi Zero is the smallest Raspberry Pi ever made, and although it
doesn’t have a processor that’s as powerful as the Pi 3, its small size is especially
suited for embedded projects (such as wearables, etc.), where space is a premium.
IOT Devices And Its Features