[go: up one dir, main page]

0% found this document useful (0 votes)
23 views18 pages

IoT Session2 FeasibilityToSystemDesign

https://www.slideshare.net/
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)
23 views18 pages

IoT Session2 FeasibilityToSystemDesign

https://www.slideshare.net/
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/ 18

IoT System Development Notes. Prepared by Aime Boston NDIZEYE.

System Feasibility
System feasibility is the process of evaluating whether a proposed system or
project is viable/possible from different perspectives. It assesses the practicality
and success factors before a system is developed and implemented. The goal is to
ensure the system will be useful, achievable, and beneficial before investing
resources.
Types of Feasibility:
1. Technical Feasibility
Definition: Evaluates whether the technology, tools, and resources needed to
develop and maintain the system are available and capable of supporting the
project.
Example in IoT: Assessing if the necessary sensors, communication protocols (e.g.,
Wi-Fi, Zigbee), and cloud infrastructure are available to support an IoT network.
2. Economic Feasibility
Definition: Determines if the project is financially viable. It assesses the cost-
benefit analysis of the system, including initial development, maintenance, and
operational costs versus the expected benefits or revenue.
Example in IoT: Calculating whether the long-term savings from an IoT-enabled
smart energy system will justify the initial investment in sensors and software.
3. Legal Feasibility
Definition: Examines whether the system complies with laws, regulations, and
contractual obligations.
Example in IoT: Ensuring compliance with data privacy laws in an IoT healthcare
system where sensitive patient information is collected and transmitted.
4. Operational Feasibility
Definition: Assesses whether the proposed system will meet the needs of the users
and whether it can be effectively integrated into current operational processes.
IoT System Development Notes. Prepared by Aime Boston NDIZEYE.

Example in IoT: Determining if a smart building's IoT system for monitoring


energy usage can be easily adopted by facility management staff.
5. Schedule Feasibility
Definition: Evaluates whether the project can be completed within the time
constraints, considering development timelines, milestones, and deadlines.
Example in IoT: Ensuring that the deployment of IoT sensors in an agriculture
monitoring system can be completed in time for a critical planting season.
Shortly, when a system is said to be feasible or viable, it means that it is possible
and practical in every aspect of its operations. This includes being technically
feasible (can be built and work as intended), economically viable (within budget),
legally compliant (meets regulatory requirements), operationally functional (can be
used efficiently), and feasible within the timeline (can be completed on schedule).
Documenting System Requirements in IoT System Development
In IoT system development, documenting system requirements is essential for
ensuring clarity between stakeholders, developers, and users about what the system
should achieve and how it will function.
Key Components in Documenting IoT System Requirements:
1. Functional Requirements
These define what the IoT system should do, such as:
• What data sensors need to collect.
• How the system processes, stores, and displays the data.
• Interaction between devices, users, and cloud services.
Example: "The system must collect temperature data every 10 minutes and store it
in the cloud for a minimum of 30 days."
2. Non-Functional Requirements
These define how the system should perform, focusing on attributes like:
• Performance: How fast should data be transmitted from the IoT devices to
the cloud?
IoT System Development Notes. Prepared by Aime Boston NDIZEYE.

• Scalability: Can the system scale to accommodate additional devices?


• Security: What security measures (e.g., encryption) will protect data
transmission and storage?
Example: "The system must support 1000 devices with a data transmission latency
of less than 5 seconds."
3. Hardware Requirements
This covers the physical components needed for the IoT system, such as:
• Sensor types (e.g., temperature, humidity, motion).
• Communication modules (e.g., Wi-Fi, Bluetooth, Zigbee).
Example: "The system will use temperature sensors with a precision of ±0.5°C
and Zigbee communication modules."
4. Network and Connectivity Requirements
Defines how devices in the IoT system will communicate and transfer data.
Example: "Devices must use low-power WAN protocols to send data to the central
server, ensuring minimal power consumption."
5. Cloud and Data Storage Requirements
Specifies how data will be processed and stored, whether locally or in the cloud,
and how much storage is required.
Example: "The system will use cloud storage with the capability to store 10GB of
data per day for a retention period of 6 months."
6. Security Requirements
Details the measures to protect IoT devices and data from breaches or unauthorized
access.
Example: "All data transmitted between devices and the cloud must be encrypted
using TLS."
7. User Interface (UI) Requirements
IoT System Development Notes. Prepared by Aime Boston NDIZEYE.

Defines how users will interact with the system, either via web interfaces or mobile
applications.
Example: "The user should be able to monitor real-time sensor data on a mobile
app and receive alerts when thresholds are exceeded."
8. Power Requirements
Specifies the power consumption needs of the IoT devices, especially for battery-
operated systems.
Example: "Each sensor device should operate on battery power for a minimum of
12 months before requiring replacement."
9. Regulatory and Compliance Requirements
Outlines any legal or regulatory constraints the IoT system must adhere to, such as
data protection and industry standards.
Example: "The system must comply with GDPR regulations for collecting and
processing personal data."
Importance of Documenting IoT Requirements:
✓ Clarity and Communication: Ensures all stakeholders understand the
system’s objectives, limitations, and capabilities.
✓ Risk Management: Reduces the risk of project failure by defining all key
aspects before development.
✓ Reference Point: Provides a reference for developers and testers to ensure
the system is built according to the agreed specifications.
✓ Change Management: Makes it easier to track and manage changes to
requirements during the project lifecycle.
In summary, feasibility analysis ensures the practicality and success of a system,
and documenting requirements in IoT development ensures a clear understanding
of what the system needs to deliver and how it will function.
1.2 Tool, materials and equipment are correctly selected according to Entire
system requirements.
IoT System Development Notes. Prepared by Aime Boston NDIZEYE.

Here are the difference between the terms tools, materials, and equipment in
the context of IoT system development:
1. Tools
Definition: Instruments or software used to carry out specific tasks during the IoT
development process. They assist in tasks like coding, debugging, testing, and
assembling IoT systems.
Example : IDEs, debugging software, soldering irons, or multimeters.
2. Materials
Definition: Physical substances or components that are consumed or assembled as
part of creating IoT systems. They are often the building blocks of the hardware in
IoT projects.
Example: Sensors, wires, microcontrollers, resistors, and actuators.
3. Equipment: refers to larger, more complex tools or machines used to create,
test, or manufacture IoT systems.
Example: 3D printers, soldering stations, PCB manufacturing machines, or
oscilloscopes.

Selection of Tools, materials, and equipment.


Tools and Materials:
1. Integrated Development Environment (IDE): An IDE provides a
comprehensive environment for developing IoT applications, supporting
code writing, compilation, and debugging, all in one platform.
Examples:
Arduino IDE: Used for programming IoT devices like Arduino and
ESP8266.
PlatformIO: An open-source IDE for building embedded IoT systems on
various microcontrollers like ESP32 and STM32.
IoT System Development Notes. Prepared by Aime Boston NDIZEYE.

Eclipse IoT IDE: Designed specifically for developing IoT applications with
support for multiple protocols and devices.
2. Version Control System Operations (Git): Git is a version control tool that
helps manage code changes in IoT projects, especially useful when multiple
developers collaborate or when maintaining firmware for multiple IoT
devices.
Examples:
GitHub: For managing and hosting firmware repositories for IoT projects.
GitLab: Used for version control and Continuous Integration/Continuous
Deployment (CI/CD) in IoT development pipelines.
Bitbucket: For hosting private IoT development projects and managing code
repositories.
3. Debugging Tools: Debugging tools help identify, monitor, and resolve
issues in IoT devices, firmware, and network communications.
Examples:
Serial Monitor (Arduino IDE): For monitoring real-time data exchange
between IoT sensors and controllers.
JTAG Debugger: Used for hardware-level debugging in embedded IoT
systems like ARM microcontrollers.
Wireshark: A network protocol analyzer that helps debug communication
between IoT devices and networks by capturing and analyzing data packets.
4. Testing Tools: Tools that verify the performance and reliability of IoT
systems, ensuring that devices and software meet design specifications.
Examples:
Postman: For testing APIs used in IoT systems, ensuring correct communication
between devices and servers.
Jenkins: Facilitates automated testing and continuous integration in IoT systems.
TestComplete: For automated functional testing of IoT device interfaces and
software.
5. Simulation and Emulation Software
IoT System Development Notes. Prepared by Aime Boston NDIZEYE.

Definition: Software that simulates the behavior of IoT devices and networks,
allowing testing and development without physical hardware.
Examples:
Cisco Packet Tracer: For simulating IoT networks and their interactions with
devices.
Proteus Design Suite: Simulates IoT devices like microcontrollers and sensors.
IoTIFY: A cloud-based platform for simulating large-scale IoT systems, including
network protocols and device behavior.
6. Analytics and Monitoring Tools
Definition: These tools provide real-time analytics, monitoring, and diagnostics of
IoT devices, helping manage data and device performance.
Examples:
Kibana: Visualizes real-time IoT data for analysis.
AWS IoT Analytics: Performs large-scale data analysis from connected IoT
devices.
ThingsBoard: Open-source platform for monitoring and analyzing IoT device data.
7. Hand Tools
Definition: Basic tools used in assembling, maintaining, and repairing IoT
hardware.
Examples:
Screwdrivers: For assembling and installing IoT devices like sensors.
Soldering Iron: For connecting components such as sensors and microcontrollers.
Wire Strippers: Used to prepare cables for wiring IoT devices.
8. Programming and Flashing Tools
Definition: Tools for writing, uploading, and updating firmware on IoT devices.
Examples:
IoT System Development Notes. Prepared by Aime Boston NDIZEYE.

Arduino IDE: For programming and flashing firmware to IoT devices like Arduino
boards and ESP8266 modules.
PlatformIO: For flashing firmware onto microcontrollers like STM32 or ESP32.
ESPTool: A command-line tool for flashing ESP8266/ESP32 microcontrollers.
9. Microcontrollers and Processors
Definition: The processing units that control the operation of IoT devices by
executing software to process data from sensors and control actuators.
Examples:
ESP32: A popular IoT microcontroller with integrated Wi-Fi and Bluetooth.
Arduino Uno: A widely-used microcontroller for prototyping IoT projects.
Raspberry Pi: A small, powerful computer used in more complex IoT applications.
10.Sensors and Actuators
Definition: Sensors collect data from the environment (e.g., temperature,
humidity), while actuators perform physical actions based on that data (e.g.,
turning on a motor).
Examples:
DHT11 Sensor: Measures temperature and humidity for IoT environmental
monitoring.
HC-SR04: Ultrasonic sensor for measuring distance in IoT applications.
Servo Motor (Actuator): Used for motion control in IoT robotics projects.
11.Internet
Definition: The communication medium that allows IoT devices to exchange data
with servers, other devices, or the cloud.
Examples:
Wi-Fi: A standard wireless communication protocol used by IoT devices.
IoT System Development Notes. Prepared by Aime Boston NDIZEYE.

LoRaWAN: A long-range, low-power protocol for IoT communication over large


distances.
Cellular (LTE/5G): Used for wide-area IoT connectivity in devices like smart
meters.
12.Connectors and Cables
Definition: Physical components that connect IoT devices, sensors, and other
hardware.
Examples:
Jumper Wires: For making quick connections between IoT components on a
breadboard.
USB Cables: Used to connect and power microcontrollers like Raspberry Pi.
Ethernet Cables: For providing wired internet connections in IoT setups.
13.Power Supplies
Definition: Devices that supply electrical power to IoT devices, ensuring they
operate consistently and reliably.
Examples:
Battery Packs: Portable power for sensors or IoT devices in remote areas.
Solar Panels: Used to power IoT devices in outdoor or off-grid locations.
AC-DC Adapters: Power IoT devices like Raspberry Pi from a standard power
outlet.
14.Enclosures
Definition: Protective casings that house IoT devices and sensors, shielding them
from environmental factors such as moisture, dust, and impact.
Examples:
Plastic Enclosures: Used to protect indoor IoT devices like smart home sensors.
Waterproof Enclosures: Shield outdoor IoT sensors from rain and humidity.
IoT System Development Notes. Prepared by Aime Boston NDIZEYE.

Metal Casings: Provide durability for industrial IoT applications.


15.Printed Circuit Boards (PCBs)
Definition: PCBs provide the foundation for electrical connections between IoT
components such as microcontrollers, sensors, and actuators.
Examples:
Custom PCBs: Designed for specific IoT devices like wearables or smart home
products.
Breadboards: Temporary PCBs used during prototyping for testing IoT circuits.
Shield PCBs: Add functionality like Wi-Fi or Bluetooth to microcontrollers like
Arduino.
These tools and materials re essential for the IoT system development, from
prototyping to deployment.
Equipment:
1. Computer
Definition: The primary tool for writing code, simulating systems, flashing
firmware, and managing the IoT development process. It serves as the
development platform for programming microcontrollers, analyzing data, and
testing IoT systems.
Examples:
Laptop/PC with IDEs like Arduino or Visual Studio Code: Used for writing and
testing firmware for IoT devices.
Raspberry Pi Computer: Can be used both as a development platform and a small
IoT server for edge computing.
2. Soldering Stations
Definition: Soldering stations are used to permanently connect electronic
components by melting solder to join wires or attach components to PCBs in IoT
hardware development.
Examples:
IoT System Development Notes. Prepared by Aime Boston NDIZEYE.

Hakko FX-888D Soldering Station: A reliable station for soldering components to


IoT boards.
Weller WE1010NA: A professional-grade soldering station for assembling or
repairing IoT circuits.
3. Prototyping Boards
Definition: These are platforms for building and testing circuits without needing to
create a permanent PCB. They allow developers to easily connect sensors,
actuators, and microcontrollers during the early stages of IoT development.
Examples:
Breadboard: A temporary board used for assembling IoT circuits during
prototyping without soldering.
Perfboard (Perforated Board): A platform for more permanent IoT prototypes,
allowing components to be soldered in place.
4. PCB Manufacturing Equipment
Definition: Machines and tools used to design, etch, drill, and manufacture printed
circuit boards (PCBs) for IoT systems. PCBs serve as the physical platform
connecting the various electrical components of IoT devices.
Examples:
PCB Milling Machines: Machines like the Bantam Tools Desktop PCB Milling
Machine, used for rapid prototyping of IoT PCBs.
Reflow Ovens: For soldering surface-mount components onto PCBs in IoT device
production.
5. 3D Printers and CNC Machines
Definition: Tools used to create custom enclosures, components, or even entire
housing units for IoT devices. They are also used to fabricate parts of hardware
prototypes and support mechanical aspects of IoT systems.
Examples:
IoT System Development Notes. Prepared by Aime Boston NDIZEYE.

Creality Ender 3D Printer: Used for printing custom cases or mounting systems for
IoT devices.
CNC Router Machines: Like the Shapeoko CNC machine, used for cutting precise
enclosures or mechanical parts for IoT systems.
6. Testing and Measurement Instruments
Definition: Instruments that measure electrical signals, environmental parameters,
and performance metrics to ensure the proper functioning of IoT systems. They
help monitor voltage, current, signal integrity, and other key aspects during
development.
Examples:
• Oscilloscope: Used to analyze electrical signals and communication between
IoT devices and sensors.
• Multimeter: A versatile tool for measuring voltage, current, and resistance in
IoT circuits.
• Digital Calipers: For precise measurement of physical components when
designing or building IoT hardware.
These tools and equipment play a vital role in various stages of IoT system
development, from initial prototyping to final product manufacturing and testing.
1.3 IoT system diagrams are correctly designed based on IoT system
requirements.
IoT System Design Diagrams
1. High-Level Architecture Diagram
A High-Level Architecture Diagram provides an overview of the major
components and how they interact within an IoT system. It shows the flow of data
between connected devices, cloud servers, and end-users, focusing on the overall
structure rather than detailed implementation.
The term 'IoT Architecture' refers to the structured arrangement of IoT components
that interact with each other to form a complete IoT system.
Description
IoT System Development Notes. Prepared by Aime Boston NDIZEYE.

The High-Level Architecture Diagram of an IoT system typically represents the


main layers and components involved in data collection, communication,
processing, and user interaction. It provides a top-down view of the system,
showing how devices connect to the network, communicate with the cloud, and
how the cloud processes data and delivers insights to users.
Symbols
Cloud Symbol: Represents cloud services for data storage, processing, and
analytics.
Device Icon (Sensor/Actuator): Represents IoT devices (sensors/actuators)
that collect or act on data.
Gateway: Indicates devices that aggregate data from sensors and transmit it
to the cloud.
Network: Represents communication technologies (Wi-Fi, LoRa, 5G) that
connect IoT devices to gateways and the cloud.
Database Symbol: Shows where data is stored for further processing.
User Interface (UI): Represents dashboards or apps used by end-users to
interact with the IoT system.
Layers of IoT Architecture
Perception Layer: This is the first layer of IoT architecture. In the
perception layer, a number of sensors and actuators are used to gather
useful information like temperature, moisture content, intruder detection,
sounds, etc. The main function of this layer is to get information from
surroundings and to pass data to another layer so that some actions can be
done based on that information. It consists of physical IoT devices like
sensors and actuators that collect data or execute commands.
Network Layer: As the name suggests, it is the connecting layer between
perception and middleware layer. It gets data from perception layer and
passes data to middleware layer using networking technologies like 3G,
4G, Wi-Fi, infrared, etc. This is also called communication layer because it
is responsible for communication between perception and middleware
layer. All the transfer of data done securely keeping the obtained data
confidential.
Processing Layer (Middleware): Middleware Layer has some advanced
features like storage, computation, processing, action taking capabilities. It
stores all data-set and based on the device address and name it gives
IoT System Development Notes. Prepared by Aime Boston NDIZEYE.

appropriate data to that device. It can also take decisions based on


calculations done on data-set obtained from sensors. Includes cloud servers
or edge computing platforms that process and store data collected from
devices.
Application Layer: The application layer manages all application process
based on information obtained from middleware layer. This application
involves sending emails, activating alarm, security system, turn on or off a
device, smartwatch, smart agriculture, etc. This layer provides services or
applications that allow users to interact with the IoT system (e.g., mobile
apps, web dashboards).
Business Layer: The success of any device does not depend only on
technologies used in it but also how it is being delivered to its consumers.
Business layer does these tasks for the device. It involves making
flowcharts, graphs, analysis of results, and how device can be improved,
etc. Business layer manages the overall application, including business
models, data analysis, and decision-making.

Component Interaction
Sensors: Collect data from the environment (e.g., temperature, humidity).
Gateway: Aggregates sensor data and forwards it to the cloud.
Cloud: Processes, stores, and analyzes the data, applying machine learning
or AI algorithms for insight generation.
User Interfaces: Display processed data through dashboards or send alerts
to users.
IoT System Development Notes. Prepared by Aime Boston NDIZEYE.

Actuators: Execute actions based on decisions made by the cloud (e.g.,


turning on a device).
The interaction between the IoT components starts from the Things with
Networked Sensors and Actuators where they sense the detailed information
as per the user requirements. The information sensed here might be with
respect to time duration set by the user.

Design Example: Perception Layer (Sensors/Actuators) ───> Gateway/Edge


Device ───> Network Layer (Internet/Wi-Fi) ───> Cloud Platform (Processing
Layer) ───> Application Layer (User Interfaces)
Example: Temperature Sensor → IoT Gateway → Cloud Service (Data Processing
& Storage) → Mobile App Dashboard.
This diagram helps visualize the flow of data and the interaction between
components within an IoT system. It is essential for designing scalable and
maintainable IoT solutions.
✓ Flowchart Diagram

A flowchart is a diagram that depicts a process, system or computer algorithm.


IoT System Development Notes. Prepared by Aime Boston NDIZEYE.

Flowcharts, sometimes spelled as flow charts, use rectangles, ovals, diamonds and
potentially numerous other shapes to define the type of step, along with connecting
arrows to define flow and sequence.

Types of data flow diagram

• Document Flowcharts: These “have the purpose of showing existing


controls over document-flow through the components of a system. … The
chart is read from left to right and documents the flow of documents through
the various business units.”
• Data Flowcharts: These show “the controls governing data flows in a system.
… Data flowcharts are used primarily to show the channels that data is
transmitted through the system rather than how controls flow.”
• System Flowcharts: These “show the flow of data to and through the major
components of a system such as data entry, programs, storage media,
processors, and communication networks.”
• Program Flowcharts: These show “the controls placed internally to a
program within a system.”
• Work flow diagram: these diagram showcases interaction between different
entities in a system or process.

Identify the steps and process

How to plan and draw a basic flowchart

❖ Define your purpose and scope. What do you hope to accomplish? Are
you studying the right things with appropriate start and end points to
accomplish that purpose? Be detailed enough in your research but simple
enough in your charting to communicate with your intended audience.
IoT System Development Notes. Prepared by Aime Boston NDIZEYE.

❖ Identify the tasks in chronological order. This might involve talking to


participants, observing a process and/or reviewing any existing
documentation. You might write out the steps in note form, or begin a
rough chart.
❖ Organize them by type and corresponding shape, such as process,
decision, data, inputs or outputs.
❖ Draw your chart, either sketching by hand or using a program such as
Lucidchart.
❖ Confirm your flowchart, walking through the steps with people who
participate in the process. Observe the process to make sure you haven’t
missed anything important to your purpose.
Select flowchart symbols

parallello
garam
Represent input or outcome

Add text and labels


IoT System Development Notes. Prepared by Aime Boston NDIZEYE.

Labels on shapes make it easier to understand a diagram quickly. For some diagrams,
such as entity relation or UML diagrams, these labels are essential.

1. Double click on a shape. Start typing to replace the label with your own text.
Alternatively, single click on a shape and start typing to add or edit the label.
2. Press Enter to save the label text.

Tip: Press Shift +Enter to add a line break in a label.

Add descriptions

To enter text and the connectors to the shape to describe the system process

Flow chart irrigation system example:

Fig: Flow chart of the working of irrigation system.

You might also like