IoT Application Development Report
IoT Application Development Report
Student declaration
I certify that the assignment submission is entirely my own work and I fully understand the consequences of plagiarism. I understand that
making a false declaration is a form of malpractice.
Student’s signature
Grading grid
P5 P6 P7 M5 M6 D2 D3
Summative Feedback: Resubmission Feedback:
Assignment title
Unit Tutor
Submission Format:
You currently work as a product developer for a new startup where you design IoT products for the
consumer, corporate, government and defence clients. As part of your role your manager has tasked you
to plan and develop a new IoT product, service or application for a potential client. You are required to
identify a target user and conduct tests with this user and include this feedback into multiple iterative
versions of your product.
Part 1 (Assignment 1):: For the first part, you must:
• Plan an IoT application for a specific target end user and the tests you intend to conduct with this
user. This plan will be in the form of a document and will include supporting evidence and material,
such as user personas and customer journey maps.
• Create multiple iterations of your application and modify each iteration with enhancements
gathered from user feedback and experimentation. This will follow the pathway outlined in your
plan.(log book,)
Part 2 (Assignment 2): For the second part, you must produce a report to prove that:
• Show evidence about Developed IoT application using any combination of hardware, software,
data, platforms and services (video or images of your IoT system with code snippet)
• Evaluate your IoT application and detail the problem your IoT application solves, the potential
impact on people, business, society and the end user and the problems it might encounter when
integrating into the wider IoT ecosystem
Learning Outcomes and Assessment Criteria
LO3 Develop an IoT application using any combination of hardware, software, data, platforms and
services.
P5 Employ an appropriate set M5 Reconcile and evaluate end LO2 & LO3
of tools to develop your plan user feedback and determine D2 Make multiple iterations of
into an IoT application. advantages and disadvantages of your IoT application and modify
your chosen IoT techniques. each iteration with
P6 Run end user experiments enhancements gathered from
and examines feedback. user feedback and
experimentation.
LO4 Evaluate your IoT application and detail the problem your IoT application solves, the potential
impact on people, business, society and the end user and the problems it might encounter when
integrating into the wider IoT ecosystem
P7 Evaluate end user M6 Undertake a critical review D3 Critique the overall success
feedback from your IoT and compare your final application of your application. Did it solve
application. with the original plan. your problem? What is the
potential impact on people,
business, society and the end
user? What problems might it
encounter when integrating into
the wider IoT ecosystem?
Table of Contents
Report ....................................................................................................................................................................... 3
P5 Employ an appropriate set of tools to develop your plan into an IoT application. ............................................. 3
1. Group Work .......................................................................................................................................................... 3
2. Introduction project (“smart light”, “air conditioner” operation) ........................................................................ 3
3. Video about two products .................................................................................................................................... 6
4. Arduino wiring diagrams ....................................................................................................................................... 6
5. IoT diagram ........................................................................................................................................................... 8
6. Flowchart .............................................................................................................................................................. 9
a. Adjust temperature of air conditioner.............................................................................................................. 9
b. Alarm the thief function (Smart Light) ............................................................................................................ 10
c. Turn on, off the light function (Smart Light) ................................................................................................... 11
7. Hardware using in demo arduino ....................................................................................................................... 12
a. PIR motion sensor ........................................................................................................................................... 12
b. Ultrasonic Distance Sensor ............................................................................................................................. 12
c. Uno R3 board .................................................................................................................................................. 13
d. Push button..................................................................................................................................................... 14
e. RTC DS1302 module + CR2032 battery ........................................................................................................... 15
f. LCD 16×2 screen + Module I2C Arduino .......................................................................................................... 16
g. DHT11 module ................................................................................................................................................ 17
h. Breadboard + jumper wire.............................................................................................................................. 18
i. 5nm LED Arduino ............................................................................................................................................. 19
8. Source code for Arduino demo project .............................................................................................................. 20
P6 Run end user experiments and examines feedback. ......................................................................................... 25
1. Figures of product ............................................................................................................................................... 25
2. Video about two products .................................................................................................................................. 26
3. Survey ................................................................................................................................................................. 27
a. Questions in Google Form .............................................................................................................................. 27
Question 1........................................................................................................................................................... 28
Question 2........................................................................................................................................................... 28
Question 3........................................................................................................................................................... 28
Question 4........................................................................................................................................................... 28
Page |1
Question 5........................................................................................................................................................... 29
Question 6........................................................................................................................................................... 29
b. Feedback ......................................................................................................................................................... 29
Feedback – Q.1 ................................................................................................................................................... 29
Feedback – Q.2 ................................................................................................................................................... 30
Feedback – Q.3 ................................................................................................................................................... 30
Feedback – Q.4 ................................................................................................................................................... 30
Feedback – Q.5 ................................................................................................................................................... 31
Feedback – Q.6 ................................................................................................................................................... 32
P7 Evaluate end user feedback from your IoT application. .................................................................................... 32
REFERENCES ............................................................................................................................................................ 34
Table of figures
Figure 1: Smart lights with anti-theft devices (demo on Arduino) ........................................................................... 4
Figure 2: The light with motion sensor can turn on automatically when have people in the area to be lit. ........... 5
Figure 3: Anti-theft function in the light. .................................................................................................................. 5
Figure 4: Automatic air conditioners. ....................................................................................................................... 6
Figure 5: Smart light in house ................................................................................................................................... 7
Figure 6: Automatic air conditioner .......................................................................................................................... 7
Figure 7: IoT project diagram .................................................................................................................................... 8
Figure 8: Automatically adjust temperature of air conditioner function ................................................................. 9
Figure 9: Automatically alarm the thief function.................................................................................................... 10
Figure 10: Automatically turn on, off the light function ......................................................................................... 11
Figure 11: Smart lights with anti-theft function (demo on Arduino)...................................................................... 25
Figure 12: The light with motion sensor can turn on automatically when have people in the area to be lit. ....... 25
Figure 13: Anti-theft function in the light. .............................................................................................................. 26
Figure 14: Automatic air conditioners. ................................................................................................................... 26
Figure 15: Info Smart Light...................................................................................................................................... 27
Figure 16: Figure of product ................................................................................................................................... 27
Page |2
Report
P5 Employ an appropriate set of tools to develop your plan into an IoT application.
1. Group Work
Team member
Trần Vĩnh Tiến
Lê Trường Thịnh
Dương Hoàng Khôi
Trần Tấn Khoa
Trương Hữu Thiện
Page |4
Figure 2: The light with motion sensor can turn on automatically when have people in the area to be lit.
Page |5
Figure 4: Automatic air conditioners.
Page |6
Figure 5: Smart light in house
Page |7
5. IoT diagram
Page |8
6. Flowchart
a. Adjust temperature of air conditioner
Page |9
b. Alarm the thief function (Smart Light)
P a g e | 10
c. Turn on, off the light function (Smart Light)
P a g e | 11
7. Hardware using in demo arduino
a. PIR motion sensor
Introduction
The PIR motion sensor is ideal to detect movement. PIR stand for “Passive
Infrared”. Basically, the PIR motion sensor measures infrared light from
objects in its field of view.
So, it can detect motion based on changes in infrared light in the
environment. It is ideal to detect if a human has moved in or out of the
sensor range. (Santos and Mohammed, 2021)
Pinout
Wiring the PIR motion sensor to an Arduino is pretty straightforward – the
sensor has only 3 pins.
+ GND – connect to ground
+ OUT – connect to an Arduino digital pin
+ 5V – connect to 5V
Motion sensors detect human movement to turn on the light and turn
Role in project
off the light when not in motion.
How it works
P a g e | 12
The ultrasonic sensor uses sonar to determine the distance to an object.
Here’s what happens:
1. The transmitter (trig pin) sends a signal: a high-frequency sound.
2. When the signal finds an object, it is reflected and…
3. … the transmitter (echo pin) receives it.
Pins
+ VCC: +5VDC
+ Trig : Trigger (INPUT)
+ Echo: Echo (OUTPUT)
+ GND: GND
Ultrasonic sensors identify people in an area, used to prevent theft.
Role in project Ultrasonic sensor is like motion sensor when someone is in motion, it
will alarm and send an alert to the user's phone.
c. Uno R3 board
Overview
Arduino Uno is a microcontroller board based on the ATmega328P
(datasheet). It has 14 digital input/output pins (of which 6 can be used as
PWM outputs), 6 analog inputs, a 16 MHz ceramic resonator
(CSTCE16M0V53-R0), a USB connection, a power jack, an ICSP header and a
reset button. It contains everything needed to support the microcontroller;
simply connect it to a computer with a USB cable or power it with an AC-to-
DC adapter or battery to get started. You can tinker with your Uno without
worrying too much about doing something wrong, worst case scenario you
can replace the chip for a few dollars and start over again. "Uno" means one
in Italian and was chosen to mark the release of Arduino Software (IDE) 1.0.
The Uno board and version 1.0 of Arduino Software (IDE) were the
P a g e | 13
reference versions of Arduino, now evolved to newer releases. The Uno
board is the first in a series of USB Arduino boards, and the reference model
for the Arduino platform; for an extensive list of current, past, or outdated
boards see the Arduino index of boards. (Arduino Official Store, 2021)
The Uno circuit contains a program to help the sensors of the product
Role in project
work.
d. Push button
Overview
Pushbuttons or switches connect two points in a circuit when you press
them. This example turns on the built-in LED on pin 13 when you press the
button.
Connect three wires to the board. The first two, red and black, connect to
the two long vertical rows on the side of the breadboard to provide access
to the 5 volt supply and ground. The third wire goes from digital pin 2 to
one leg of the pushbutton. That same leg of the button connects through a
pull-down resistor (here 10K ohm) to ground. The other leg of the button
connects to the 5 volt supply. (Arduino Official Store, 2021)
When the pushbutton is open (unpressed) there is no connection between
the two legs of the pushbutton, so the pin is connected to ground (through
the pull-down resistor) and we read a LOW. When the button is closed
(pressed), it makes a connection between its two legs, connecting the pin to
5 volts, so that we read a HIGH. (Arduino Official Store, 2021)
You can also wire this circuit the opposite way, with a pullup resistor
keeping the input HIGH, and going LOW when the button is pressed. If so,
P a g e | 14
the behavior of the sketch will be reversed, with the LED normally on and
turning off when you press the button.
If you disconnect the digital I/O pin from everything, the LED may blink
erratically. This is because the input is "floating" - that is, it will randomly
return either HIGH or LOW. That's why you need a pull-up or pull-down
resistor in the circuit. (Arduino Official Store, 2021)
Play as a demo to remotely control an anti-theft device and smart
Role in project
light through the phone app.
Pins
+ VCC: Power supply from 3.3V - 5.5V
+ GND: Connect to the negative terminal of the circuit
P a g e | 15
The device receives real-time information in the current area. User
Role in project
can set the on-off time for air conditioner or remote light.
P a g e | 16
Technical specifications
+ Operating voltage: 2.5-6V DC.
+ Monitor support: LCD1602,1604,2004 (driver HD44780).
+ Communication: I2C.
+ Default address: 0X27 (can be adjusted by short circuit of pins A0 / A1 /
A2).
+ Integrated Jump latch to provide lights for LCD or disconnect.
+ Built-in contrast-adjustable rotating resistor for LCD.
The LCD screen acts as a phone screen that will show real time in the
Role in project current area and at the same time show the temperature and
humidity in the room containing the air conditioner.
g. DHT11 module
Overview
The DHT11 temperature and humidity sensor is a very popular sensor
today because it is cheap and easy to get data through a 1 wire
communication standard. (Arduino Kit, 2021)
One wire communication standard is using 1 digital pin to transmit data.
The signal preprocessor integrated in the sensor makes it possible to read
the data accurately without going through any computation. (Arduino Kit,
2021)
Sensor specifications:
Operating voltage: 3V - 5V (DC)
Operating humidity range: 20% - 90% RH, error ± 5% RH
Operating temperature range: 0 ° C ~ 50 ° C, tolerance ± 2 ° C
Maximum transmission distance: 20m
P a g e | 17
Temperature and humidity sensors to determine the current
Role in project
temperature and humidity in the room.
P a g e | 18
i. 5nm LED Arduino
Introduction
LED strips are a very fun and effective way to give lots of glow and color to
a project.
There are two basic kinds of LED strips, analog and digital. They are
controlled differently, so it's good to know which one you need for your
project. (Push reset, 2021)
Analog LED strips
Analog strips come in mono (one color) or RGB (full color spectrum). They
are sold on reels and can be cut into small segments. The segments are
marked by metal contact pads and sometimes have a scissors icon screen
printed right on them (love those!). The strips shown here are segmented
in 5cm and 10cm lengths, each segment containing 3 LEDs. Usually strips
use 30, 32, 60 or 120 LEDs per meter, which will change price and power
consumption. (Push reset, 2021)
P a g e | 19
8. Source code for Arduino demo project
Source code (Smart Light in house)
#define TRIG_PIN 3
#define ECHO_PIN 4
#define TIME_OUT 5000
float GetDistance()
{
long duration, distanceCm;
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// convert to distance
distanceCm = duration / 29.1 / 2;
return distanceCm;
}
int PIR = 2;
int led1 = 9;
int led2 = 10;
int led3 = 11;
int led4 = 12;
int led5 = 13;
int button = 7;
int led6 = 6;
int led7 = 5;
unsigned long waitTime = 500;
boolean ledStatus = 0;
boolean lastButtonStatus = 0;
boolean buttonLongPress = 0;
unsigned long lastChangedTime;
void setup() {
pinMode(PIR, INPUT);
pinMode(button, INPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
P a g e | 20
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
digitalWrite(led6,ledStatus);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
Serial.begin(9600);
}
void loop(){
cambienchuyendong();
pressButton();
cambiensieuam();
}
void cambienchuyendong() {
int value = digitalRead(PIR);
if (value == HIGH){
ledon();
}
else {
ledoff();
}
}
void ledoff(){
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
}
void ledon(){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
}
void pressButton(){
boolean a = digitalRead(button);
P a g e | 21
if (a != lastButtonStatus){
lastButtonStatus = a;
lastChangedTime = millis();
}
if (millis() - lastChangedTime > waitTime) {
buttonLongPress = a;
lastChangedTime = millis();
}
if (buttonLongPress == true) {
ledStatus = !ledStatus;
buttonLongPress = false;
}
digitalWrite(led6,ledStatus);
if (a == HIGH)
{
digitalWrite(led6, HIGH);
}
else
{
digitalWrite(led6, LOW);
}
}
void cambiensieuam(){
long distance = GetDistance();
if (distance <= 0)
digitalWrite(led7, LOW);
else
digitalWrite(led7, HIGH);
}
LiquidCrystal_I2C lcd(0x27,20,4);
const int DHTPIN = 4;
virtuabotixRTC myRTC(5, 6, 7);
P a g e | 22
const int DHTTYPE = DHT11;DHT dht(DHTPIN, DHTTYPE);
int red = 13;
int green = 12;
int day = 24;
int month = 4;
int year = 2021;
int hour = 13;
int minute = 00;
int second = 0;
byte degree[8] = {
0B01110,
0B01010,
0B01110,
0B00000,
0B00000,
0B00000,
0B00000,
0B00000
};
void setup() {
lcd.begin (16,2);
lcd.setBacklight(HIGH);
myRTC.setDS1302Time(second, minute, hour, 00, day, month, year);
dht.begin();
pinMode(red, OUTPUT);
pinMode(green, OUTPUT);
}
void loop() {
int defaultTemp = 28;
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(t) || isnan(h)) {
}
else {
lcd.clear();
myRTC.updateTime();
lcd.setCursor(0,0);
lcd.print(myRTC.dayofmonth);
lcd.print("/");
P a g e | 23
lcd.print(myRTC.month);
lcd.print("/");
lcd.print(myRTC.year);
lcd.setCursor(0,1);
lcd.print(myRTC.hours);
lcd.print(":");
lcd.print(myRTC.minutes);
lcd.print(":");
lcd.print(myRTC.seconds);
lcd.setCursor(10,0);
lcd.print("Tem:");
lcd.print(round(t));
lcd.setCursor(10,1);
lcd.print("Hum:");
lcd.print(round(h));
}
if(t <= defaultTemp)
{
digitalWrite(green, HIGH);
digitalWrite(red, LOW);
}
if(t > defaultTemp)
{
digitalWrite(green, LOW);
digitalWrite(red, HIGH);
}
delay(1000);
}
P a g e | 24
P6 Run end user experiments and examines feedback.
1. Figures of product
Figure 12: The light with motion sensor can turn on automatically when have people in the area to be lit.
P a g e | 25
Figure 13: Anti-theft function in the light.
P a g e | 26
3. Survey
a. Questions in Google Form
P a g e | 27
Question 1
Question 2
Question 3
Question 4
P a g e | 28
Question 5
Question 6
b. Feedback
Feedback – Q.1
P a g e | 29
Feedback – Q.2
Feedback – Q.3
Feedback – Q.4
P a g e | 30
Feedback – Q.5
P a g e | 31
Feedback – Q.6
P a g e | 33
REFERENCES
• Santos, R. and Mohammed, H., 2021. Arduino with PIR Motion Sensor | Random Nerd Tutorials.
• Pendergast, R., Santos, R., Maurya, K. and Irfan, A., 2021. Complete Guide for Ultrasonic Sensor HC-
SR04 with Arduino | Random Nerd Tutorials. [online] Random Nerd Tutorials. Available at:
<https://randomnerdtutorials.com/complete-guide-for-ultrasonic-sensor-hc-sr04/> [Accessed 26
April 2021].
• Arduino Kit, 2021. Đồng hồ thời gian thực (Read Time Clock - DS1307) sử dụng Arduino - ARDUINO KIT.
• Arduino Kit, 2021. Tổng quan LCD 16x2 và giao tiếp I2C LCD sử dụng Arduino - ARDUINO KIT. [online]
2021].
• Arduino Kit, 2021. Đọc nhiệt độ, độ ẩm (DHT11) sử dụng Arduino Uno - ARDUINO KIT. [online] ARDUINO
27 April 2021].
• Hemmings, M., 2021. What is a Jumper Wire?. [online] Blog.sparkfuneducation.com. Available at:
• Blum, J., 2021. Jumper Wires. [online] Exploring Arduino. Available at:
P a g e | 34