0% found this document useful (0 votes)
17 views9 pages

IOT Unit-5

The document outlines a comprehensive methodology for designing IoT platforms, covering requirements definition, stakeholder identification, technology selection, system architecture, data modeling, device integration, data processing, security measures, testing, and deployment. It also discusses IoT devices, their functionalities, and examples like Raspberry Pi, along with other IoT devices and their specifications. Additionally, it introduces WAMP for IoT and the Django web application framework for developing applications in Python.

Uploaded by

it21737002
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views9 pages

IOT Unit-5

The document outlines a comprehensive methodology for designing IoT platforms, covering requirements definition, stakeholder identification, technology selection, system architecture, data modeling, device integration, data processing, security measures, testing, and deployment. It also discusses IoT devices, their functionalities, and examples like Raspberry Pi, along with other IoT devices and their specifications. Additionally, it introduces WAMP for IoT and the Django web application framework for developing applications in Python.

Uploaded by

it21737002
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Unit -5

IoT Platforms Design Methodology

IoT Platform Design Methodology:

1. Define Requirements and Objectives:


o Identify the goals, objectives, and requirements of the IoT system. Understand the
problem domain, user needs, and business objectives that the system aims to
address. Define key performance indicators (KPIs) and success criteria for
evaluating the system's effectiveness.
2. Identify Stakeholders and Use Cases:
o Identify stakeholders, including end-users, administrators, developers, and other
relevant parties. Understand their roles, responsibilities, and expectations
regarding the IoT system. Identify and prioritize use cases that illustrate how
stakeholders will interact with the system to achieve their goals.
3. Select IoT Technologies and Platforms:
o Evaluate and select appropriate IoT technologies, platforms, and components
based on the requirements and use cases identified earlier. Consider factors such
as device capabilities, connectivity options, data processing requirements, security
needs, scalability, and interoperability with existing systems.
4. Design System Architecture:
o Develop the architectural design of the IoT system, defining the structure,
components, interfaces, and interactions among subsystems. Consider aspects
such as data collection, communication protocols, data storage, analytics, security
mechanisms, device management, and user interfaces. Choose between
centralized, decentralized, or hybrid architectures based on the system's
requirements and constraints.
5. Define Data Model and Communication Protocols:
o Design the data model that describes the structure and semantics of the data
exchanged within the IoT system. Define data formats, attributes, metadata, and
relationships between data entities. Select communication protocols for device-to-
device, device-to-cloud, and cloud-to-cloud communication, considering factors
such as bandwidth, latency, reliability, and security requirements.
6. Implement Device Integration and Connectivity:
o Develop or integrate IoT devices, sensors, actuators, and gateways into the system.
Configure device connectivity using wireless (e.g., Wi-Fi, Bluetooth, Zigbee) or
wired (e.g., Ethernet, LoRaWAN) protocols. Implement device provisioning,
authentication, and management mechanisms to ensure secure and reliable
communication with the IoT platform.
7. Implement Data Processing and Analytics:
o Develop data processing pipelines and analytics workflows to ingest, process,
analyse, and visualize IoT data in real-time or batch modes. Implement data
filtering, aggregation, transformation, and enrichment to derive actionable insights
from raw sensor data. Integrate machine learning algorithms for predictive
maintenance, anomaly detection, and optimization tasks.
8. Implement Security and Privacy Measures:
o Incorporate security and privacy mechanisms to protect the IoT system against
cyber threats, unauthorized access, data breaches, and privacy violations.
Implement end-to-end encryption, access control, authentication, authorization,
data masking, and security auditing features. Follow best practices for secure
coding, device hardening, and network segmentation.
9. Test and Validate the System:
o Conduct comprehensive testing and validation of the IoT system to ensure that it
meets the functional, performance, reliability, and security requirements. Perform
unit testing, integration testing, system testing, and acceptance testing across
different layers and components of the system. Validate the system against use
cases, edge cases, and failure scenarios.
10. Deploy, Monitor, and Maintain the System:
o Deploy the IoT system in the production environment, ensuring smooth
integration with existing infrastructure and processes. Implement monitoring and
logging mechanisms to track system health, performance metrics, and security
incidents in real-time. Establish procedures for system maintenance, software
updates, patch management, and incident response to ensure on going reliability
and security.

IoT Physical Devices & Endpoints:

What is an IoT Device:

o A "Thing" in Internet of Things (IoT) can be any object that has a unique identifier and
which can send/receive data (including user data) over a network (e.g., smart phone,
smart TV, computer, refrigerator, car, etc. ).
o IoT devices are connected to the Internet and send information about themselves or
about their surroundings (e.g. information sensed by the connected sensors) over a
network (to other devices or servers/storage) or allow actuation upon the physical
entities/ environment around them remotely.

IoT Device Examples:

o A home automation device that allows remotely monitoring the status of appliances
and controlling the appliances.
o An industrial machine which sends information abouts its operation and health
monitoring data to a server.
o A car which sends information about its location to a cloud-based service.
o A wireless-enabled wearable device that measures data about a person such as the
number of steps walked and sends the data to a cloud-based service.

Basic building blocks of an IoT Device:

o Sensing: Sensors can be either on-board the IoT device or attached to the device.
o Actuation: IoT devices can have various types of actuators attached that allow taking
actions upon the physical entities in the vicinity of the device.
o Communication: Communication modules are responsible for sending collected data
to other devices or cloud based servers/storage and receiving data from other devices
and commands from remote applications.
o Analysis & Processing: Analysis and processing modules are responsible for making
sense of the collected data.
Stages of IoT Solutions Architecture
There are several layers of IoT built upon the capability and performance of IoT elements
that provides the optimal solution to the business enterprises and end-users. The IoT
architecture is a fundamental way to design the various elements of IoT, so that it can
deliver services over the networks and serve the needs for the future.

Following are the primary stages (layers) of IoT that provides the solution for IoT
architecture.

o Sensors/Actuators: Sensors or Actuators are the devices that are able to emit, accept
and process data over the network. These sensors or actuators may be connected either
through wired or wireless. This contains GPS, Electrochemical, Gyroscope, RFID, etc.
Most of the sensors need connectivity through sensors gateways. The connection of
sensors or actuators can be through a Local Area Network (LAN) or Personal Area
Network.
o Gateways and Data Acquisition: As the large numbers of data are produced by this
sensors and actuators need the high-speed Gateways and Networks to transfer the data.
This network can be of type Local Area Network (LAN such as WiFi, Ethernet, etc.), Wide
Area Network (WAN such as GSM, 5G, etc.).
o Edge IT: Edge in the IoT Architecture is the hardware and software gateways that analyze
and pre-process the data before transferring it to the cloud. If the data read from the
sensors and gateways are not changed from its previous reading value then it does not
transfer over the cloud, this saves the data used.
o Data center / Cloud: The Data Center or Cloud comes under the Management Services
which process the information through analytics, management of device and security
controls. Beside this security controls and device management the cloud transfer the
data to the end users application such as Retail, Healthcare, Emergency, Environment,
and Energy, etc.

Exemplary Device: Raspberry Pi

o Raspberry Pi is a low-cost mini-computer with the physical size of a credit card.


o Raspberry Pi runs various flavours of Linux and can perform almost all tasks that a
normal desktop computer can do.
o Raspberry Pi also allows interfacing sensors and actuators through the general purpose
I/O pins.
o Since Raspberry Pi runs Linux operating system, it supports Python "out of the box".

Raspberry Pi
The history of the Raspberry Pi was basically introduced in 2006. Its main concept is based
on Atmel ATmega644 which is particularly designed for educational use and intended for
Python. A Raspberry Pi is of small size i.e., of a credit-card-sized single-board computer,
which is developed in the United Kingdom(U.K) by a foundation called Raspberry Pi. The
main motto of this foundation is to promote the teaching of basic computer science in the
education institutes and also in developing countries. The first generation of Raspberry (Pi 1)
was released in the year 2012, which has two types of models namely model A and model B.

In the subsequent year, A+ and B+ models were released. Again in 2015, Raspberry Pi2
model B was released and an immediate year Raspberry Pi3 model B was released in the
market. Raspberry Pi can be plugged into a TV, computer monitor, and it uses a standard
keyboard and mouse. It is userfriendly as it can be handled by all the age groups. It does
everything you would expect a desktop computer to do like word-processing, browsing the
internet spreadsheets, playing games to playing high definition videos. It is used in many
applications like in a wide array of digital maker projects, music machines, parent detectors
to the weather station and tweeting birdhouses with infrared cameras.

All models feature on a Broadcom system on a chip (SOC), which includes chip graphics
processing unit GPU(a Video Core IV), an ARM-compatible and CPU. The CPU speed ranges
from 700 MHz to 1.2 GHz for the Pi 3 and onboard memory range from 256 MB to 1 GB
RAM. An operating system is stored in the secured digital SD cards and program memory in
either the MicroSDHC or SDHC sizes. Most boards have one to four USB slots, composite
video output, HDMI and a 3.5 mm phone jack for audio. Some models have WiFi and
Bluetooth.

The Raspberry Pi Foundation provides Arch Linux ARM and Debian distributions for
download, and promotes Python as the main programming language, with support for BBC
BASIC, Java, C, Perl, Ruby, PHP, Squeak Smalltalk, C++, etc.

The following are essential to get started

o Video cable to suit the TV or monitor used


o SD card containing Linux Operating system
o Power supply (see Section 1.6 below)
o USB keyboard
o TV or monitor (with DVI, HDMI, Composite or SCART input)

Internet Gateway Device


Internet Gateway Device has the ability to route data approaching from the WSN network to
the internet and Send data coming from the internet to the WSN network. It is like a Wi-Fi
router for the Internet of Things. In the internet gateway device, we use raspberry pi model B,
it features a quad-core ARM Cortex- A7 CPU is running at 900MHz (for a 6x presentation
improve on the first generation Raspberry Pi Model B+) and 1GB of LPDDR2 SDRAM (for a 2x
memory increase). And yes, there is total compatibility with Raspberry Pi1 we are secured.
Broadcom’s new SoC, the BCM2836, is the key factor.

Five steps we are using Internet Gateway Device


1. Port Linux operating system on Raspberry Pi
2. Modify Linux to work with Our Prototype
3. Developed Python Library for Communication of RPI with Xbee ZB
4. Wrote Program from sensors and Device controlling
5. Create WI-FI functionality on RPI for Internet Connection

WSN Nodes:
A wireless sensor network (WSN) consists of three main components: nodes, gateways, and
software. The spatially dispersed measurement nodes interface with the sensors to monitor
assets or their surroundings. The acquired information is wirelessly transmitted to the
gateway, which provides a connection to the wired globe where you can collect, procedure,
analyze, and present your measurement information using the software. Routers are an
individual type of dimension node that you can use to expand the distance and dependability
in a WSN. Sensors can be dispersed on the roads, vehicles, hospitals, buildings, people and
allow dissimilar applications such as medical services, battlefield operations, disaster
response, disaster relief, and environmental monitoring.

Linux on Raspberry Pi:


• Raspbian: Raspbian Linux is a Debian Wheezy port optimized for Raspberry Pi.
• Arch: Arch is an Arch Linux port for AMD devices.
• Pidora: Pidora Linux is a Fedora Linux optimized for Raspberry Pi.
• RaspBMC: RaspBMC is an XBMC media-center distribution for Raspberry Pi.
• OpenELEC: OpenELEC is a fast and user-friendly XBMC media-center distribution.
• RISC OS: RISC OS is a very fast and compact operating system.

Raspberry Pi GPIO:

Raspberry Pi interfaces:

• Serial: The serial interface on Raspberry Pi has receive (Rx) and transmit (Tx) pins for
communication with serial peripherals.
• SPI: Serial Peripheral Interface (SPI) is a synchronous serial data protocol used for
communicating with one or more peripheral devices.
• I2C: The I2C interface pins on Raspberry Pi allow you to connect hardware modules. I2C
interface allows synchronous data transfer with just two pins - SDA (data line) and SCL
(clock line).
Programming Raspberry Pi with Python:
Interfacing LED and switch with Raspberry Pi:

from time import sleep


import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)
#Switch Pin
GPIO.setup(25, GPIO.IN)
#LED Pin
GPIO.setup(18, GPIO.OUT)
state=false

def toggleLED(pin):
state = not state
GPIO.output(pin, state)

while True:
try:
if (GPIO.input(25) == True):
toggleLED(pin)
sleep(.01)
except KeyboardInterrupt:
exit()

Other IoT Devices:

BeagleBone Black:

It’s similar to a Raspberry Pi but It’s


more powerful, Based on the TI Sitara
AM335x, an application processor SoC
containing an ARM Cortex-A8 core. You
have more pins to control. They recently
won 2013 Top Embedded Innovator
award.

Chip: TI AM3359
CPU: 1 GHz ARM Cortex-A8
GPU: PowerVR SGX530
Memory: 512 MB DDR3
Pins: 2x 46 pin headers
USB 2.0: USB 2.0 type a host port. Dedicated single mini-USB 2.0 client port (no additional
2-port hub)
Video Output: microHDMI
Audio Output: microHDMI
Onboard Storage: 2 GB 8-bit embedded MMC on-board flash versionmicroSD card 3.3 V
Supported
(No Card Supplied)
Operating System: Linux, Android, Cloud9 IDE on Node.js w/ BoneScript library, plus more
Dimensions 86.40 × 53.3 mm (3.402 × 2.10 in)
pcDuino:

PCDuino = “PC + Arduino”


This board is similar to the Raspberry Pi, it’s becoming like the new choice of developers. It
has all the features of the Raspberry Pi but it’s more powerful. Which ultimately makes it
more expensive. It already comes with 2GB of flash memory. And you can add an SD card up
to 32GB. Which is a really advantage over the Rpi.

CPU: 1GHz ARM Cortex A8


GPU: OpenGL ES2.0, OpenVG 1.1 Mali 400 core
RAM: 1GB
Onboard Storage: 2GB Flash, SD card slot for up to 32GB
Video Output: HDMI
OS: Linux + Android
Extension Interface: 2.54 mm Headers compatible with Arduino
Network interface: RJ45 and USB WiFi Dongle

IoT Physical Servers & Cloud Offerings:


WAMP - AutoBahn for IoT

WAMP for IoT


Web Application Messaging Protocol (WAMP) is a sub-protocol of Websocket which
provides publishsubscribe and remote procedure call (RPC) messaging patterns.

WAMP – Concepts:
• Transport: Transport is channel that connects two peers.
• Session: Session is a conversation between two peers that runs over a transport.
• Client: Clients are peers that can have one or more roles. In publish-subscribe model
client can have following roles:
• Publisher: Publisher publishes events (including payload) to the topic maintained by
the Broker.
• Subscriber: Subscriber subscribes to the topics and receives the events including the
payload.
In RPC model client can have following roles:
Caller: Caller issues calls to the remote procedures along with call arguments.
Callee: Callee executes the procedures to which the calls are issued by the caller and returns
the results back to the caller.
Router: Routers are peers that perform generic call and event routing. In publish-subscribe
model Router has the role of a Broker:
Broker: Broker acts as a router and routes messages published to a topic to all subscribers
subscribed to the topic.
In RPC model Router has the role of a Broker:
Dealer: Dealer acts a router and routes RPC calls from the Caller to the Callee and routes
results from Callee to Caller.
Application Code: Application code runs on the Clients (Publisher, Subscriber, Callee or
Caller).

Python Web Application Framework-Django:


Django is an open source web application framework for developing web applications in
Python.
• A web application framework in general is a collection of solutions, packages and best
practices that allows development of web applications and dynamic websites.
• Django is based on the Model-Template-View architecture and provides a separation of
the data model from the business rules and the user interface.
• Django provides a unified API to a database backend.
• Thus web applications built with Django can work with different databases without
requiring any code changes.
• With this fiexibility in web application design combined with the powerful capabilities of
the Python language and the Python ecosystem, Django is best suited for cloud
applications.
• Django consists of an object-relational mapper, a web templating system and a regular-
expression- based URL dispatcher.

Django is a Model-Template-View (MTV) framework wherein the roles of model, template and
view, respectively, are:

Model: The model acts as a definition of some stored data and handles the interactions with
the database. In a web application, the data can be stored in a relational database, non-
relational database, an XML file, etc. A Django model is a Python class that outlines the
variables and methods for a particular type of data.

Template:In a typical Django web application, the template is simply an HTML page with a
few extra placeholders. Django's template language can be used to create various forms of
text files (XML, email, CSS, Javascript, CSV, etc.)

View:The view ties the model to the template. The view is where you write the code that
actually generates the web pages. View determines what data is to be displayed, retrieves the
data from the database and passes the data to the template.

Amazon Web Services for IoT:

Amazon RDS is a web service that allows you to create instances of MySQL, Oracle or
Microsoft SQL Server in the cloud. With RDS, developers can easily set up, operate, and scale
a relational database in the cloud. RDS can serve as a scalable datastore for IoT systems.
With RDS, IoT system developers can store any amount of data in scalable relational
databases.

Amazon SQS offers a highly scalable and reliable hosted queue for storing messages as they
travel between distinct components of applications. SQS guarantees only that messages
arrive, not that they arrive in the same order in which they were put in the queue. While
Kinesis is meant for real-time applications that involve high data ingress and egress rates,
SQS is simply a queue system that stores and releases messages in a scalable manner. SQS
can be used in distributed IoT applications in which various application components need to
exchange messages.
Amazon AutoScaling allows automatically scaling Amazon EC2 capacity up or down
according to user defined conditions. Therefore, with AutoScaling users can increase the
number of EC2 instances running their applications seamlessly during spikes in the
application workloads to meet the application performance requirements and scale down
capacity when the workload is low to save costs. AutoScaling can be used for auto scaling IoT
applications and IoT platforms deployed on Amazon EC2.

Amazon EC2 is an Infrastructure-as-a-Service (IaaS) provided by Amazon. EC2 delivers


scalable, pay-as-you-go compute capacity in the cloud. EC2 is a web service that provides
computing capacity in the form of virtual machines that are launched in Amazon's cloud
computing environment. EC2 can be used for several purposes for IoT systems. For example,
IoT developers can deploy IoT applications (developed in frameworks such as Django) on
EC2, setup IoT platforms with REST web services, etc.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy