Assignment IOT

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 15

PROGRAM TITLE:..............................................................

UNIT TITLE:.........................................................................

ASSIGNMENT NUMBER: .................................................

ASSIGNMENT NAME: .......................................................

SUBMISSION DATE: .........................................................

DATE RECEIVED: ..............................................................

TUTORIAL LECTURER: Nguyen Ngoc Tan......................

WORD COUNT: ..................................................................

STUDENT NAME: BKC13220...............................

STUDENT ID: Nguyen Huu Quang.........................

MOBILE NUMBER: 0982020083...........................


Summative Feedback:
Internal verification:
Mục Lục
I. Analyze what aspects of IoT are necessary and appropriate when designing
software applications.
1. Explore various forms of IoT funcPonality.

The Internet of Things (IoT) is a network of physical devices, vehicles, home


appliances, and other items embedded with electronics, software, sensors, actuators,
and network connectivity that allows these objects to collect and exchange data. In
simpler terms, it's a way of connecting everyday objects to the internet, allowing them
to send and receive data.

 Devices: Any device can be part of the IoT, from smartphones and wearables to
industrial machines and sensors. These devices collect data about their surroundings,
such as temperature, pressure, or location.
 Connectivity: The devices connect to the internet using various communication
protocols, such as Wi-Fi, Bluetooth, or cellular networks.
 Data: The collected data is then transmitted to a central server or cloud platform,
where it is stored, analyzed, and used to provide insights or automate tasks.
 Insights: The data can be used to gain insights into various aspects of our lives, such
as our health, energy consumption, or traffic patterns.
 Automation: The data can also be used to automate tasks, such as adjusting the
thermostat based on our presence or starting the washing machine when the energy
price is low.
Application of IOT in various fields:

 Smart home:
o Remotely control devices: Control lights, thermostats, locks, and more from
your smartphone or tablet, even when you're not home.
o Monitor your home: Get real-time alerts about leaks, fires, and other potential
security risks.
o Automate tasks: Set your lights to turn on and off automatically, adjust the
thermostat based on your presence, and more.
o Optimize energy use: Track your energy consumption and make changes to
save money.
 Smart City
o Improve traffic flow: Use sensors to monitor traffic patterns and optimize
traffic lights.
o Reduce waste: Use smart sensors to track waste collection and optimize
routes.
o Improve public safety: Use cameras and sensors to monitor crime and improve
response times.
o Enhance quality of life: Provide citizens with real-time information about
parking availability, public transportation, and more.
 Healthcare
o Remote patient monitoring: Track patients' vital signs and health data
remotely, allowing for early intervention and better care management.
o Medication adherence: Remind patients to take their medication and track
their adherence.
o Chronic disease management: Help patients manage chronic conditions such
as diabetes and heart disease.
o Improve mental health: Use wearable devices to track mood and activity
levels, and provide insights to help people manage their mental health.
 Retail
o Improve inventory management: Track inventory levels in real-time and
prevent stockouts.
o Personalized shopping experiences: Use sensors and beacons to track
customers' movements and preferences, and provide them with personalized
offers and recommendations.
o Enhanced security: Use cameras and sensors to deter theft and improve loss
prevention.
o Optimize store operations: Track energy consumption and foot traffic to
optimize store layout and operations.
 Manufacturing
o Predictive maintenance: Use sensors to monitor equipment and predict failures
before they happen, reducing downtime and costs.
o Optimize production processes: Use sensors to track production data and
optimize processes for efficiency and quality.
o Improve safety: Use sensors to monitor safety hazards and prevent accidents.
o Supply chain management: Track goods and materials in real-time to improve
efficiency and visibility.
 Agriculture
o Precision agriculture: Use sensors to monitor soil conditions, crop health, and
weather patterns to optimize irrigation, fertilization, and other agricultural
practices.
o Livestock monitoring: Track the health and location of livestock to improve
animal welfare and productivity.
o Reduce food waste: Use sensors to track the freshness of food and prevent
spoilage.
o Optimize water use: Use sensors to monitor water levels and optimize
irrigation systems.
2. Review standard architecture, frameworks, tools, hardware, and APIs available for
use in IoT development.

Some popular architectures for IoT systems, along with their strengths and weaknesses:

 3-layer architecture:
This is a simplified model often used for small-scale IoT deployments. It
includes three main classes:
o Device Layer: This layer includes the physical IoT devices, such as
sensors, actuators, and gateways. These devices collect data from the
physical world and transmit it to the network layer.

o Network Layer: This layer provides connectivity between the devices


and the application layer. It can include various communication
protocols, such as Wi-Fi, Bluetooth, and cellular networks.
o Application Layer: This layer processes the data collected from the
devices and provides insights or control functionality. It can include
cloud-based applications, analytics platforms, and user interfaces.

 5-Layer Architecture:
This is a more complex model that is often used for large-scale or enterprise-
grade IoT deployments. It builds upon the 3-layer model by adding two
additional layers:
o Management Layer: This layer provides centralized management and
control of the IoT devices and network. It can include functionalities
such as device provisioning, firmware updates, and security
management.
o Business Layer: This layer interacts with the application layer to provide
business-specific functionality. It can include data analytics, reporting,
and integration with other enterprise systems.

Popular frameworks/platforms for IoT systems:


 Amazon Web Services (AWS) IoT Core:
o Define:
 A managed service that allows you to securely connect, manage,
and scale your IoT devices.
 Offers a variety of features, including device provisioning, data
collection, device shadows, rules engine, and machine learning
capabilities.
 Well-suited for large-scale enterprise deployments.
o Strengths:
 Scalable and secure
 Wide range of features
 Pay-as-you-go pricing
o Weaknesses:
 Can be complex to set up and use
 Vendor lock-in
 Microsoft Azure IoT:
o Define:
 Another managed cloud platform for building and managing IoT
solutions.
 Offers similar features to AWS IoT Core, such as device
management, data collection, and analytics.
 Integrates well with other Microsoft Azure services.
o Strengths:
 Scalable and secure
 Integrates with other Azure services
 Good documentation and support
o Weaknesses:
 Can be complex to set up and use
 Vendor lock-in

Common Hardware for Simple IoT Systems (ESP, Arduino and beyond):

 Microcontrollers:
o ESP8266: This affordable board integrates Wi-Fi connectivity, making it
ideal for cloud-connected projects. Its Arduino IDE compatibility
enables easy programming, while its low power consumption suits
battery-powered applications. Popular choices include:
 D1 Mini: Compact and cost-effective, perfect for beginner
projects.
 NodeMCU: Offers more GPIO pins and memory for complex
tasks.
 Wemos D1: Breadboard-friendly design for prototyping.
o ESP32: This powerful microcontroller boasts built-in Wi-Fi, Bluetooth,
and Bluetooth Low Energy (BLE) connectivity, making it a versatile
choice for diverse projects. Its dual cores offer higher processing power
than ESP8266, handling complex tasks effectively. Popular options
include:
 ESP32 DevKitC: A user-friendly development board with built-
in buttons and LED for easy prototyping.
 M5Stack Core2: Integrates an LCD screen, multiple buttons, and
battery power supply for portable applications.
 Heltec WiFi Kit 32: Offers a breadboard-friendly design with
easy sensor integration.
o Arduino Uno: While it lacks built-in Wi-Fi, this classic board remains a
great choice for its simplicity and vast community support. External Wi-
Fi modules can add connectivity for cloud-based projects.
 Development Boards:
o Raspberry Pi Pico: This low-cost, energy-efficient board is small but
powerful. It supports various microcontrollers like RP2040 and has
flexible programming options.
o ESP32 DevKitC: As mentioned earlier, this board offers various
functionalities beyond ESP32 itself, suitable for diverse projects.
 Specialized Boards:
o TinyML boards: Explore embedded machine learning on boards like
Arduino Nano BLE Sense or SAMD21 M0 Nano for sensor data
analysis on-device.
o Sensor Shields: Extend Arduino functionality with pre-built sensor
modules like the Grove Sensor Shield v2.
 Additional Components:
o Sensors: Choose from temperature, humidity, pressure, light, motion,
and many other types based on your project's needs.
o Actuators: LEDs, motors, and solenoids offer visual and physical
outputs for interacting with the environment.
o Connectivity modules: Add Wi-Fi, Bluetooth, or cellular connectivity
using external modules like ESP32-CAM for video streaming.
o Power supplies: Batteries, power banks, or AC adapters provide power
depending on your portability and power consumption requirements.
3. Analyse the impact of common IoT architecture, frameworks, tools, hardware, and
APIs in the software development lifecycle.

Evaluate the Impact of IoT Architectures, Frameworks, Tools, Hardware, and APIs by
Type:

Architecture:

 3-layer IoT Architecture:


o Benefits:
Promotes modular development with clear separation of concerns
(perception, network, application).
 Enables independent development and testing of each layer.
 Facilitates scalability and maintainability.
o Drawbacks:
 Requires careful design and planning to ensure seamless
interoperability between layers.
 Might introduce additional complexity compared to simpler
architectures.
 5-layer IoT Architecture:
o Benefits:
 Provides additional layers for management and business logic, offering
finer-grained control.
 Enhances security and data governance.
 Suitable for large-scale and enterprise deployments.
o Drawbacks:
 Increases complexity and development effort.
 Might be overkill for smaller or simpler projects.

Hardware:

 Impact:
o Hardware specifications (processing power, memory, communication
protocols) dictate software development choices and limitations.
o Available libraries and drivers influence software implementation.
o Pre-built modules and development boards can accelerate development
by offering ready-made functionalities.
o Development focus: Shifts from hardware development to software that
utilizes existing hardware capabilities.

Tools:

 Impact:
o Specialized IoT development tools (simulation, debugging, testing)
streamline development and testing processes.
o Code generation tools automate repetitive tasks, saving time and effort.
o Visual programming tools can simplify development for people with
less coding experience.
o Development focus: Allows developers to concentrate on core
functionalities and problem-solving instead of low-level tasks.

Frameworks:

 Impact:
o Offer pre-built components, APIs, and tools, accelerating development
and ensuring consistency.
o Provide features like device management, data analytics, and security,
reducing development effort.
o May limit customization flexibility compared to building from scratch.
o Development focus: Enables faster creation of working prototypes and
MVPs, focusing on unique functionalities.

APIs:

 Impact:
o Define data formats, communication protocols, and security mechanisms
for device interactions.
o Shape software design and implementation based on API functionalities.
o Custom APIs require development and maintenance effort.
o Development focus: Ensures seamless and secure communication
between devices and software components.
4. Examine specific forms of IoT architecture, frameworks, tools, hardware, and APIs
for different problem-solving requirements.

Example: Smart Irrigation System using IoT

Problem: Optimize water usage in agriculture to reduce waste and ensure healthy
crops.

Solution: Implement a smart irrigation system using IoT technology.

Components:

 Hardware:
o Microcontroller (e.g., ESP32): Processes sensor data and controls
actuators.
o Soil moisture sensor: Measures moisture levels in the soil.
o Weather station: Tracks temperature, humidity, and rainfall data.
o Solenoid valve: Controls water flow to irrigation pipes.
o Connectivity module (optional): Enables remote monitoring and control
via Wi-Fi or cellular network.
 Software:
o Firmware for the microcontroller: Reads sensor data, analyzes weather
conditions, and triggers the valve based on pre-defined rules or machine
learning models.
o Cloud platform (optional): Stores sensor data, provides visualization
dashboards, and facilitates remote access and control.
o Mobile app (optional): Offers user-friendly control and monitoring of
the system.
5. Evaluate specific forms of IoT architecture and jusPfy their use when designing
software application.
II. Outline a plan for an appropriate IoT applicator, using common
architecture, frameworks, tools, hardware, and APIs.
1. Investigate architecture, frameworks, tools, hardware, and API techniques available
to develop IoT application.
2. Discuss a specific problem to solve using IoT.
3. Plan the most appropriate IoT architecture, frameworks, tools, hardware, and API
techniques to include in an application to solve a problem.
4. Apply selected techniques to create an IoT application development plan.
III. . Develop an IoT application using any combination of hardware, software,
data, platforms, and services.
1. Employ an appropriate set of tools to develop a plan into an IoT application.
2. Run end-user experiments and examine feedback.
3. Reconcile end-user feedback and determine advantages and disadvantages of
chosen IoT techniques.
4. Make multiple iterations of the IoT application and modify each iteration with
enhancements gathered from user feedback and experimentation.
IV. Evaluate your IoT application and the problems it might encounter when
integraPng into the wider IoT ecosystem.
1. Review the IoT application, detailing the problems it solves.
2. Investigate the potential problems the IoT application might encounter when
integrating into the wider system.
3. Compare the final applicaPon with the original plan.
4. Critically evaluate the overall success of the application including the potential
impact of the IoT application on people, business and society, and the end user.

You might also like