Project Proposal
Title: Cloud Based IoT Automation
Submitted to: Submitted by:
Department of Computer 1) Keshav Prasad Mainali
Science and Technology
OBJECTIVE
The objectives of the system are-
To save over used energy.
To save time of waiting for completion of work.
To know the status of home appliance and connected Nodes.
Increasing the risk of accident.
Emergency alerting of fire and other risk of causing accidents.
This software package or android app can be readily used by non-programming personal for their
daily use. This project is used by :
i. Family member or person living alone in the room.
The person who is using this app or web based application should register their mac address of
the server(here Raspberry Pi) and can get registration.
After registration, user can be connected to the server through the internet and can control the
appliance connected to the Raspberry Pi.
Here web based portal or Android app can be used to control and regulate the home appliance.
New features can be added as per requirements.
MODIFICATION AND IMPROVEMENT OVER THE EXISTING
IMPLEMENTATION
Present State:
No Custom built android app for specific user.
No flexibility and friendly in android apps provided by other user.
No User Registration is available and have their own dash board.
Flexibility of adding sensors are not available.
After implementation of project:
Custom built app with regular updates.
Flexibility and user friendly android app.
Users can register to our domain and have their own dashboard for controlling and
regulation their electronic appliance.
If any sensors needed to be added, user can add it easily without hassle.
Quick notification about the status of appliance.
Emergency alert if room temperature increases.
SCOPE
This project has a large scope as it has the following features which help in making it easy to use,
understand and modify it:
Automated notification system.
Regular updates of home appliance status.
Android app makes it portable and user friendly to control.
Single User Dashboard makes it easier to know history and and status which helps to track
the daily hour uses of an appliance.
Main Points are: -
Single User Dashboard.
Emergency alerting System.
Daily hour uses tracker.
Controlling through Android App
Real-Time status display.
SIGNIFICANCE OF PROJECT
The significance of the project is to provide the following benefits:
Controlling and regulation of home appliance helps user to save time, energy and money.
Emergency alerting system can save life and save from possible damages.
Single User Dashboard helps to track users of an appliance so that user can reduce or
increase the user of appliance as per their needs.
Its user friendly android apps makes the task simpler and very portable user control
system.
Can save the overuse of the resources and helps to increase the lifetime of an appliance.
No worry if you forget to switch the appliance , user can remotely controls every
switches without hassle.
Hardware and Software USED
Hardware
Raspberry Pi Model B+ 2 with memory card preloaded
with an OS.
Bc547 Transistor.
5V SPDT relay or Multi channel relay.
1N4001 diode.
Solder dot prototyping board.
9V battery
(Optional) Wi-Fi dongle : Edimax EW 7811UN.
USB keyboard.
HDMI monitor.
Software
PHP: PHP is used in web server side to interact with user
and to store database of the user as well as to save text file
to send and receive commands between Web/Android app
and Server(Raspberry Pi).
HTML/CSS: Html and CSS is used for making UI(User
Interface) and simple interaction between database and UI.
Python: It is used in server side (Raspberry Pi) for receiving
inputs and commanding output to the GPIO Pin of the
Server(Raspberry Pi) and also used for connection server to
specific web server.
Linux/Rasbian: It’s the OS installed on Server(Raspberry Pi)
which gives a complete platform to trigger server and other
tools to be used in the project.
Java: Java is Object Oriented Programming language and
used for developing android app. In our project we are using
Java for creating Custom Built android app.
Android Studio: Android Studio is the software that provide
platform for developing android apps. It is the complete set
of tools which contains SDK(Software Development Kit) and
Android Emulator and also Gradle build system through
which it binds the android apps.
XML: XML is the language used to draw the UI(User
Interface) of the android app. Its also used for exchanging
data.
Working
You can consider the whole system to be composed of two parts: Server and
Client. Here, the server is the web interface consisting of buttons and UI (User
Interface) that will allow you to turn ON/OFF a device. It consists of PHP files,
Html files and a .txt file (to store data). The server usually stores information
regarding the button press on the page (ON/OFF) on a .txt file. This is a simple
Html file called [Link], consisting of two buttons. The clicking of the buttons
will trigger the execution of a PHP file called [Link]. This program serves as
an API (Application Programming Interface) to store data on to a text file called
[Link] data is a string : “ON”, if ON button is clicked and “OFF”, if
OFF button is clicked. Thus the current button press state is recorded in the text
file: [Link]
The client side consists of a Raspberry Pi with a relay circuit connected to its GPIO
pin. The pi runs a python program which is used to ‘Post’ a url link using
[Link] is, the pi constantly reads the contents of a url link. Here, the url link is
another PHP file called [Link]. This PHP file serves as an API to read
the contents of the text file [Link]. After reading the data, the python
program checks if the string obtained is “ON” / “OFF” based on which it switches
ON/OFF the relay respectively via its GPIO pin.
TIME FRAME REQUIRED FOR VARIOUS STAGES OF PROJECT
IMPLEMENTATION
Sr. PHASES TIME DURATION
No.
1. Software Requirement Specification 2 weeks
2. System Design 3 weeks
3. Coding 4 weeks
4. Implementation 5 weeks
5. Testing 1 week
REFERENCES
[Link]
[Link]