IoT Session2 FeasibilityToSystemDesign
IoT Session2 FeasibilityToSystemDesign
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.
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.
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.
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.
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.
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.
❖ 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.
parallello
garam
Represent input or outcome
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.
Add descriptions
To enter text and the connectors to the shape to describe the system process