0% found this document useful (0 votes)
68 views23 pages

IoT Design Methodology Overview

The document outlines the design methodology for Internet of Things (IoT) systems, detailing ten steps from purpose specification to application development. It discusses the role of embedded systems, microcontrollers, and System-on-Chip (SoC) in IoT, emphasizing their importance for connectivity and efficiency. Additionally, it covers the use of Arduino and Raspberry Pi platforms for IoT applications, including programming and interfacing with various sensors and devices.
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)
68 views23 pages

IoT Design Methodology Overview

The document outlines the design methodology for Internet of Things (IoT) systems, detailing ten steps from purpose specification to application development. It discusses the role of embedded systems, microcontrollers, and System-on-Chip (SoC) in IoT, emphasizing their importance for connectivity and efficiency. Additionally, it covers the use of Arduino and Raspberry Pi platforms for IoT applications, including programming and interfacing with various sensors and devices.
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

1

21CSE253T- INTERNET OF
THINGS
Unit-3

Presented By
Mr. Parbhat Gupta
Department of Computer Science and Engineering
Contents 2
Design Methodology
Embedded computing logic
Microcontroller
System on Chips
IoT system building blocks
Arduino - Board details
IDE programming
Raspberry Pi Interfaces
Raspberry Pi with Python Programming
Design Methodology 3
Cont.. 4
Step 1: Purpose & Requirements Specification • In this step, the system purpose,
behavior and requirements (such as data collection requirements, data analysis
requirements, system management requirements, data privacy and security
requirements, user interface requirements, ...) are captured.
Step 2: Process Specification • In this step, the use cases of the IoT system are
formally described based on and derived from the purpose and requirement
specifications.
Step 3: Domain Model Specification • The domain model describes the main concepts,
entities and objects in the domain of IoT system to be designed. Domain model
defines the attributes of the objects and relationships between objects. Domain model
provides an abstract representation of the concepts, objects and entities in the IoT
domain, independent of any specific technology or platform. With the domain model,
the IoT system designers can get an understanding of the IoT domain for which the
system is to be designed.
Cont.. 5
Step 4: Information Model Specification • Information Model defines the structure of
all the information in the IoT system, for example, attributes of Virtual Entities,
relations, etc. Information model does not describe the specifics of how the
information is represented or stored. To define the information model, we first list the
Virtual Entities defined in the Domain Model. Information model adds more details to
the Virtual Entities by defining their attributes and relations.
Step 5: Service Specifications • Service specifications define the services in the IoT
system, service types, service inputs/output, service endpoints, service schedules,
service preconditions and service effects.
Step 6: IoT Level Specification • The sixth step in the IoT design methodology is to
define the IoT level for the system. In Chapter-1, we defined five IoT deployment
levels.
Cont.. 6
Step 7: Functional View Specification • The Functional View (FV) defines the
functions of the IoT systems grouped into various Functional Groups (FGs). Each
Functional Group either provides functionalities for interacting with instances of
concepts defined in the Domain Model or provides information related to these
concepts.
Step 8: Operational View Specification • In this step, various options pertaining to the
IoT system deployment and operation are defined, such as, service hosting options,
storage options, device options, application hosting options, etc.
Step 9: Device & Component Integration • The ninth step in the IoT design
methodology is the integration of the devices and components.
Step 10: Application Development • The final step in the IoT design methodology is to
develop the IoT application.
Embedded Computing Logic 7
The Internet of Things (IoT) has changed how we interact with our environment. The possibilities for
connected devices to improve efficiency, manageability, and accessibility appear limitless, from smart
homes to linked automobiles. But what enables the Internet of Things to exist? The success of the
Internet of Things is dependent on embedded systems. Embedded systems are sophisticated
computerized systems that are built into physical objects and linked to networks to perform specific
functions. They provide computational power, data storage, and communication capabilities as well.
All are needed by different devices to interact with one another and the "cloud" via their network.
Embedded systems are computer systems that are programmed to perform specific tasks. They can be
found in phones, automobiles, and most household appliances. They are typically small and have
limited resources, but they are powerful enough to control the device in which they are embedded.
They are designed to do only one thing. Embedded systems are used in various products and fields,
from consumer goods and industrial systems to medical and automotive devices. They are expected to
be dependable, energy-efficient, and cost-effective. Hence, they provide several advantages over
traditional computers.
Cont.. 8
Microcontroller 9
A microcontroller is a small computer typically used to control electronic devices. It is often used in
Internet of Things (IoT) applications because it is inexpensive, has low power consumption, and can
easily integrate into various devices. A microcontroller is a single chip that contains a processor,
memory, and input/output parts. The processor runs instructions, the memory stores data and programs,
and the I/O parts let the microcontroller communicate with the environment using sensors and tools.
Many different microcontrollers are available on the market, each with its features and capabilities. Some
common microcontrollers in IoT applications include Arduino, Raspberry Pi, and ESP8266.
Cont..
10
Several microcontrollers are suitable for use in IoT applications, including −
Arduino − Arduino boards are popular for Internet of Things projects because they are easy to use and
not too expensive. They have many features, like digital and analog inputs and outputs, and they
support different programming languages.
Raspberry Pi − The Raspberry Pi is a small, low-cost computer popular in IoT projects because of its
versatility and ability to run a full operating system. It can build many IoT devices, from simple
sensors to complex systems.
ATtiny − The ATtiny microcontroller is affordable for basic Internet of Things projects. It has digital
and analog inputs and outputs and can be programmed with Arduino.
STM32 − The STM32 family of microcontrollers is widely used in IoT applications due to their
high-speed processing capabilities, low power consumption, and support for various communication
protocols.
ESP32 − This is a good choice for Internet of Things projects because it has WiFi and Bluetooth, a fast
processor, and uses little energy.
System on Chips 11
A System-on-a-Chip is a microchip that contains all the components of a computer or other electronic systems
on a single integrated circuit (IC). It combines various components such as processor, memory, input/output
interfaces, and peripherals on a single chip. This integration provides a cost-effective and power-efficient
solution for many electronic devices, especially for IoT and embedded systems.
The Internet of Things (IoT) has gained widespread popularity in recent years, with its ability to connect
devices and exchange data wirelessly. IoT devices need to be compact, low-power, and capable of handling
large amounts of data. SoC plays a critical role in IoT as it offers a cost-effective and power-efficient solution.
SoC allows designers to integrate multiple functions on a single chip, enabling devices to operate on lower
power and without the need for external components.
One of the main advantages of using SoC in IoT is that it enables secure and reliable connectivity between
devices. SoC-based IoT devices can communicate wirelessly, and the chip’s built-in security features can
protect against unauthorized access and data breaches. This makes SoC-based IoT devices suitable for
applications where data security is a significant concern.
Architecture of SoC 12
IoT system building blocks 13
The fundamental building blocks of an IoT system are typically considered to be sensors (devices),
gateways, network infrastructure, cloud infrastructure, and applications; essentially, the "things" that
collect data (sensors), a way to aggregate and process data from multiple devices (gateways), the
network that connects them, a cloud platform to store and analyze data, and the user-facing
applications that utilize the collected information.
Key components within these building blocks 14
Sensors: These are the physical devices that gather data from the environment, like temperature
sensors, motion detectors, pressure sensors, etc.
Microcontrollers: Embedded processors within the devices that process raw sensor data and prepare
it for transmission.
Communication modules: The technology that allows the devices to connect to a network, such as
Wi-Fi, Bluetooth, cellular networks.
Gateways: Devices that collect data from multiple sensors, pre-process it, and then send it to the
cloud platform via a network.
Network infrastructure: The network that connects all the IoT devices and gateways, including
wired and wireless connections.
Cloud platform: A cloud-based system where the collected data is stored, analyzed, and managed.
Applications: The software programs that users interact with to access and utilize the data gathered
by the IoT system.
Arduino 15
Arduino is a software as well as hardware platform that helps in making electronic
projects. It is an open-source platform and has a variety of controllers and
microprocessors. There are various types of Arduino boards used for various purposes.
The Arduino is a single circuit board, which consists of different interfaces or parts.
The board consists of the set of digital and analog pins that are used to connect various
devices and components, which we want to use for the functioning of the electronic
devices.
Most of the Arduino consists of 14 digital I/O pins.
The analog pins in Arduino are mostly useful for fine-grained control. The pins in the
Arduino board are arranged in a specific pattern. The other devices on the Arduino
board are USB port, small components (voltage regulator or oscillator),
microcontroller, power connector, etc.
Arduino - Board details 16
Cont.. 17

Using the previous image as a reference, the labeled components of the board
respectively are-
1. USB: can be used for both power and communication with the IDE
2. Barrel Jack: used for power supply
3. Voltage Regulator: regulates and stabilizes the input and output voltages
4. Crystal Oscillator: keeps track of time and regulates processor frequency
5. Reset Pin: can be used to reset the Arduino Uno
6. 3.3V pin: can be used as a 3.3V output
7. 5V pin: can be used as a 5V output
[Link] pin: can be used to ground the circuit
Cont.. 18
9. Vin pin: can be used to supply power to the board
10. Analog pins(A0-A5): can be used to read analog signals to the board
11. Microcontroller(ATMega328): the processing and logical unit of the board
12. ICSP pin: a programming header on the board also called SPI
13. Power indicator LED: indicates the power status of the board
14. RX and TX LEDs: receive(RX) and transmit(TX) LEDs, blink when sending or receiving serial data
respectively
15. Digital I/O pins: 14 pins capable of reading and outputting digital signals; 6 of these pins are also
capable of PWM
16. AREF pins: can be used to set an external reference voltage as the upper limit for the analog pins
17. Reset button: can be used to reset the board
IDE programming 19
Integrated Development Environments (IDEs) are software tools that programmers use to
write, test, and build software for IoT projects. IDEs combine tools like text editors,
compilers, and debuggers into a single interface.
How IDEs are used in IoT-
Designing microcontrollers: IDEs are used to design microcontrollers, which are the
lowest level components in IoT projects. Microcontrollers handle sensor data and
communicate with Wi-Fi radio circuits.
Writing code: IDEs are used to write code in programming languages like C or C++.
Testing and debugging: IDEs include debuggers that help developers identify and fix
issues in their code.
Examples of IDEs: Android Studio, Xcode, Visual Studio, IntelliJ IDEA, Arduino IDE.
Benefits of IDEs: IDEs increase developer productivity by combining tools into a single
interface. IDEs can help developers automate common tasks.
Raspberry Pi Interfaces 20
Raspberry Pi uses a variety of interfaces to connect to other devices and the internet,
including Ethernet, Wi-Fi, USB, GPIO, SPI, I2C, and serial. These interfaces are important
for collecting and transmitting data in real-time, which is a key part of IoT.
Interfaces
Ethernet and Wi-Fi: Built-in connectivity options for communicating with other devices
and the internet.
USB: The Raspberry Pi has one to five USB ports.
GPIO pins: Can be used to expand connectivity options.
Add-on boards (HATs): Can be used to expand connectivity options.
Serial Peripheral Interface (SPI): A synchronous serial data protocol for communicating
with one or more peripheral devices.
Inter-Integrated-Circuit bus (I2C): Allows synchronous data transfer with just two pins.
Raspberry Pi with Python Programming 21
A Raspberry Pi paired with Python programming is a popular combination for building Internet of Things
(IoT) projects, allowing users to easily control and collect data from various sensors and actuators through
simple, accessible Python code on a small, affordable single-board computer like the Raspberry Pi;
essentially, it provides a user-friendly platform to create connected devices that can interact with the
physical world.
Key points about using Raspberry Pi and Python in IoT:
Accessibility: Python's straightforward syntax makes it a great choice for beginners and experienced
developers alike, making it easier to learn and implement IoT projects.
GPIO Control: The Raspberry Pi's GPIO pins can be easily controlled with Python code, enabling direct
interaction with sensors and actuators like LEDs, buttons, temperature sensors, etc.
Connectivity: Raspberry Pi supports various network protocols, allowing devices to connect to the
internet and send/receive data to cloud platforms or other IoT systems.
Libraries and Frameworks: Python offers rich libraries like [Link] for hardware control and other
libraries for specific functionalities like network communication, data analysis, and cloud integration,
simplifying development.
Applications of Raspberry Pi and Python 22

Home Automation: Creating smart systems to control lights, thermostats,


security cameras, and appliances based on sensor data.
Environmental Monitoring: Building systems to monitor temperature,
humidity, air quality, and other environmental parameters.
Industrial Monitoring: Collecting data from sensors in industrial settings to
track equipment performance and identify potential issues.
Robotics: Controlling robot movements and actions based on sensor inputs.
23

Thank You

You might also like