DECCAN COLLEGE OF ENGINEERING AND TECHNOLOGY
(DECCAN GROUP OF INSTITUTIONS)
2024-2025
NAME: TANVEER SULTANA
DEPARTMENT: INFORMATION TECHNOLOGY
SUBJECT: INTERNET OF THINGS
UNIT V
IoT Platforms Design Methodology: Introduction, IoT Platform Design Methodology, IoT Physical Devices
& Endpoints, Raspberry Pi interfaces, Programming Raspberry Pi with Python, Other IoT Devices.IoT
Physical Servers & Cloud Offerings: Introduction to Cloud Storage Models & Communication APIs,
WAMP - AutoBahn for IoT, Xively Cloud for IoT, Python Web Application Framework-Django, Amazon
Web Services for IoT.
IoT Platforms Design Methodology
1. Purpose and Requirements Specification
First step is to define the purpose and requirements of the system. In this step, the system purpose,
behavior and requirements are captured. Requirements can be:
Data collection requirements
Data analysis requirements
System management requirements
Security requirements
User interface requirements
A home automation system that allows controlling the lights remotely using a web
Purpose
application
Home automation system should support two modes: auto and manual
Auto: System measures the light level in the room and switches on the light when it
Behavior is dark
Manual: Allows remotely switching lights on and off
System
System should provide remote monitoring and control functions
Management
Data Analysis System should perform local analysis of the data
Application
Application should be deployed locally, but should be accessible remotely
Deployment
Security Should provide basic security like user authentication
2. Process Specification
The use cases of the IoT system are formally described based on or derived from the purpose and
requirements specifications. The process specification for home automation system is as shown below.
For home automation system the purpose and requirements specification is as follows:
3. Domain Model Specification
The domain model describes the main concepts, entities and objects in the domain of the IoT
system to be designed. Domain model defines the attributes of the objects and relationships
between objects. The domain model is independent of any specific technology or platform.
Using domain model, system designers can get an understanding of the IoT domain for which the
system is to be designed. The entities, objects and concepts defined in the domain model of home
automation system include the following:
• The physical identifiable objects in the environment
Physical • IoT system provides information about the physical entity (using sensors)
Entity or performs actuation upon the physical entity
Virtual • Virtual entity is a representation of the physical entity in the digital world
Entity • For every physical entity there is a virtual entity
• Devices provide a medium for interaction between physical and virtual
entities
Device • Devices are used to gather information from or perform actuation on
physical entities
• Resources are software components which can be either on-device or
network-resources
• On-device resources are hosted on the device and provide sensing or
Resource actuation (eg: operating system)
• Network-resources include software components that are available on the
network (eg: database)
• Services provide an interface for interacting with the physical entity
Service • Services access resources to perform operations on physical entities
The domain model specification diagram for home automation system is as shown in
the below figure
4. Information Model Specification
Information model defines the structure of all the information in the IoT system. Does not describe how
the information is stored and represented. To define the information model, we first list the virtual
entities. Later more details like attributes and relationships are added. The information model
specification for home automation system is as shown below:
IoT Design Methodology Information Model Specification
5. Service Specifications
The service specification defines the following:
Services in the system
Service types
Service inputs/output
Service endpoints
Service schedules
Service preconditions
Service effects
For each state and attribute in the process specification and information model, we define a service.
Services either change the state of attributes or retrieve their current values. The service specification
for each state in home automation systems are as shown below:
6. IoT Level Specification
Based on the requirements we will choose the IoT application deployment level. IoT Design
Methodology IoT Level Specification
7. Functional View Specification
The functional view defines the functions of the IoT systems grouped into various functional groups.
Each functional group provides functionalities for interacting with concepts in the domain model and
information related to the concepts.
The functional groups in a functional view include: Device, Communication, Services, Management,
Security, and Application. The functional view specification for home automation system is shown in the
below figure:
The mapping between the IoT level and the functional groups is as shown in the below figure.
8. Operational View Specification
In this step, various options related to the IoT system deployment and operation are defined, such as:
Service hosting options
Storage options
Device options
Application hosting options
The options chosen for home automation system are as shown in the below figure.
9. Device and Component Integration
In this step the devices like sensors, computing devices and other components are integrated together.
The interconnection of different components in our home automation system are as shown in the figure
given below.
10. Application Development
Using all the information from previous steps, we will develop the application (code) for the IoT system.
The application interface for home automation system is shown below.
IoT PHYSICAL DEVICES AND ENDPOINTS
IoT Device
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, smartTV, computer,
refrigerator, car, etc.).
• 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 devices have both industrial and consumer uses and are typically integrated into other tools such as
mobile devices, industrial equipment and medical devices. Over a broad range, they can also be used in
smart cities. They're then used to send data or interact with other IoT devices over a network.
IoT Device Examples
A home automation device that allows remotely monitoring the status of appliances and controlling
the appliances.
• An industrial machine which sends information abouts its operation and health monitoring data
to a server.
• A car which sends information about its location to a cloud-based service.
• 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
1. Sensing: Sensors can be either on-board the IoT device or attached to thedevice.
2. Actuation: IoT devices can have various types of actuators attached that allow taking actions upon
the physical entities in the vicinity of thedevice.
3. 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.
4. Analysis & Processing: Analysis and processing modules are responsible for making sense of the
collecteddata.
• Basic building blocks of an IoT Device
Exemplary Device: Raspberry Pi
• Raspberry Pi is a low-cost mini-computer with the physical size of a credit card.
• Raspberry Pi runs various flavors of Linux and can perform almost all tasks that a normal
desktop computer can do.
• Raspberry Pi also allows interfacing sensors and actuators through the general purpose I/O
pins.
• Since Raspberry Pi runs Linux operating system, it supports Python "out of the box"
.
• Raspberry Pi interfaces
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
• Other IoT devices
• pcDuino
It is Ardunio-pin compatible single board mini computer that comes with a 1 GHz ARM Cortex A8
Processor.
pcDunio is a high performance and cost effective device that runs PC like OS such as Ubuntu and
Android ICS.
It supports various programming languages like C,C++, Java and Python.
• BeagleBone Black
It is similar to Rasberry pi but more powerful device. It comes with 1 GHz ARM Cortex A8
Processor that supports Linux and Android OS.
It has HDMI video/audio interface, USB and Ethernet Ports
• Cubieboard
It is powered by dual core ARM Cortex A7 Processor and has USB, HDMI, IR, Serial, Ethernet,
SATA and 96 pin extended interface. IT supports Linux and Android OS.
BeagleBone Black pcDuino Cubieboard