SlideShare a Scribd company logo
1 of 52
iGuard:An Intelligent Way To Secure
A Project Report
Submitted by
Nandu B Rajan(12151210)
In partial fulfilment for the award of the degree of
Bachelor of Technology
in
Computer Science and Engineering
College of Engineering, Karunagappally
Cochin University of Science and Technology
April 2018
COLLEGE OF ENGINEERING
KARUNAGAPPALLY
KOLLAM-690523, KERALA
BONAFIDE CERTIFICATE
Certified that this major project report “ iGuard:An Intelligent Way To
Secure ” is a bonafide work of the major project carried out at our department
by “ NANDU B RAJAN (12151210) ” 8th Semester in partial fulfilment of the re-
quirements for award of Degree in Computer Science and Engineering by Bachelor
of Technology of Cochin University of Science and Technology.
PROJECT CO-ORDINATORS
Prof. MANOJ RAY D Ms. REMYA R S
ASSOCIATE PROFESSOR ASSISTANT PROFESSOR
Dept. of Computer Dept. of Computer
Science and Engineering Science and Engineering
PROJECT GUIDE HEAD OF THE DEPARTMENT
Dr. BINU V P Dr. BINU V P
ASSOCIATE PROFESSOR ASSOCIATE PROFESSOR
Dept. of Computer Dept. of Computer
Science and Engineering Science and Engineering
DECLARATION
I hereby declare that the project titled “iGuard: An Intelligent Way To
Secure”, under the guidance of Prof. Manoj Ray D (Associate Professor, Dept.
of Computer Science), Ms. Remya R S (Assistant Professor, Dept. of Computer
Science), Dr. Binu V P (Associate Professor, Dept. of Computer Science), Col-
lege of Engineering Karunagapally for the partial fulfilment of B.Tech (Computer
Science and Engineering) degree course of the Cochin University of Science and
Technology is my original and true work. The findings in this report are based
on the data collected by me. Any part of this report has not been reproduced or
copied from any other report of the university.
Place:Karunagapally Nandu B Rajan
ACKNOWLEDGEMENT
Success and happiness are directly related to the achievements of the prede-
termined goals. The success of this project design work is due to the varied
contribution of several distinguished personalities. I take this wonderful opportu-
nity to thank each and every one of them. It is my privilege to extend my sincere
gratitude to all those who helped my team in the fruition of the project entitled
“ iGuard:An Intelligent Way To Secure ”.
First of all I thank God Almighty for being the guide light throughout the
project and helped us to complete it within stipulated time.
I remember with grateful thanks, the encouragement and support rendered by
our principal Dr. Jaya V L. I express our deepest sense of gratitude to the head
of the department, Dr. Binu V P for his valuable guidance.
I also express my heartfelt gratitude to my project coordinators,Prof. Manoj
Ray D (Associate Professor of Department of Computer Science, College of Engi-
neering, Karunagappally), Ms. Remya R S (Assistant Professor of Department of
Computer Science, College of Engineering, Karunagappally) and my project guide
Dr. Binu V P (Associate Professor of Department of Computer Science, College
of Engineering, Karunagappally) for timely suggestions and encouragement given
for the successful completion of the project.I would always oblige for the help-
ing hands of all other staff members of the department who directly or indirectly
contributed in this venture.
My overrunning debt also lays with family members, friends and well-wishers
who helped in bringing out this project successfully.
ABSTRACT
Recently, digital door locks have been widely used as part of the IoT (Internet of
Things). However, the media has reported digital door locks being opened by in-
valid users to invade homes and offices.The proposed system provides strengthened
security functions that can transfer recorded images to a user’s mobile device when
an invalid user attempts an illegal operation; it can also deliver alarm information
to the mobile device when the door lock is physically damaged. The proposed
system enables a user to check the access information and remotely operate the
door lock to enhance convenience.
Contents
1 INTRODUCTION 1
2 REQUIREMENTS AND ANALYSIS 3
2.1 Existing System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Limitations of Existing System . . . . . . . . . . . . . . . . . . . . 4
2.3 Study of Proposed System . . . . . . . . . . . . . . . . . . . . . . . 4
2.4 Requirement Specification . . . . . . . . . . . . . . . . . . . . . . . 8
2.5 About Java Technology . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.6 An Overview of the Software Development Process . . . . . . . . . 11
3 SYSTEM STUDY 20
3.1 Functional Requirement . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Non Functional Requirement . . . . . . . . . . . . . . . . . . . . . . 22
3.3 Database Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.5 Data Flow Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4 IMPLEMENTATION 28
4.1 Implementation Approaches . . . . . . . . . . . . . . . . . . . . . . 28
4.2 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3 Screenshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5 TESTING 35
5.1 Unit Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2 Integration Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.3 Validation Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.4 System Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.5 Regression Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.6 Black Box Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.7 White Box Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.8 Test Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.9 Testing in Our Project . . . . . . . . . . . . . . . . . . . . . . . . . 41
6 CONCLUSION AND FUTURE WORKS 42
REFERENCES 43
List of Tables
2.1 Software Requirement Specification . . . . . . . . . . . . . . . . . . 8
2.2 Hardware Requirement Specification . . . . . . . . . . . . . . . . . 9
3.1 db register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2 db lock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3 db provider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4 db log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.5 db msg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.6 db qr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.7 db match . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
List of Figures
2.1 System View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2 Dataflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3 Data Store . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4 Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.5 Source/Destination . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.6 DFD Level 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.7 DFD Level 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.1 Splash Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2 Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3 Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.4 Access Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.5 Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.6 Messaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.7 Lock Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.8 Lock Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.9 Navigation Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.10 Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.11 Member View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.12 Key Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Chapter 1
INTRODUCTION
The Internet of Things (IoT) can be defined as a global infrastructure which
combines intelligent services with situational awareness, and allows mutual com-
munication between one thing and another, and between people and intelligent
things over a network. Machine to Machine (M2M) communication is different
from IoT because a person does not directly control the equipment or intelligent
instruments; they are responsible for communicating on behalf of people.
More recently, a variety of communication technologies have been fused to re-
ceive and provide information about things. Especially, IoT technologies have
been enabled to communicate by the fusion of home appliances and mobile de-
vices.Recently, digital door locks have been widely used in households and offices.
However, in many cases, an intruder has tried to penetrate a private area by cir-
cumventing the lock. In this study, we design and implement an IoT-based digital
door lock to reduce the damage of digital door lock tampering and to enhance the
various security and monitoring functions using IoT technologies.
Objectives
The main objectives of the project are:
• Detecting an intruder who tries to invade by applying physical force to the
lock.
• The user can remotely control the door lock after reviewing the image.
1
• The controller can detect a valid user approaching the digital door lock,
if he is carrying the mobile device, and will open or close the door lock
automatically.
2
Chapter 2
REQUIREMENTS AND
ANALYSIS
2.1 Existing System
The main objective of a door is nothing but providing security. Currently digital
locking systems in practise use RFID, biometric technologies where the user need
to be near the door.
Early electronic locks used keypads with a pin number for entry. Keypads are
still popular, although newer models use touch screen panels instead of buttons
and include security features to help prevent burglars from figuring out the code.
Radio Frequency Identification (RFID) locks use a key fob or card for entry.
With RFID technology, you may not have to remove the key fob from your pocket
or purse, meaning no more fumbling in the dark or trying to find your keys when
your arms are full to enter your home.
Biometric entry uses fingerprint identification to open the lock. If you have used
this feature on your smart phone or laptop, you understand how it works. All you
do is program your fingerprint, or those you want to have access to your home,
and the system knows this is an acceptable person to unlock for.
3
2.2 Limitations of Existing System
1. The user have to be within a range.
2. Intruder detection is not available.
3. Remote access of lock is not possible.
2.3 Study of Proposed System
1. Locking Feature : Lock and Unlock the Door Lock by tapping. Also show
the status of Door Lock.
2. Open Lock Automatically : Automatically open the door when the au-
thenticated devices come near the door using bluetooth and ultrasonic sen-
sor.
3. Visitor : Capture the image and sent as alert when someone press the
calling bell. Provide a provision to unlock the door for the visitor remotely.
4. Family Tracking : Track the current location of family members.
5. Messaging : Give Broadcast messages to all members of the family.
6. Threat Alert : Alert the family members in any case of threat like someone
tries to break the door using vibration sensor. Alert with image captured.
7. History : Stores the door accessing history. History can be cleaned by
admin.
Purpose
Today, security has become increasing concern. An access control for doors
forms a vital link in a security chain. The digital lock for doors is an access
control system that allows only authorized persons to enter in a restricted area
viz. military base, research centre. Moreover it can be implemented in homes. We
often forget to carry door key. It is really difficult to get inside the house. In offices
4
Figure 2.1: System View
security personnel checks the I-card of the employees to restrict unauthorized entry
or the employees sign a register before entrance. But if there are multiple entry
points it is not feasible to arrange security personnel at each gate as wells as it
would not be cost effective.
Scope
The lock was designed to improve user convenience by allowing him to check
the image of a valid visitor and open or close the door lock remotely. Another
efficient system function is that when a valid user approaches the door, the door
lock system opens or closes the door without additional operations.
Application
Our project can be implemented in homes, offices and any institute which will
help in improving security features.
Challenges
1. Device Heterogeneity: Locking sensors are created by different compa-
nies and manufactures. Each sensor can have different characteristics and
functionalities. Having all the devices working with each other seamlessly is
big challenge.
2. Data integrity: Data communicated by , actuators and services can vary
widely in their characteristics in terms of the sensed data, sampling rate,
5
accuracy and fidelity, area coverage, and resolution and many other charac-
teristics. Dealing with such variety of data is another big challenge.
3. Information security: As the data is expected to have increased security,
analytical tools are required to combine knowledge from different and related
sources together. Developing the tools which can work with the big data is
another big challenge.
4. Scalability: As the number of devices and interconnections grows to hun-
dreds, they will have massive data sets. So, handling a large number of
sensor and information is a big challenge.
5. Security and privacy: Providing the privacy and protection for the gath-
ered data is one of the big challenges in developing smart healthcare.
Benefits
Our proposed architecture to enhance its effectiveness and improve its func-
tionalities to handle alert messages. Provide unlock to trusted users with mini-
mum effort and at the same time with a maximum security the system is at the
same time scalable so that it can also implemented in places with many unlock-
ing strategies are needed the double checks the authentication before an unlock is
performed so that bypassing the security is not at all possible the authentication
are performed at hardware levels so that any malicious attacks or vulnerability
usage is not possible too.
Feasibility Study
A feasibility analysis usually involves the assessment of the operational (need),
financial and technical aspects of a proposal. Feasibility study is the test of the
system proposal made to identify whether the use needs may be satisfied using
the current software and the hardware technologies, whether the system will be
cost effective from a business point view and whether it can be developed with the
given budgetary constraints. A feasibility study should be relatively cheap and
6
done at the earliest possible time. Depending on the study, the decision is made
whether to go ahead with a more detailed analysis.
When a new project is proposed, it normally goes through feasibility assess-
ment. Feasibility study is carried out to determine whether the proposed system
is possible to develop with available resources and what should be the cost con-
sideration.
• Technical Feasibility
The main consideration is to be given to the study of available resources
of the organization where the software is to be implemented. Here the sys-
tem analyst evaluates the technical merits of the system giving emphasis
on the performance, Reliability, maintainability and productivity. By tak-
ing the consideration before developing the proposed system, the resources
availability of the organization was studied. The organization was immense
computer facilities equipped with sophisticated machines and the software
hence this technically feasible.
A detailed study and analysis of the Network Backup tool was conducted.
The system must be evaluated from the technical point of view. The assess-
ments of this feasibility must be based on an outline design of the system
requirement in the terms of input, output, programs, procedure and staff.
Having identified an outline system, the investigation must go to suggest the
type of equipment required for developing the system designed. The project
should be devolved such that the necessary functions and performance are
achieved within the constraints.
Technical feasibility study deals with the hardware as well as software
requirements. The scope was whether the work for the project is done with
current equipments, the existing software technology and available human
resources. The outcome was found to be positive.
• Economical Feasibility
7
The developing system must be justified by cost and benefit. A criterion is
to ensure that effort taken on the project give to best return as the earliest.
One of the factors which affect the devotement of the new system is the cost
it would require. Since the system developed is part of the project work,
there is manual cost to spend for the proposed system. Also all the resources
are already available, giving an indication that the system is economically
possible for development.
• Operational Feasibility
Operational feasibility is a test of feasibility that will check whether the
system will work when it is developed and installed in place of the exist-
ing system and whether the proposed system will meet the organization
operational requirements. This feature of feasibility study is related to its
operational aspect where the working of the hardware, the software and the
human resources is to be taken in to account. So, it is checked whether the
system will work if it is developed and implemented.
2.4 Requirement Specification
Software Requirement Specification
Table 2.1: Software Requirement Specification
Operating system Raspbian
Coding Language Python, PHP
IDE Android Studio
Database My SQL
Hardware Requirement Specification
Raspberry pi
The Raspberry Pi 3 is the third-generation Raspberry Pi.
• Quad Core 1.2GHz Broadcom BCM2837 64bit CPU
8
Table 2.2: Hardware Requirement Specification
Micro controller Raspberry Pi
Camera Pi Cam
Ultrasonic Sensor HC SR04
Vibration Sensor SW18015
• 1GB RAM
• BCM43438 wireless LAN and Bluetooth Low Energy (BLE) on board
• 40-pin extended GPIO
• 4 USB 2 ports
• 4 Pole stereo output and composite video port
• Full size HDMI
• CSI camera port for connecting a Raspberry Pi camera
• DSI display port for connecting a Raspberry Pi touch screen display
• Micro SD port for loading your operating system and storing data
• Upgraded switched Micro USB power source up to 2.5A
Pi Camera
The camera works with all models of Raspberry Pi 1, 2, and 3. It can be accessed
through the MMAL and V4L APIs, and there are numerous third-party libraries
built for it, including the Picamera Python library. See the Getting Started with
Picamera resource to learn how to use it.
The Camera Module can be used to take high-definition video, as well as stills
photographs. It’s easy to use for beginners, but has plenty to offer advanced users
if you are looking to expand your knowledge. There are lots of examples online of
people using it for time-lapse, slow-motion, and other video cleverness.
9
System Development Tools
Software Development Tools for Mobile Application
• Front end : Android
• Back end : MY SQL, PHP
Software Development Tools for Micro controller
• Front end : Python
• Back end : Python
2.5 About Java Technology
Java technology is both a programming language and a platform. The Java
programming language is a high-level language that can be characterized by all
the following buzzwords:
• Simple
• Object Oriented
• Distributed
• Multithreaded
• Dynamic
• Architectural Model
• Portable
• High performance
• Robust
• Secure
10
In the Java programming language, all source code is first written in plain text
files ending with .java extension. Those source files are then complied into .class
files by the javac compiler. A class file does not contain code that is native to
your processor; instead contains byte codes the machine language of the Java
Virtual Machine (JVM). The java launcher tool then runs your application with
an instance of the Java Virtual Machine.
2.6 An Overview of the Software Development
Process
Because the JVM is available on many different operating system, the same
.class files are capable of running on Microsoft Windows, the Solaris TM operating
system (Solaris OS), Linux, or Mac OS. This includes various tasks such as finding
performance bottlenecks and recompiling (to native code) frequently used sections
of code. Through the JVM, the same application is capable of running on multiple
platforms.
The Java Platform
A platform is the hardware or software environment in which a program runs,
we’ve already mentioned some of the most popular platforms like Microsoft Win-
dows, Linux, Solaris OS, and Mac OS. Most platforms can be described as a
combination of the operating system and underlying hardware. The Java plat-
form differs from most other platform in that it’s a software only platform that
runs on top of other hardware based platforms.
The Java platform has two components:
• The Java Virtual Machine
• The Java Application Programming Interface(API)
We’ve already been introduced to the Java Virtual Machine; its the base for the
Java platform and is ported onto various hardware-based platforms.
11
The API is a large collection of ready-made software components that provide
many useful capabilities. It is grouped into libraries of related classes and interface;
these libraries are known as packages. The next section, what Java Technology
Can Do highlights some of the functionality provided by the API.
The API and Java Virtual Machine insulate the program from underlying hard-
ware. As a platform-independent environment, the Java platform can be a bit
slower than native code. However, advances in compiler and virtual machine tech-
nologies are bringing performance close to that of native code without threatening
portability. Java platform gives you the following features:
• Development Tools: The development tools provide everything we will
need for compiling, running, monitoring, debugging and documenting your
applications. As a new developer, the main tools we will be using are the
javac compiler, the java launcher and the Javadoc documentation tool.
• Application Programming Interface(API): The API provides the core
functionality of the java programming language. It offers a wide array of
useful classes ready for use in our own applications. It spans everything
from basic objects, to networking and security, to XML, generating and
database access and more. The core API is very large.
• Deployment Technologies:The JDK software provides standard mecha-
nisms such as the JavaWeb Start Software and Java Plug-In software for
deploying your application to end users.
• User Interface Toolkits:The swing and Java 2D toolkit make it possible
to create sophisticated Graphical User Interface(GUIs).
• Integration Libraries:Integration libraries such as the Java IDL API, JD-
BCTM API, Java Naming and Directory Interface TM(JNDI)API, Java
RMI and Java Remote Method Invocation over Internet Inter-ORB Pro-
tocol Technology (Java RMI-IIOP TECHNOLOGY) enable database access
and manipulation of remote objects.
12
Java technology will help us do the following:
• Get started quickly: Although the Java programming language is a power-
ful object oriented language, it’s easy to learn, especially for programmers
already familiar with C or C++.
• Write less code: Comparisons of program metrics (class counts, method
counts and so on) suggest that a program written in the java programming
language can be four times smaller than the same program written in C++.
• Write better code: The java programming language encourages good cod-
ing practice and automatic garbage collection helps us avoid memory leaks.
Its object orientation, its JavaBeans component architecture, and its wide
ranging, easily extendable API let us reuse existing, tested and introduce
fewer bugs.
• Develop program more quickly: The java programming language is simpler
than C++, and as such, our development time could be up to twice as fast
when writing in it. Our programs will also require fewer lines of code.
• Avoid platform dependencies: You can keep your program portable by avoid-
ing the use of libraries written in other languages.
• Write once, rum anywhere: Because applications written in the Java pro-
gramming language are compiled into machine-independent byte codes, they
run consistently on any Java platform.
• Distribute software more easily: With Java Web Start software. Users will
be able to launch your application with a single click of the mouse. An
automatic version check at start up ensures that users are always up to date
with the latest version of your software. If an update is available, the Java
Web Start software will automatically update their installation.
My SQL
MySQL database has become the world’s most popular Open source database
because of its consistency, fast performance, high reliability and ease of use. It
13
has also become the database of choice for a new generation of applications build
on the LAMP stack (Linux, Apache, MySQL, PHP/ Perl /Python). MySQL
runs on more than 20 platforms including Linux,Windows, OS/X, HP-UX, AIX,
Netware, giving you the kind of flexibility that puts you in control. MySQL offers
a comprehensive range of certified software, support, training and consulting.
MySQL is a multithreaded, multi-user SQL Database Management System.
MySQL’s implementation of a relational database is an abstraction on top of a
computer’s file system. The relational database abstracts allow collection of data
items to be organized as a set of formally described tables. Data can be accessed
or reassembled from these tables in many different ways, which do not require any
reorganization of the database tables themselves.
Relational database speaks SQL (Structured Query Language). SQL is a stan-
dard interactive programming language for getting information from and updating
a relational database. Although SQL itself is both an ANSI and an ISO standard,
many database products support SQL with proprietary extensions to the standard
language. MYSQL’s extensions to SQL are not proprietary, since MySQL’s code
is kept free (as in the user’s library to use the code) by the GPL. SQL queries take
the form of a command language that lets you select, insert, update, find out the
location of data and so forth.
My SQL features are:
• Very fast and much reliable for any type of application.
• Very lightweight application.
• Command line tool is very powerful and can be used to run SQL queries
against database.
• Supports indexing and binary objects.
• Allows changing the structure of table while server is running.
• It has a wide user base.
• It is very fast thread-based memory allocation system.
14
PHP
PHP is a server-side scripting language designed for web development but also
used as a general-purpose programming language. Originally created by Rasmus
Lerdorf in 1994, the PHP reference implementation is now produced by The PHP
Group. PHP originally stood for Personal Home Page, but it now stands for the
recursive backronym PHP: Hypertext Preprocessor.
PHP code may be embedded into HTML code, or it can be used in combination
with various web template systems, web content management systems and web
frameworks. PHP code is usually processed by a PHP interpreter implemented as
a module in the web server or as a Common Gateway Interface (CGI) executable.
The web server combines the results of the interpreted and executed PHP code,
which may be any type of data, including images, with the generated web page.
PHP code may also be executed with a command-line interface (CLI) and can be
used to implement standalone graphical applications.
The standard PHP interpreter, powered by the Zend Engine, is free software
released under the PHP License. PHP has been widely ported and can be deployed
on most web servers on almost every operating system and platform, free of charge.
The PHP language evolved without a written formal specification or standard
until 2014, leaving the canonical PHP interpreter as a de facto standard. Since
2014 work has gone on to create a formal PHP specification.
During the 2010s there have been increased efforts towards standardisation and
code sharing in PHP applications by projects such as PHP-FIG in the form of PSR-
initiatives as well as Composer dependency manager and the Packagist repository.
Java Media Framework
The Java Media Framework (JMF) is a Java Library that enables audio, video
and other time based media to be added to Java application and applets. An ap-
plication programming interface (API) is a source code interface that an operating
15
system library or service provide to support request made by computer programs.
NetBeans Editor: It’s a popular editor for java program.
Android SDK 2.3
Android is an operating system based on Linux with a Java programming in-
terface. The Android Software Development Kit (Android SDK) provides all nec-
essary tools to develop Android applications. This includes a compiler, debugger
and a device emulator, as well as its own virtual machine to run Android programs.
Android is primarily developed by Google. Android allows background process-
ing, provides a rich user interface library, supports 2-D and 3-D graphics using
the OpenGL libraries, access to the file system and provides an embedded SQLite
database.
Android application consists of different components and can reuse components
of other applications. This leads to the concept of a task in Android; an application
can reuse other Android components to archive a task.
Android Development Tools
Android is a widely anticipated open source operating system for mobile de-
vices that provides a base operating system, an application middleware layer, a
Java software development kit (SDK), and a collection of system applications.
Android mobile application development is based on Java language codes, as it
allows developers to write codes in the Java language as illustrated in the below
architecture figure of Android structure. Android will ship with a set of core appli-
cations including an email client, SMS program, calendar, maps, browser, contacts
and others. All applications are written using the Java programming language.
Android SDK
The Android Software Development Kit (SDK) contains the necessary tools to
create, compile and package Android application. Most of these tools are command
line based. The Android SDK also provides an Android device emulator, so that
16
Android applications can be tested without a real Android phone. You can create
Android virtual devices (AVD) via the Android SDK, which run in this emulator.
The Android SDK contains the Android debug bridge (ADB) tool which allows
to connect to an virtual or real Android device.
Raspbian
Raspbian is a free operating system based on Debian optimized for the Rasp-
berry Pi hardware. An operating system is the set of basic programs and utilities
that make your Raspberry Pi run. However, Raspbian provides more than a pure
OS: it comes with over 35,000 packages, pre-compiled software bundled in a nice
format for easy installation on your Raspberry Pi.
The initial build of over 35,000 Raspbian packages, optimized for best perfor-
mance on the Raspberry Pi, was completed in June of 2012. However, Raspbian
is still under active development with an emphasis on improving the stability and
performance of as many Debian packages as possible.
Python
Python is an interpreted high-level programming language for general-purpose
programming. Created by Guido van Rossum and first released in 1991, Python
has a design philosophy that emphasizes code readability, notably using significant
whitespace. It provides constructs that enable clear programming on both small
and large scales.
Python is a multi-paradigm programming language. Object-oriented program-
ming and structured programming are fully supported, and many of its features
support functional programming and aspect-oriented programming (including by
metaprogramming and metaobjects (magic methods)). Many other paradigms are
supported via extensions, including design by contract and logic programming.
Rather than having all of its functionality built into its core, Python was de-
signed to be highly extensible. This compact modularity has made it particularly
17
popular as a means of adding programmable interfaces to existing applications.
Van Rossum’s vision of a small core language with a large standard library and
easily extensible interpreter stemmed from his frustrations with ABC, which es-
poused the opposite approach
Most Python implementations (including CPython) include a read–eval–print
loop (REPL), permitting them to function as a command line interpreter for which
the user enters statements sequentially and receives results immediately.
As well as standard desktop integrated development environments, there are
Web browser-based IDEs; SageMath (intended for developing science and math-
related Python programs); PythonAnywhere, a browser-based IDE and hosting
environment; and Canopy IDE, a commercial Python IDE emphasizing scientific
computing
System Implementation
Implementation is the stage in the project where the theoretical design is turned
into working system and is giving confidence on the new system for the users that
it will work efficiently and effectively. It involves careful planning, investigation
of the current system and its constraints on implementation, design of methods
to achieve the change over, an evaluation of change over methods. Apart from
planning major task of preparing the implementation are education and training
of users. The more complex system is being implemented, the more involved will
be the system analysis and design effort required just for implementation.
An implementation co-ordination committee based on politics of individual or-
ganization has been appointed. The implementation process begins with preparing
a plan for the implementation of the system. According to this plan, the activities
are to be carries out, discussion made regarding the equipment and resources and
the additional equipment has to be acquired to implement the new system.
The implementation plan includes a description of all activities that must occur
to implement the system and to put it into operation. It indicates the personal
18
responsible for the activities and prepares a time chart for implementing the sys-
tem.
The implementation plan consists of the following step.
• List all files requires for implementation.
• Identify all data required to build new files during the implementation.
• List all new documents and procedures that go into the new system. The
implemented system has the following features:
• Reduce data redundancy.
• Ease of use.
• Controlled flow.
• Simplifies the management activities.
Planning and Scheduling
This phase mainly deals with how can we plan and organize different stages
for each project. There are different stages for each project. A good software
engineer must go through these phases. Otherwise, chances for failure are very
high and also it is difficult to correct. A good programmer must go through these
following phases such as a system study, data collection, design, coding, testing
and implementation.
19
Chapter 3
SYSTEM STUDY
System design is the process of defining the architecture, components, modules,
interfaces and data for a system to satisfy specified requirements. Object-Oriented
analysis and design methods are the most widely used methods for computer
systems design. It translates the system requirements into ways of making them
operational. The design phase focuses on the detailed implementations of the
system recommended in the feasibility study. Design goes through logical ad
physical stages of development.
The characteristics of well-defined system are:
• Security
• Practicality
• Efficiency
• Acceptability
• Flexibility
• Economy
• Reliability
• Simplicity
20
System design contains Logical Design and Physical Designing. Logical design-
ing describes the structure and characteristic or feature like output, input, files,
database and procedures. The physical design follows the logic design, actual soft-
ware and a working system. There will be constraints like Hardware, Software,
Cost, Time and interfaces.
3.1 Functional Requirement
Functional requirements are those that refers to the functionality of the system.
i.e, what service it will provide to the user. The user is able to take backup at any
time he wants or he can schedule the system to take the back at a time he wants
and free of it.
A use case in software engineering and system engineering in description of a
system’s behaviour as it responds to a request that originates from outside of that
system. Use cases describe the interaction between one or more actors and the
system itself, represented as a sequence o simple steps. Actors are something or
someone which exists outside the system(’black box’) under study, and take part
in a sequence of activities in a dialogue with the system to achieve some goal.
Actors may be end users, other systems, or hardware devices.
The system consists of two modules:
• Hardware Module
* Microcontroller module
* Bluetooth module
* Camera module
* Sensor module
* WiFi module
• Software Module
* Registration module
21
* Login module
* Lock module
* Tracking module
* History module
3.2 Non Functional Requirement
There are requirements that are not functional in nature. Specifically, these are
the constrain system must work within. The non-functional requirement includes
performance requirements. There are two type of performance requirements static
and dynamic. Static requirements include a number of terminals supported, num-
ber of simultaneous user to be supported, number of file system has to process
and their size etc. Dynamic requirements include execution time behaviour of
the system such as throughput, response time, expected time for completion of
operation etc. The non functional requirements include design constraints, logical
database requirements and standard compliance and so on.
3.3 Database Design
Database files are the key source of information in to the system. It is the process
of designing database files, which are the key source of information to the system.
The files should be properly designed and planned for collection, accumulation,
editing and retrieving the required information. The database contains tables,
where each table corresponds to one particular type of information. Each piece of
information in a table is called a field or column. A table also contains records,
which is a set of fields. All records in a table have the same set of fields with
different information. They are primary key fields that uniquely a record in a
table, The MySQL has been for developing the relevant databases.
22
Table 3.1: db register
lockid varchar(20)
name varchar(25)
email varchar(30)
contact bigint(10)
password varchar(20)
role varchar(8)
lat varchar(150)
lng varchar(150)
id int(11)
otp varchar(150)
verifylockid varchar(150)
meta varchar(150)
Table 3.2: db lock
lockid varchar(20)
status int(1)
Table 3.3: db provider
lockid varchar(20)
email varcdatetime(30)
added timestamp
contact bigint(12)
otp int(6)
Table 3.4: db log
lockid varchar(150)
intruder longblob
name varchar(150)
time timestamp
status varchar(150)
Table 3.5: db msg
message varchar(200)
lockid varchar(20)
time timestamp
sender varchar(25)
name varchar(20)
id datetime(10)
Table 3.6: db qr
lockid varchar(20)
status int(1)
Table 3.7: db match
keyid varchar(25)
lockid varchar(20)
3.4 Architecture
The overall structure of the proposed system is shown in Figure. The pro-
posed system consists of a digital door lock, a Raspberry Pi control board that
is mounted in the lock, and the end-user’s mobile device.The controller detects
physical impacts applied by a visitor, and notifies the user’s mobile device. The
controller detects if a password error occurs more than a certain number of times,
and uses the camera to capture an image of the visitor.
23
Figure 3.1: Architecture
It then transfers the image to the user’s mobile device. All of the access records
are stored in the controller’s database, which can be queried via the user’s mobile
device.If a visitor has lost his key, his image is captured and transferred to the
user’s mobile device by pressing a specific key; the user can then control the
door lock remotely after verifying whether the visitor is valid. Another important
function of the controller is automatically opening or closing the door when a valid
user comes near. When a valid user accesses the gate holding an object, because
it is difficult to operate the door lock, the controller communicates with the user’s
mobile device via bluetooth and opens the door lock automatically.
3.5 Data Flow Diagram
A data flow diagram is graphical tool used to describe and analyse movement
of data through a system. These are the central tool and the basis from which
the other components are developed. The transformation of data from input to
output, through process, may be described logically and independently of physi-
cal components associated with the system. These are known as the logical data
flow diagrams. The physical data flow diagrams show the actual implements and
movement of data between people, departments and workstations. A full descrip-
tion of a system actually consists of a set of data flow diagrams. The development
24
of DFD’s is done in several levels. Each process in lower level diagrams can be
broken down into a more detailed DFD in the next level. The low-level diagram is
often called context diagram. It consists of a single process bit, which plays vital
role in studying the current system. The process in the context level diagram is
exploded into other process at the first level DFD.
The idea behind the explosion of a process into more process is that understand-
ing at one level of detail is exploded into greater detail at the next level. This
is done until further explosion is necessary and an adequate amount of detail is
described for analyst to understand the process.
A DFD is also known as a “bubble Chart” has the purpose of clarifying system
requirements and identifying major transformations that will become programs in
system design. So it is the starting point of the design to the lowest level of detail.
A DFD consists of a series of bubbles joined by data flows in the system.
A basic DFD consists of four symbols:
1. An arrow identifies data flow, data in motion. It is a pipeline through which
information flows.
Figure 3.2: Dataflow
25
2. An open rectangle is a data store.
Figure 3.3: Data Store
3. A circle or bubble represents a process that transforms incoming data flows
into outgoing data flows.
Figure 3.4: Process
4. A square defines source or destination of the system data.
Figure 3.5: Source/Destination
26
Figure 3.6: DFD Level 0
Figure 3.7: DFD Level 1
27
Chapter 4
IMPLEMENTATION
4.1 Implementation Approaches
A crucial phase in the system life cycle is the successful implementation of the new
system design. Implementation is the stage of the project when the theoretical
design is turned into a working system. If the implementation stage is not properly
planned and controlled, it can cause chaos. Thus, it can be considered to be the
most crucial stage in achieving a successful system.
Normally this stage involves setting up a coordinator committee, which will
act as a sending board for ideas, complaints and problems. The first task is
implementation planning (deciding on the methods and time scales to be adopted).
The next task in preparing for implementation stage is training the staff in new
skills with which they can use the system. Evaluation and maintenance is done to
bring the new system to required standards. The implementation phase comprises
of the implementation planning, education and training, System training.
The implementation phase of the software development is concerned with trans-
lating design specification into source code. The user tests the development system
and changes are made according to their needs. Our system has been successfully
implemented. Before implementation, several test have been conducted to ensure
that no errors are encountered during operation. Implementation phase ends with
an evaluation of the system after placing it into operation for a period of time.
28
In order to achieve the objectives and expected performance, the system gas
been developed in a highly interactive and user-friendly manner. The software is
developed with a view of total security for women.
4.2 Implementation
Hardware Modules
• Hardware lock and Microcontroller : The proposed system consists of a
digital door lock, a Raspberry Pi control board that is mounted in the lock,
and the end-user’s mobile device. The controller detects physical impacts
applied by a visitor, and notifies the user’s mobile device. Important function
of the controller is automatically opening or closing the door when a valid
user comes near.
• Bluetooth Module : Bluetooth module is used for communicating with
the mobile device. When a valid user accesses the door holding an object, it
is difficult to operate the door lock. Then the controller communicates with
the mobile device via bluetooth and opens the door automatically.
• Camera Module : If a physical impact is applied on the lock, the image
will be captured and sent to the mobile device. If the visitor press the calling
bell, their image will also be captured and sent to the user’s mobile device
so that they can open the door remotely.
• Sensor Module : Vibration sensor is used to detect the physical impact
on the lock. Ultrasonic sensor is used to recognize the proximity of the user.
• Wifi Module : This module is used to establish connection with smart-
phone and help to access device remotely.
Software Modules
• Registration Module : The module will provide the facility for a user
to activate his/her account. Customer registers using a unique Lock ID.An
authentication mail i.e., an OTP is sent to provided mail id. The registration
29
process allows the user to activate his mobile app for the specific lock with
given Lock ID.
• Login Module : The module will provide the facility for a user to login to
his/her account. Customer login using username and password. Successful
login enables the user to enter the home page.
• Lock Module : The user can know the status of the lock (locked/
unlocked). The security feature of the phone will be directly used for access-
ing the lock. If intruder is identified the image will be sent to all the users
as an alert. Notification with image of visitor will also be provided when
buzzer is pressed.
• Tracking Module : The user can see the current location of all family
members registered using the specific Lock ID. A provision for broadcasting
message to the members are also included in this module.
• History Module : The accessing details of can be viewed here. History
contains the information about the user and his activity. It also comprises
of images of intruders and visitors (if any). The data will be wiped off on a
duration of one month. However a backup in drive can be implemented if
customer wishes to do so.
30
4.3 Screenshots
Figure 4.1: Splash Screen Figure 4.2: Registration
31
Figure 4.3: Login Figure 4.4: Access Verification
Figure 4.5: Tracking Figure 4.6: Messaging
32
Figure 4.7: Lock Access Figure 4.8: Lock Activity
Figure 4.9: Navigation Bar Figure 4.10: Settings
33
Figure 4.11: Member View Figure 4.12: Key Generation
34
Chapter 5
TESTING
5.1 Unit Testing
Unit testing is performed by selecting each unit of operation for testing. Taking
a sample search code for searching a file in database.Tested that it worked suc-
cessfully. After execution of the uploading code the database and server system
is checked to see the upload is there.Unit testing focuses verification effort on the
smallest unit of software design that is the module. Unit testing exercises specific
path in a module’s control structure to ensure complete coverage and maximum
error detection. This test focuses on each module individually, ensuring that it
functions properly as a unit hence, the name unit testing.
5.2 Integration Testing
Integration testing addresses the issues associated with the dual problems of
verification and program instruction.After the software has been integrated as a
set of higher order tests are conducted. The main objective in this testing process
is to take unit tested modules and build a program structure that has been dictated
by design. The following are the types of integration testing:
1. Top down integration
2. Bottom up integration
35
TOP DOWN INTEGRATION
This method is an incremental approach to the construction of program struc-
ture. Modules are integrated by moving down through the control hierarchy,
beginnings with the main program module are incorporated into the structure in
the either depth first or breadth first manner.
BOTTOM UP INTEGRATION:
This method begins the construction and testing with the modules at the lowest
level in the program structure. Since the modules are integrated form the bottom
up, processing for the modules subordinates to a given level is always available
and the need for the stubs is eliminated. The bottom-up integration strategy may
be implemented with the following steps:
1. The low level modules are combined into clusters that perform a specific
software sub-function.
2. A driver i.e. the control program for testing is written to coordinate test
case input and output.
3. The cluster is tested.
4. Drivers are removed and clusters are combined moving upwards in the pro-
gram structure. Project aspect: Using integrated test plans prepared in the
design phase of the system development, integration test was carried out.
All the errors found in the system were corrected for the next testing steps.
5.3 Validation Testing
Validation testing is performed in each form which input user’s data using text
box or radio button or selection box. The validation is performed for name, phone
no etc.The name field must be character. The mobile number should have 10
digit. The signup is done only when all validation password matching is performed.
Validation testing test if all the input data is in correct format and correct input
36
data. The user can go format only when the validation of inputs data is satisfied.
Validation test can be defined in many ways, but the simple definition is that is
reasonably expected by customer. Software validation is achieved through a series
of black box test that demonstrate conformity with requirements. Validation
succeeds when the software functions in a manner which user wishes. Project
aspect: Proposed system consideration has been tested by using validation testing
and found to be working satisfactorily.
5.4 System Testing
System testing of software or hardware is testing conducted on a complete,
integrated system to evaluate the system’s compliance with its specified require-
ments. System testing falls within the scope of black-box testing, and as such,
should require no knowledge of the inner design of the code or logic.
As a rule, system testing takes, as its input, all of the ”integrated” software
components that have passed integration testing and also the software system it-
self integrated with any applicable hardware system. The purpose of integration
testing is to detect any inconsistencies between the software units that are inte-
grated together or between any of the assemblages and the hardware. System
testing is a more limited type of testing; it seeks to detect defects both within the
”inter-assemblages” and also within the system as a whole.
5.5 Regression Testing
Regression testing is a type of software testing which verifies that software, which
was previously developed and tested, still performs correctly after it was changed
or interfaced with other software. Changes may include software enhancements,
patches, configuration changes, etc. During regression testing, new software bugs
or regressions may be uncovered. Sometimes a software change impact analysis
is performed to determine what areas could be affected by the proposed changes.
These areas may include functional and non-functional areas of the system.
37
The purpose of regression testing is to ensure that changes such as those men-
tioned above have not introduced new faults. One of the main reasons for regres-
sion testing is to determine whether a change in one part of the software affects
other parts of the software.
Common methods of regression testing include re-running previously com-
pleted tests and checking whether program behavior has changed and whether
previously fixed faults have re-emerged. Regression testing can be performed to
test a system efficiently by systematically selecting the appropriate minimum set
of tests needed to adequately cover a particular change.
5.6 Black Box Testing
Black box testing is the Software testing method which is used to test the
software without knowing the internal structure of code or program.
Most likely this testing method is what most of tester actual perform and used
the majority in the practical life.
Basically software under test is called as “Black-Box”, we are treating this as
black box without checking internal structure of software we test the software.
All testing is done as customer’s point of view and tester is only aware of what
is software is suppose to do but how these requests are processing by software is
not aware. While testing tester is knows about the input and expected output’s
of the software and they do not aware of how the software or application actually
processing the input requests and giving the outputs. Tester only passes valid
as well as invalid inputs and determines the correct expected outputs. All the
test cases to test using such method are calculated based on requirements and
specifications document.
The main purpose of the Black Box is to check whether the software is working
as per expected in requirement document and whether it is meeting the user
expectations or not.
There are different types of testing used in industry. Each testing type is
having its own advantages and disadvantages. So fewer bugs cannot be find using
the black box testing or white box testing.
38
5.7 White Box Testing
White-box testing (also known as clear box testing, glass box testing, trans-
parent box testing, and structural testing) is a method of testing software that
tests internal structures or workings of an application, as opposed to its function-
ality (i.e. black-box testing). In white-box testing an internal perspective of the
system, as well as programming skills, are used to design test cases. The tester
chooses inputs to exercise paths through the code and determine the appropriate
outputs. This is analogous to testing nodes in a circuit, e.g. in-circuit testing
(ICT). White-box testing can be applied at the unit, integration and system lev-
els of the software testing process. Although traditional testers tended to think
of white-box testing as being done at the unit level, it is used for integration
and system testing more frequently today. It can test paths within a unit, paths
between units during integration, and between subsystems during a system level
test. Though this method of test design can uncover many errors or problems,
it has the potential to miss unimplemented parts of the specification or missing
requirements.
White box testing is a method of testing the application at the level of the
source code. These test cases are derived through the use of the design techniques
mentioned above: control flow testing, data flow testing, branch testing, path
testing, statement coverage and decision coverage as well as modified condition
decision coverage. White box testing is the use of these techniques as guidelines
to create an error free environment by examining any fragile code. These White
box testing techniques are the building blocks of white box testing, whose essence
is the careful testing of the application at the source code level to prevent any
hidden errors later on. These different techniques exercise every visible path of
the source code to minimize errors and create an error free environment.
5.8 Test Plan
A test plan documents the strategy that will be used to verify and ensure that a
product or system meets its design specifications and other requirements. A test
39
plan is usually prepared by or with significant input from test engineers.
Depending on the product and the responsibility of the organization to which
the test plan applies, a test plan may include a strategy for one or more of the
following:
1. Design Verification or Compliance test - to be performed during the devel-
opment or approval stages of the product, typically on a small sample of
units.
2. Manufacturing or Production test - to be performed during preparation or
assembly of the product in an ongoing manner for purposes of performance
verification and quality control.
3. Acceptance or Commissioning test - to be performed at the time of delivery
or installation of the product.
4. Service and Repair test - to be performed as required over the service life of
the product.
5. Regression test - to be performed on an existing operational product, to
verify that existing functionality didn’t get broken when other aspects of the
environment are changed (e.g., upgrading the platform on which an existing
application runs).
A complex system may have a high level test plan to address the overall re-
quirements and supporting test plans to address the design details of subsystems
and components.
Test plan document formats can be as varied as the products and organizations
to which they apply. There are three major elements that should be described in
the test plan: Test Coverage, Test Methods, and Test Responsibilities. These are
also used in a formal test strategy.
40
5.9 Testing in Our Project
The testing of Android Mobile application is generally done inside the devel-
opment tools. Initially emulators are used for this and final testing is done with
hardware devices. However, for this application the development and testing is
extended out on the specific hardware model. It is essential to have android device
embedded in the hardware model.
The procedure of programming, testing which focuses on functionalities of an
application is known as discovery testing. In the present framework, the testing of
portable application is carried out by utilizing discovery testing for the improve-
ment work. Fundamentally discovery testing is a system to test the product in
which analyzer is not mindful about the inner structures of the module under test.
These tests are completed at each step beginning from the establishment of the
application on android.
Testing is done on each of the five modules to find they are working properly or
not. The modules are then integrated and tested to find they work efficiency as
a single unit. The methods for installation are also checked to know whether the
application can be deployed on a user environment.
41
Chapter 6
CONCLUSION AND FUTURE
WORKS
The project iGuard: An Intelligent Way To Secure is a digital door locking
system using android application. Our system identifies threat and notifies the
user thus enhances the security features. It not only helps in accessing the door but
also provides a tracking facility for members including message broadcast facility.
Over than these features it automatically opens the door when the authenticated
devices come near the door using bluetooth and ultrasonic sensor.
As door represent security, our project have a wide scope with it. Improving
security features always have its own importance.Our system incorporates security
features in an efficient manner. On the coming future the system can be enhanced
with an alert system that sends immediate alert to nearest police station if someone
tries to enter forcefully. The alert will contain the intruders image with necessary
details of the house owner and address. Also multiple door access using single
smartphone can also be implemented.
42
REFERENCES
1. Ohsung Doh, Ilkyu Ha, ” A Digital Door Lock System for the Internet
of Things with Improved Security and Usability ”, Advanced Science and
Technology Letters.
2. Y. Ko, “Study of Policies of Major Countries on Internet of Things and
Market Forecast,” International Commerce and Information Review, Vol.16,
No.5, pp. 27-47, 2014.
3. D. Seo, H. Ko and Y. Noh, “Design and Implementation of Digital Door
Lock by IoT,” KIISE Transactions on Computing Practices (KTCP), Vol.21,
No.3, pp.215-222, 2015.
4. http://onlinepresent.org/proceedings
5. https://www.scribd.com
6. https://creately.com
43

More Related Content

What's hot

Design of a bionic hand using non invasive interface
Design of a bionic hand using non invasive interfaceDesign of a bionic hand using non invasive interface
Design of a bionic hand using non invasive interfacemangal das
 
aniketpingley_dissertation_aug11
aniketpingley_dissertation_aug11aniketpingley_dissertation_aug11
aniketpingley_dissertation_aug11Aniket Pingley
 
Design and implementation of a Virtual Reality application for Computational ...
Design and implementation of a Virtual Reality application for Computational ...Design and implementation of a Virtual Reality application for Computational ...
Design and implementation of a Virtual Reality application for Computational ...Lorenzo D'Eri
 
Security concepts
Security conceptsSecurity concepts
Security conceptsDeepak Raj
 
Musvo security agents
Musvo security agentsMusvo security agents
Musvo security agentssadombajoel
 
Agentless Monitoring with AdRem Software's NetCrunch 7
Agentless Monitoring with AdRem Software's NetCrunch 7Agentless Monitoring with AdRem Software's NetCrunch 7
Agentless Monitoring with AdRem Software's NetCrunch 7Hamza Lazaar
 
Steganography final report
Steganography final reportSteganography final report
Steganography final reportABHIJEET KHIRE
 
Badripatro dissertation 09307903
Badripatro dissertation 09307903Badripatro dissertation 09307903
Badripatro dissertation 09307903patrobadri
 
Au anthea-ws-201011-ma sc-thesis
Au anthea-ws-201011-ma sc-thesisAu anthea-ws-201011-ma sc-thesis
Au anthea-ws-201011-ma sc-thesisevegod
 
NIC Project Final Report
NIC Project Final ReportNIC Project Final Report
NIC Project Final ReportKay Karanjia
 
Android Application for American Sign Language Recognition
Android Application for American Sign Language RecognitionAndroid Application for American Sign Language Recognition
Android Application for American Sign Language RecognitionVishisht Tiwari
 
Arduino bộ vi điều khiển cho tất cả chúng ta part 1
Arduino bộ vi điều khiển cho tất cả chúng ta part 1Arduino bộ vi điều khiển cho tất cả chúng ta part 1
Arduino bộ vi điều khiển cho tất cả chúng ta part 1tungdientu
 

What's hot (20)

Design of a bionic hand using non invasive interface
Design of a bionic hand using non invasive interfaceDesign of a bionic hand using non invasive interface
Design of a bionic hand using non invasive interface
 
J2me bluetooth
J2me bluetoothJ2me bluetooth
J2me bluetooth
 
Ims16 thesis-knabl-v1.1
Ims16 thesis-knabl-v1.1Ims16 thesis-knabl-v1.1
Ims16 thesis-knabl-v1.1
 
aniketpingley_dissertation_aug11
aniketpingley_dissertation_aug11aniketpingley_dissertation_aug11
aniketpingley_dissertation_aug11
 
AWS Pentesting
AWS PentestingAWS Pentesting
AWS Pentesting
 
Design and implementation of a Virtual Reality application for Computational ...
Design and implementation of a Virtual Reality application for Computational ...Design and implementation of a Virtual Reality application for Computational ...
Design and implementation of a Virtual Reality application for Computational ...
 
Security concepts
Security conceptsSecurity concepts
Security concepts
 
Musvo security agents
Musvo security agentsMusvo security agents
Musvo security agents
 
Agentless Monitoring with AdRem Software's NetCrunch 7
Agentless Monitoring with AdRem Software's NetCrunch 7Agentless Monitoring with AdRem Software's NetCrunch 7
Agentless Monitoring with AdRem Software's NetCrunch 7
 
ThesisB
ThesisBThesisB
ThesisB
 
document
documentdocument
document
 
Steganography final report
Steganography final reportSteganography final report
Steganography final report
 
Badripatro dissertation 09307903
Badripatro dissertation 09307903Badripatro dissertation 09307903
Badripatro dissertation 09307903
 
The R2 Report for Internet Compliance
The R2 Report for Internet Compliance The R2 Report for Internet Compliance
The R2 Report for Internet Compliance
 
Au anthea-ws-201011-ma sc-thesis
Au anthea-ws-201011-ma sc-thesisAu anthea-ws-201011-ma sc-thesis
Au anthea-ws-201011-ma sc-thesis
 
NIC Project Final Report
NIC Project Final ReportNIC Project Final Report
NIC Project Final Report
 
SCE-0188
SCE-0188SCE-0188
SCE-0188
 
BA1_Breitenfellner_RC4
BA1_Breitenfellner_RC4BA1_Breitenfellner_RC4
BA1_Breitenfellner_RC4
 
Android Application for American Sign Language Recognition
Android Application for American Sign Language RecognitionAndroid Application for American Sign Language Recognition
Android Application for American Sign Language Recognition
 
Arduino bộ vi điều khiển cho tất cả chúng ta part 1
Arduino bộ vi điều khiển cho tất cả chúng ta part 1Arduino bộ vi điều khiển cho tất cả chúng ta part 1
Arduino bộ vi điều khiển cho tất cả chúng ta part 1
 

Similar to iGUARD: An Intelligent Way To Secure - Report

Report on e-Notice App (An Android Application)
Report on e-Notice App (An Android Application)Report on e-Notice App (An Android Application)
Report on e-Notice App (An Android Application)Priyanka Kapoor
 
Work Measurement Application - Ghent Internship Report - Adel Belasker
Work Measurement Application - Ghent Internship Report - Adel BelaskerWork Measurement Application - Ghent Internship Report - Adel Belasker
Work Measurement Application - Ghent Internship Report - Adel BelaskerAdel Belasker
 
Uni v e r si t ei t
Uni v e r si t ei tUni v e r si t ei t
Uni v e r si t ei tAnandhu Sp
 
Im-ception - An exploration into facial PAD through the use of fine tuning de...
Im-ception - An exploration into facial PAD through the use of fine tuning de...Im-ception - An exploration into facial PAD through the use of fine tuning de...
Im-ception - An exploration into facial PAD through the use of fine tuning de...Cooper Wakefield
 
Data over dab
Data over dabData over dab
Data over dabDigris AG
 
Project final report
Project final reportProject final report
Project final reportALIN BABU
 
ImplementationOFDMFPGA
ImplementationOFDMFPGAImplementationOFDMFPGA
ImplementationOFDMFPGANikita Pinto
 
AUGUMENTED REALITY FOR SPACE.pdf
AUGUMENTED REALITY FOR SPACE.pdfAUGUMENTED REALITY FOR SPACE.pdf
AUGUMENTED REALITY FOR SPACE.pdfjeevanbasnyat1
 
Specification of the Linked Media Layer
Specification of the Linked Media LayerSpecification of the Linked Media Layer
Specification of the Linked Media LayerLinkedTV
 
Migrating to netcool precision for ip networks --best practices for migrating...
Migrating to netcool precision for ip networks --best practices for migrating...Migrating to netcool precision for ip networks --best practices for migrating...
Migrating to netcool precision for ip networks --best practices for migrating...Banking at Ho Chi Minh city
 
Chat Application [Full Documentation]
Chat Application [Full Documentation]Chat Application [Full Documentation]
Chat Application [Full Documentation]Rajon
 
project Report on LAN Security Manager
project Report on LAN Security Managerproject Report on LAN Security Manager
project Report on LAN Security ManagerShahrikh Khan
 

Similar to iGUARD: An Intelligent Way To Secure - Report (20)

Report on e-Notice App (An Android Application)
Report on e-Notice App (An Android Application)Report on e-Notice App (An Android Application)
Report on e-Notice App (An Android Application)
 
Srs
SrsSrs
Srs
 
Work Measurement Application - Ghent Internship Report - Adel Belasker
Work Measurement Application - Ghent Internship Report - Adel BelaskerWork Measurement Application - Ghent Internship Report - Adel Belasker
Work Measurement Application - Ghent Internship Report - Adel Belasker
 
Uni v e r si t ei t
Uni v e r si t ei tUni v e r si t ei t
Uni v e r si t ei t
 
Im-ception - An exploration into facial PAD through the use of fine tuning de...
Im-ception - An exploration into facial PAD through the use of fine tuning de...Im-ception - An exploration into facial PAD through the use of fine tuning de...
Im-ception - An exploration into facial PAD through the use of fine tuning de...
 
Data over dab
Data over dabData over dab
Data over dab
 
Project final report
Project final reportProject final report
Project final report
 
ImplementationOFDMFPGA
ImplementationOFDMFPGAImplementationOFDMFPGA
ImplementationOFDMFPGA
 
E.M._Poot
E.M._PootE.M._Poot
E.M._Poot
 
Milan_thesis.pdf
Milan_thesis.pdfMilan_thesis.pdf
Milan_thesis.pdf
 
report
reportreport
report
 
Report-V1.5_with_comments
Report-V1.5_with_commentsReport-V1.5_with_comments
Report-V1.5_with_comments
 
AUGUMENTED REALITY FOR SPACE.pdf
AUGUMENTED REALITY FOR SPACE.pdfAUGUMENTED REALITY FOR SPACE.pdf
AUGUMENTED REALITY FOR SPACE.pdf
 
test6
test6test6
test6
 
Specification of the Linked Media Layer
Specification of the Linked Media LayerSpecification of the Linked Media Layer
Specification of the Linked Media Layer
 
Migrating to netcool precision for ip networks --best practices for migrating...
Migrating to netcool precision for ip networks --best practices for migrating...Migrating to netcool precision for ip networks --best practices for migrating...
Migrating to netcool precision for ip networks --best practices for migrating...
 
Chat Application [Full Documentation]
Chat Application [Full Documentation]Chat Application [Full Documentation]
Chat Application [Full Documentation]
 
document
documentdocument
document
 
project Report on LAN Security Manager
project Report on LAN Security Managerproject Report on LAN Security Manager
project Report on LAN Security Manager
 
web_based_ide
web_based_ideweb_based_ide
web_based_ide
 

More from Nandu B Rajan

iGUARD: An Intelligent Way To Secure - Presentation
iGUARD: An Intelligent Way To Secure - PresentationiGUARD: An Intelligent Way To Secure - Presentation
iGUARD: An Intelligent Way To Secure - PresentationNandu B Rajan
 
Search Engine Optimization (SEO) Seminar Report
Search Engine Optimization (SEO) Seminar ReportSearch Engine Optimization (SEO) Seminar Report
Search Engine Optimization (SEO) Seminar ReportNandu B Rajan
 
LPG Booking System [ bookmylpg.com ] Report
LPG Booking System [ bookmylpg.com ] ReportLPG Booking System [ bookmylpg.com ] Report
LPG Booking System [ bookmylpg.com ] ReportNandu B Rajan
 
LPG BOOKING SYSTEM [ bookmylpg.com ]
LPG BOOKING SYSTEM [ bookmylpg.com ]LPG BOOKING SYSTEM [ bookmylpg.com ]
LPG BOOKING SYSTEM [ bookmylpg.com ]Nandu B Rajan
 
Search Engine Optimization (SEO) Seminar Report
Search Engine Optimization (SEO) Seminar ReportSearch Engine Optimization (SEO) Seminar Report
Search Engine Optimization (SEO) Seminar ReportNandu B Rajan
 
Search Engine Optimization (SEO)
Search Engine Optimization (SEO)Search Engine Optimization (SEO)
Search Engine Optimization (SEO)Nandu B Rajan
 
OPENSESAME: Unlocking Smartphone Through Handwaving Biometrics
OPENSESAME: Unlocking Smartphone Through Handwaving BiometricsOPENSESAME: Unlocking Smartphone Through Handwaving Biometrics
OPENSESAME: Unlocking Smartphone Through Handwaving BiometricsNandu B Rajan
 

More from Nandu B Rajan (7)

iGUARD: An Intelligent Way To Secure - Presentation
iGUARD: An Intelligent Way To Secure - PresentationiGUARD: An Intelligent Way To Secure - Presentation
iGUARD: An Intelligent Way To Secure - Presentation
 
Search Engine Optimization (SEO) Seminar Report
Search Engine Optimization (SEO) Seminar ReportSearch Engine Optimization (SEO) Seminar Report
Search Engine Optimization (SEO) Seminar Report
 
LPG Booking System [ bookmylpg.com ] Report
LPG Booking System [ bookmylpg.com ] ReportLPG Booking System [ bookmylpg.com ] Report
LPG Booking System [ bookmylpg.com ] Report
 
LPG BOOKING SYSTEM [ bookmylpg.com ]
LPG BOOKING SYSTEM [ bookmylpg.com ]LPG BOOKING SYSTEM [ bookmylpg.com ]
LPG BOOKING SYSTEM [ bookmylpg.com ]
 
Search Engine Optimization (SEO) Seminar Report
Search Engine Optimization (SEO) Seminar ReportSearch Engine Optimization (SEO) Seminar Report
Search Engine Optimization (SEO) Seminar Report
 
Search Engine Optimization (SEO)
Search Engine Optimization (SEO)Search Engine Optimization (SEO)
Search Engine Optimization (SEO)
 
OPENSESAME: Unlocking Smartphone Through Handwaving Biometrics
OPENSESAME: Unlocking Smartphone Through Handwaving BiometricsOPENSESAME: Unlocking Smartphone Through Handwaving Biometrics
OPENSESAME: Unlocking Smartphone Through Handwaving Biometrics
 

Recently uploaded

Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingTeacherCyreneCayanan
 

Recently uploaded (20)

Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 

iGUARD: An Intelligent Way To Secure - Report

  • 1. iGuard:An Intelligent Way To Secure A Project Report Submitted by Nandu B Rajan(12151210) In partial fulfilment for the award of the degree of Bachelor of Technology in Computer Science and Engineering College of Engineering, Karunagappally Cochin University of Science and Technology April 2018
  • 2. COLLEGE OF ENGINEERING KARUNAGAPPALLY KOLLAM-690523, KERALA BONAFIDE CERTIFICATE Certified that this major project report “ iGuard:An Intelligent Way To Secure ” is a bonafide work of the major project carried out at our department by “ NANDU B RAJAN (12151210) ” 8th Semester in partial fulfilment of the re- quirements for award of Degree in Computer Science and Engineering by Bachelor of Technology of Cochin University of Science and Technology. PROJECT CO-ORDINATORS Prof. MANOJ RAY D Ms. REMYA R S ASSOCIATE PROFESSOR ASSISTANT PROFESSOR Dept. of Computer Dept. of Computer Science and Engineering Science and Engineering PROJECT GUIDE HEAD OF THE DEPARTMENT Dr. BINU V P Dr. BINU V P ASSOCIATE PROFESSOR ASSOCIATE PROFESSOR Dept. of Computer Dept. of Computer Science and Engineering Science and Engineering
  • 3. DECLARATION I hereby declare that the project titled “iGuard: An Intelligent Way To Secure”, under the guidance of Prof. Manoj Ray D (Associate Professor, Dept. of Computer Science), Ms. Remya R S (Assistant Professor, Dept. of Computer Science), Dr. Binu V P (Associate Professor, Dept. of Computer Science), Col- lege of Engineering Karunagapally for the partial fulfilment of B.Tech (Computer Science and Engineering) degree course of the Cochin University of Science and Technology is my original and true work. The findings in this report are based on the data collected by me. Any part of this report has not been reproduced or copied from any other report of the university. Place:Karunagapally Nandu B Rajan
  • 4. ACKNOWLEDGEMENT Success and happiness are directly related to the achievements of the prede- termined goals. The success of this project design work is due to the varied contribution of several distinguished personalities. I take this wonderful opportu- nity to thank each and every one of them. It is my privilege to extend my sincere gratitude to all those who helped my team in the fruition of the project entitled “ iGuard:An Intelligent Way To Secure ”. First of all I thank God Almighty for being the guide light throughout the project and helped us to complete it within stipulated time. I remember with grateful thanks, the encouragement and support rendered by our principal Dr. Jaya V L. I express our deepest sense of gratitude to the head of the department, Dr. Binu V P for his valuable guidance. I also express my heartfelt gratitude to my project coordinators,Prof. Manoj Ray D (Associate Professor of Department of Computer Science, College of Engi- neering, Karunagappally), Ms. Remya R S (Assistant Professor of Department of Computer Science, College of Engineering, Karunagappally) and my project guide Dr. Binu V P (Associate Professor of Department of Computer Science, College of Engineering, Karunagappally) for timely suggestions and encouragement given for the successful completion of the project.I would always oblige for the help- ing hands of all other staff members of the department who directly or indirectly contributed in this venture. My overrunning debt also lays with family members, friends and well-wishers who helped in bringing out this project successfully.
  • 5. ABSTRACT Recently, digital door locks have been widely used as part of the IoT (Internet of Things). However, the media has reported digital door locks being opened by in- valid users to invade homes and offices.The proposed system provides strengthened security functions that can transfer recorded images to a user’s mobile device when an invalid user attempts an illegal operation; it can also deliver alarm information to the mobile device when the door lock is physically damaged. The proposed system enables a user to check the access information and remotely operate the door lock to enhance convenience.
  • 6. Contents 1 INTRODUCTION 1 2 REQUIREMENTS AND ANALYSIS 3 2.1 Existing System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Limitations of Existing System . . . . . . . . . . . . . . . . . . . . 4 2.3 Study of Proposed System . . . . . . . . . . . . . . . . . . . . . . . 4 2.4 Requirement Specification . . . . . . . . . . . . . . . . . . . . . . . 8 2.5 About Java Technology . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.6 An Overview of the Software Development Process . . . . . . . . . 11 3 SYSTEM STUDY 20 3.1 Functional Requirement . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2 Non Functional Requirement . . . . . . . . . . . . . . . . . . . . . . 22 3.3 Database Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.4 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.5 Data Flow Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4 IMPLEMENTATION 28 4.1 Implementation Approaches . . . . . . . . . . . . . . . . . . . . . . 28 4.2 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.3 Screenshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 5 TESTING 35 5.1 Unit Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.2 Integration Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.3 Validation Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
  • 7. 5.4 System Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.5 Regression Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.6 Black Box Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 5.7 White Box Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 5.8 Test Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 5.9 Testing in Our Project . . . . . . . . . . . . . . . . . . . . . . . . . 41 6 CONCLUSION AND FUTURE WORKS 42 REFERENCES 43
  • 8. List of Tables 2.1 Software Requirement Specification . . . . . . . . . . . . . . . . . . 8 2.2 Hardware Requirement Specification . . . . . . . . . . . . . . . . . 9 3.1 db register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.2 db lock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.3 db provider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.4 db log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.5 db msg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.6 db qr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.7 db match . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
  • 9. List of Figures 2.1 System View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.2 Dataflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.3 Data Store . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.4 Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.5 Source/Destination . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.6 DFD Level 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.7 DFD Level 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.1 Splash Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.2 Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.3 Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.4 Access Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.5 Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.6 Messaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.7 Lock Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.8 Lock Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.9 Navigation Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.10 Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.11 Member View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.12 Key Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
  • 10. Chapter 1 INTRODUCTION The Internet of Things (IoT) can be defined as a global infrastructure which combines intelligent services with situational awareness, and allows mutual com- munication between one thing and another, and between people and intelligent things over a network. Machine to Machine (M2M) communication is different from IoT because a person does not directly control the equipment or intelligent instruments; they are responsible for communicating on behalf of people. More recently, a variety of communication technologies have been fused to re- ceive and provide information about things. Especially, IoT technologies have been enabled to communicate by the fusion of home appliances and mobile de- vices.Recently, digital door locks have been widely used in households and offices. However, in many cases, an intruder has tried to penetrate a private area by cir- cumventing the lock. In this study, we design and implement an IoT-based digital door lock to reduce the damage of digital door lock tampering and to enhance the various security and monitoring functions using IoT technologies. Objectives The main objectives of the project are: • Detecting an intruder who tries to invade by applying physical force to the lock. • The user can remotely control the door lock after reviewing the image. 1
  • 11. • The controller can detect a valid user approaching the digital door lock, if he is carrying the mobile device, and will open or close the door lock automatically. 2
  • 12. Chapter 2 REQUIREMENTS AND ANALYSIS 2.1 Existing System The main objective of a door is nothing but providing security. Currently digital locking systems in practise use RFID, biometric technologies where the user need to be near the door. Early electronic locks used keypads with a pin number for entry. Keypads are still popular, although newer models use touch screen panels instead of buttons and include security features to help prevent burglars from figuring out the code. Radio Frequency Identification (RFID) locks use a key fob or card for entry. With RFID technology, you may not have to remove the key fob from your pocket or purse, meaning no more fumbling in the dark or trying to find your keys when your arms are full to enter your home. Biometric entry uses fingerprint identification to open the lock. If you have used this feature on your smart phone or laptop, you understand how it works. All you do is program your fingerprint, or those you want to have access to your home, and the system knows this is an acceptable person to unlock for. 3
  • 13. 2.2 Limitations of Existing System 1. The user have to be within a range. 2. Intruder detection is not available. 3. Remote access of lock is not possible. 2.3 Study of Proposed System 1. Locking Feature : Lock and Unlock the Door Lock by tapping. Also show the status of Door Lock. 2. Open Lock Automatically : Automatically open the door when the au- thenticated devices come near the door using bluetooth and ultrasonic sen- sor. 3. Visitor : Capture the image and sent as alert when someone press the calling bell. Provide a provision to unlock the door for the visitor remotely. 4. Family Tracking : Track the current location of family members. 5. Messaging : Give Broadcast messages to all members of the family. 6. Threat Alert : Alert the family members in any case of threat like someone tries to break the door using vibration sensor. Alert with image captured. 7. History : Stores the door accessing history. History can be cleaned by admin. Purpose Today, security has become increasing concern. An access control for doors forms a vital link in a security chain. The digital lock for doors is an access control system that allows only authorized persons to enter in a restricted area viz. military base, research centre. Moreover it can be implemented in homes. We often forget to carry door key. It is really difficult to get inside the house. In offices 4
  • 14. Figure 2.1: System View security personnel checks the I-card of the employees to restrict unauthorized entry or the employees sign a register before entrance. But if there are multiple entry points it is not feasible to arrange security personnel at each gate as wells as it would not be cost effective. Scope The lock was designed to improve user convenience by allowing him to check the image of a valid visitor and open or close the door lock remotely. Another efficient system function is that when a valid user approaches the door, the door lock system opens or closes the door without additional operations. Application Our project can be implemented in homes, offices and any institute which will help in improving security features. Challenges 1. Device Heterogeneity: Locking sensors are created by different compa- nies and manufactures. Each sensor can have different characteristics and functionalities. Having all the devices working with each other seamlessly is big challenge. 2. Data integrity: Data communicated by , actuators and services can vary widely in their characteristics in terms of the sensed data, sampling rate, 5
  • 15. accuracy and fidelity, area coverage, and resolution and many other charac- teristics. Dealing with such variety of data is another big challenge. 3. Information security: As the data is expected to have increased security, analytical tools are required to combine knowledge from different and related sources together. Developing the tools which can work with the big data is another big challenge. 4. Scalability: As the number of devices and interconnections grows to hun- dreds, they will have massive data sets. So, handling a large number of sensor and information is a big challenge. 5. Security and privacy: Providing the privacy and protection for the gath- ered data is one of the big challenges in developing smart healthcare. Benefits Our proposed architecture to enhance its effectiveness and improve its func- tionalities to handle alert messages. Provide unlock to trusted users with mini- mum effort and at the same time with a maximum security the system is at the same time scalable so that it can also implemented in places with many unlock- ing strategies are needed the double checks the authentication before an unlock is performed so that bypassing the security is not at all possible the authentication are performed at hardware levels so that any malicious attacks or vulnerability usage is not possible too. Feasibility Study A feasibility analysis usually involves the assessment of the operational (need), financial and technical aspects of a proposal. Feasibility study is the test of the system proposal made to identify whether the use needs may be satisfied using the current software and the hardware technologies, whether the system will be cost effective from a business point view and whether it can be developed with the given budgetary constraints. A feasibility study should be relatively cheap and 6
  • 16. done at the earliest possible time. Depending on the study, the decision is made whether to go ahead with a more detailed analysis. When a new project is proposed, it normally goes through feasibility assess- ment. Feasibility study is carried out to determine whether the proposed system is possible to develop with available resources and what should be the cost con- sideration. • Technical Feasibility The main consideration is to be given to the study of available resources of the organization where the software is to be implemented. Here the sys- tem analyst evaluates the technical merits of the system giving emphasis on the performance, Reliability, maintainability and productivity. By tak- ing the consideration before developing the proposed system, the resources availability of the organization was studied. The organization was immense computer facilities equipped with sophisticated machines and the software hence this technically feasible. A detailed study and analysis of the Network Backup tool was conducted. The system must be evaluated from the technical point of view. The assess- ments of this feasibility must be based on an outline design of the system requirement in the terms of input, output, programs, procedure and staff. Having identified an outline system, the investigation must go to suggest the type of equipment required for developing the system designed. The project should be devolved such that the necessary functions and performance are achieved within the constraints. Technical feasibility study deals with the hardware as well as software requirements. The scope was whether the work for the project is done with current equipments, the existing software technology and available human resources. The outcome was found to be positive. • Economical Feasibility 7
  • 17. The developing system must be justified by cost and benefit. A criterion is to ensure that effort taken on the project give to best return as the earliest. One of the factors which affect the devotement of the new system is the cost it would require. Since the system developed is part of the project work, there is manual cost to spend for the proposed system. Also all the resources are already available, giving an indication that the system is economically possible for development. • Operational Feasibility Operational feasibility is a test of feasibility that will check whether the system will work when it is developed and installed in place of the exist- ing system and whether the proposed system will meet the organization operational requirements. This feature of feasibility study is related to its operational aspect where the working of the hardware, the software and the human resources is to be taken in to account. So, it is checked whether the system will work if it is developed and implemented. 2.4 Requirement Specification Software Requirement Specification Table 2.1: Software Requirement Specification Operating system Raspbian Coding Language Python, PHP IDE Android Studio Database My SQL Hardware Requirement Specification Raspberry pi The Raspberry Pi 3 is the third-generation Raspberry Pi. • Quad Core 1.2GHz Broadcom BCM2837 64bit CPU 8
  • 18. Table 2.2: Hardware Requirement Specification Micro controller Raspberry Pi Camera Pi Cam Ultrasonic Sensor HC SR04 Vibration Sensor SW18015 • 1GB RAM • BCM43438 wireless LAN and Bluetooth Low Energy (BLE) on board • 40-pin extended GPIO • 4 USB 2 ports • 4 Pole stereo output and composite video port • Full size HDMI • CSI camera port for connecting a Raspberry Pi camera • DSI display port for connecting a Raspberry Pi touch screen display • Micro SD port for loading your operating system and storing data • Upgraded switched Micro USB power source up to 2.5A Pi Camera The camera works with all models of Raspberry Pi 1, 2, and 3. It can be accessed through the MMAL and V4L APIs, and there are numerous third-party libraries built for it, including the Picamera Python library. See the Getting Started with Picamera resource to learn how to use it. The Camera Module can be used to take high-definition video, as well as stills photographs. It’s easy to use for beginners, but has plenty to offer advanced users if you are looking to expand your knowledge. There are lots of examples online of people using it for time-lapse, slow-motion, and other video cleverness. 9
  • 19. System Development Tools Software Development Tools for Mobile Application • Front end : Android • Back end : MY SQL, PHP Software Development Tools for Micro controller • Front end : Python • Back end : Python 2.5 About Java Technology Java technology is both a programming language and a platform. The Java programming language is a high-level language that can be characterized by all the following buzzwords: • Simple • Object Oriented • Distributed • Multithreaded • Dynamic • Architectural Model • Portable • High performance • Robust • Secure 10
  • 20. In the Java programming language, all source code is first written in plain text files ending with .java extension. Those source files are then complied into .class files by the javac compiler. A class file does not contain code that is native to your processor; instead contains byte codes the machine language of the Java Virtual Machine (JVM). The java launcher tool then runs your application with an instance of the Java Virtual Machine. 2.6 An Overview of the Software Development Process Because the JVM is available on many different operating system, the same .class files are capable of running on Microsoft Windows, the Solaris TM operating system (Solaris OS), Linux, or Mac OS. This includes various tasks such as finding performance bottlenecks and recompiling (to native code) frequently used sections of code. Through the JVM, the same application is capable of running on multiple platforms. The Java Platform A platform is the hardware or software environment in which a program runs, we’ve already mentioned some of the most popular platforms like Microsoft Win- dows, Linux, Solaris OS, and Mac OS. Most platforms can be described as a combination of the operating system and underlying hardware. The Java plat- form differs from most other platform in that it’s a software only platform that runs on top of other hardware based platforms. The Java platform has two components: • The Java Virtual Machine • The Java Application Programming Interface(API) We’ve already been introduced to the Java Virtual Machine; its the base for the Java platform and is ported onto various hardware-based platforms. 11
  • 21. The API is a large collection of ready-made software components that provide many useful capabilities. It is grouped into libraries of related classes and interface; these libraries are known as packages. The next section, what Java Technology Can Do highlights some of the functionality provided by the API. The API and Java Virtual Machine insulate the program from underlying hard- ware. As a platform-independent environment, the Java platform can be a bit slower than native code. However, advances in compiler and virtual machine tech- nologies are bringing performance close to that of native code without threatening portability. Java platform gives you the following features: • Development Tools: The development tools provide everything we will need for compiling, running, monitoring, debugging and documenting your applications. As a new developer, the main tools we will be using are the javac compiler, the java launcher and the Javadoc documentation tool. • Application Programming Interface(API): The API provides the core functionality of the java programming language. It offers a wide array of useful classes ready for use in our own applications. It spans everything from basic objects, to networking and security, to XML, generating and database access and more. The core API is very large. • Deployment Technologies:The JDK software provides standard mecha- nisms such as the JavaWeb Start Software and Java Plug-In software for deploying your application to end users. • User Interface Toolkits:The swing and Java 2D toolkit make it possible to create sophisticated Graphical User Interface(GUIs). • Integration Libraries:Integration libraries such as the Java IDL API, JD- BCTM API, Java Naming and Directory Interface TM(JNDI)API, Java RMI and Java Remote Method Invocation over Internet Inter-ORB Pro- tocol Technology (Java RMI-IIOP TECHNOLOGY) enable database access and manipulation of remote objects. 12
  • 22. Java technology will help us do the following: • Get started quickly: Although the Java programming language is a power- ful object oriented language, it’s easy to learn, especially for programmers already familiar with C or C++. • Write less code: Comparisons of program metrics (class counts, method counts and so on) suggest that a program written in the java programming language can be four times smaller than the same program written in C++. • Write better code: The java programming language encourages good cod- ing practice and automatic garbage collection helps us avoid memory leaks. Its object orientation, its JavaBeans component architecture, and its wide ranging, easily extendable API let us reuse existing, tested and introduce fewer bugs. • Develop program more quickly: The java programming language is simpler than C++, and as such, our development time could be up to twice as fast when writing in it. Our programs will also require fewer lines of code. • Avoid platform dependencies: You can keep your program portable by avoid- ing the use of libraries written in other languages. • Write once, rum anywhere: Because applications written in the Java pro- gramming language are compiled into machine-independent byte codes, they run consistently on any Java platform. • Distribute software more easily: With Java Web Start software. Users will be able to launch your application with a single click of the mouse. An automatic version check at start up ensures that users are always up to date with the latest version of your software. If an update is available, the Java Web Start software will automatically update their installation. My SQL MySQL database has become the world’s most popular Open source database because of its consistency, fast performance, high reliability and ease of use. It 13
  • 23. has also become the database of choice for a new generation of applications build on the LAMP stack (Linux, Apache, MySQL, PHP/ Perl /Python). MySQL runs on more than 20 platforms including Linux,Windows, OS/X, HP-UX, AIX, Netware, giving you the kind of flexibility that puts you in control. MySQL offers a comprehensive range of certified software, support, training and consulting. MySQL is a multithreaded, multi-user SQL Database Management System. MySQL’s implementation of a relational database is an abstraction on top of a computer’s file system. The relational database abstracts allow collection of data items to be organized as a set of formally described tables. Data can be accessed or reassembled from these tables in many different ways, which do not require any reorganization of the database tables themselves. Relational database speaks SQL (Structured Query Language). SQL is a stan- dard interactive programming language for getting information from and updating a relational database. Although SQL itself is both an ANSI and an ISO standard, many database products support SQL with proprietary extensions to the standard language. MYSQL’s extensions to SQL are not proprietary, since MySQL’s code is kept free (as in the user’s library to use the code) by the GPL. SQL queries take the form of a command language that lets you select, insert, update, find out the location of data and so forth. My SQL features are: • Very fast and much reliable for any type of application. • Very lightweight application. • Command line tool is very powerful and can be used to run SQL queries against database. • Supports indexing and binary objects. • Allows changing the structure of table while server is running. • It has a wide user base. • It is very fast thread-based memory allocation system. 14
  • 24. PHP PHP is a server-side scripting language designed for web development but also used as a general-purpose programming language. Originally created by Rasmus Lerdorf in 1994, the PHP reference implementation is now produced by The PHP Group. PHP originally stood for Personal Home Page, but it now stands for the recursive backronym PHP: Hypertext Preprocessor. PHP code may be embedded into HTML code, or it can be used in combination with various web template systems, web content management systems and web frameworks. PHP code is usually processed by a PHP interpreter implemented as a module in the web server or as a Common Gateway Interface (CGI) executable. The web server combines the results of the interpreted and executed PHP code, which may be any type of data, including images, with the generated web page. PHP code may also be executed with a command-line interface (CLI) and can be used to implement standalone graphical applications. The standard PHP interpreter, powered by the Zend Engine, is free software released under the PHP License. PHP has been widely ported and can be deployed on most web servers on almost every operating system and platform, free of charge. The PHP language evolved without a written formal specification or standard until 2014, leaving the canonical PHP interpreter as a de facto standard. Since 2014 work has gone on to create a formal PHP specification. During the 2010s there have been increased efforts towards standardisation and code sharing in PHP applications by projects such as PHP-FIG in the form of PSR- initiatives as well as Composer dependency manager and the Packagist repository. Java Media Framework The Java Media Framework (JMF) is a Java Library that enables audio, video and other time based media to be added to Java application and applets. An ap- plication programming interface (API) is a source code interface that an operating 15
  • 25. system library or service provide to support request made by computer programs. NetBeans Editor: It’s a popular editor for java program. Android SDK 2.3 Android is an operating system based on Linux with a Java programming in- terface. The Android Software Development Kit (Android SDK) provides all nec- essary tools to develop Android applications. This includes a compiler, debugger and a device emulator, as well as its own virtual machine to run Android programs. Android is primarily developed by Google. Android allows background process- ing, provides a rich user interface library, supports 2-D and 3-D graphics using the OpenGL libraries, access to the file system and provides an embedded SQLite database. Android application consists of different components and can reuse components of other applications. This leads to the concept of a task in Android; an application can reuse other Android components to archive a task. Android Development Tools Android is a widely anticipated open source operating system for mobile de- vices that provides a base operating system, an application middleware layer, a Java software development kit (SDK), and a collection of system applications. Android mobile application development is based on Java language codes, as it allows developers to write codes in the Java language as illustrated in the below architecture figure of Android structure. Android will ship with a set of core appli- cations including an email client, SMS program, calendar, maps, browser, contacts and others. All applications are written using the Java programming language. Android SDK The Android Software Development Kit (SDK) contains the necessary tools to create, compile and package Android application. Most of these tools are command line based. The Android SDK also provides an Android device emulator, so that 16
  • 26. Android applications can be tested without a real Android phone. You can create Android virtual devices (AVD) via the Android SDK, which run in this emulator. The Android SDK contains the Android debug bridge (ADB) tool which allows to connect to an virtual or real Android device. Raspbian Raspbian is a free operating system based on Debian optimized for the Rasp- berry Pi hardware. An operating system is the set of basic programs and utilities that make your Raspberry Pi run. However, Raspbian provides more than a pure OS: it comes with over 35,000 packages, pre-compiled software bundled in a nice format for easy installation on your Raspberry Pi. The initial build of over 35,000 Raspbian packages, optimized for best perfor- mance on the Raspberry Pi, was completed in June of 2012. However, Raspbian is still under active development with an emphasis on improving the stability and performance of as many Debian packages as possible. Python Python is an interpreted high-level programming language for general-purpose programming. Created by Guido van Rossum and first released in 1991, Python has a design philosophy that emphasizes code readability, notably using significant whitespace. It provides constructs that enable clear programming on both small and large scales. Python is a multi-paradigm programming language. Object-oriented program- ming and structured programming are fully supported, and many of its features support functional programming and aspect-oriented programming (including by metaprogramming and metaobjects (magic methods)). Many other paradigms are supported via extensions, including design by contract and logic programming. Rather than having all of its functionality built into its core, Python was de- signed to be highly extensible. This compact modularity has made it particularly 17
  • 27. popular as a means of adding programmable interfaces to existing applications. Van Rossum’s vision of a small core language with a large standard library and easily extensible interpreter stemmed from his frustrations with ABC, which es- poused the opposite approach Most Python implementations (including CPython) include a read–eval–print loop (REPL), permitting them to function as a command line interpreter for which the user enters statements sequentially and receives results immediately. As well as standard desktop integrated development environments, there are Web browser-based IDEs; SageMath (intended for developing science and math- related Python programs); PythonAnywhere, a browser-based IDE and hosting environment; and Canopy IDE, a commercial Python IDE emphasizing scientific computing System Implementation Implementation is the stage in the project where the theoretical design is turned into working system and is giving confidence on the new system for the users that it will work efficiently and effectively. It involves careful planning, investigation of the current system and its constraints on implementation, design of methods to achieve the change over, an evaluation of change over methods. Apart from planning major task of preparing the implementation are education and training of users. The more complex system is being implemented, the more involved will be the system analysis and design effort required just for implementation. An implementation co-ordination committee based on politics of individual or- ganization has been appointed. The implementation process begins with preparing a plan for the implementation of the system. According to this plan, the activities are to be carries out, discussion made regarding the equipment and resources and the additional equipment has to be acquired to implement the new system. The implementation plan includes a description of all activities that must occur to implement the system and to put it into operation. It indicates the personal 18
  • 28. responsible for the activities and prepares a time chart for implementing the sys- tem. The implementation plan consists of the following step. • List all files requires for implementation. • Identify all data required to build new files during the implementation. • List all new documents and procedures that go into the new system. The implemented system has the following features: • Reduce data redundancy. • Ease of use. • Controlled flow. • Simplifies the management activities. Planning and Scheduling This phase mainly deals with how can we plan and organize different stages for each project. There are different stages for each project. A good software engineer must go through these phases. Otherwise, chances for failure are very high and also it is difficult to correct. A good programmer must go through these following phases such as a system study, data collection, design, coding, testing and implementation. 19
  • 29. Chapter 3 SYSTEM STUDY System design is the process of defining the architecture, components, modules, interfaces and data for a system to satisfy specified requirements. Object-Oriented analysis and design methods are the most widely used methods for computer systems design. It translates the system requirements into ways of making them operational. The design phase focuses on the detailed implementations of the system recommended in the feasibility study. Design goes through logical ad physical stages of development. The characteristics of well-defined system are: • Security • Practicality • Efficiency • Acceptability • Flexibility • Economy • Reliability • Simplicity 20
  • 30. System design contains Logical Design and Physical Designing. Logical design- ing describes the structure and characteristic or feature like output, input, files, database and procedures. The physical design follows the logic design, actual soft- ware and a working system. There will be constraints like Hardware, Software, Cost, Time and interfaces. 3.1 Functional Requirement Functional requirements are those that refers to the functionality of the system. i.e, what service it will provide to the user. The user is able to take backup at any time he wants or he can schedule the system to take the back at a time he wants and free of it. A use case in software engineering and system engineering in description of a system’s behaviour as it responds to a request that originates from outside of that system. Use cases describe the interaction between one or more actors and the system itself, represented as a sequence o simple steps. Actors are something or someone which exists outside the system(’black box’) under study, and take part in a sequence of activities in a dialogue with the system to achieve some goal. Actors may be end users, other systems, or hardware devices. The system consists of two modules: • Hardware Module * Microcontroller module * Bluetooth module * Camera module * Sensor module * WiFi module • Software Module * Registration module 21
  • 31. * Login module * Lock module * Tracking module * History module 3.2 Non Functional Requirement There are requirements that are not functional in nature. Specifically, these are the constrain system must work within. The non-functional requirement includes performance requirements. There are two type of performance requirements static and dynamic. Static requirements include a number of terminals supported, num- ber of simultaneous user to be supported, number of file system has to process and their size etc. Dynamic requirements include execution time behaviour of the system such as throughput, response time, expected time for completion of operation etc. The non functional requirements include design constraints, logical database requirements and standard compliance and so on. 3.3 Database Design Database files are the key source of information in to the system. It is the process of designing database files, which are the key source of information to the system. The files should be properly designed and planned for collection, accumulation, editing and retrieving the required information. The database contains tables, where each table corresponds to one particular type of information. Each piece of information in a table is called a field or column. A table also contains records, which is a set of fields. All records in a table have the same set of fields with different information. They are primary key fields that uniquely a record in a table, The MySQL has been for developing the relevant databases. 22
  • 32. Table 3.1: db register lockid varchar(20) name varchar(25) email varchar(30) contact bigint(10) password varchar(20) role varchar(8) lat varchar(150) lng varchar(150) id int(11) otp varchar(150) verifylockid varchar(150) meta varchar(150) Table 3.2: db lock lockid varchar(20) status int(1) Table 3.3: db provider lockid varchar(20) email varcdatetime(30) added timestamp contact bigint(12) otp int(6) Table 3.4: db log lockid varchar(150) intruder longblob name varchar(150) time timestamp status varchar(150) Table 3.5: db msg message varchar(200) lockid varchar(20) time timestamp sender varchar(25) name varchar(20) id datetime(10) Table 3.6: db qr lockid varchar(20) status int(1) Table 3.7: db match keyid varchar(25) lockid varchar(20) 3.4 Architecture The overall structure of the proposed system is shown in Figure. The pro- posed system consists of a digital door lock, a Raspberry Pi control board that is mounted in the lock, and the end-user’s mobile device.The controller detects physical impacts applied by a visitor, and notifies the user’s mobile device. The controller detects if a password error occurs more than a certain number of times, and uses the camera to capture an image of the visitor. 23
  • 33. Figure 3.1: Architecture It then transfers the image to the user’s mobile device. All of the access records are stored in the controller’s database, which can be queried via the user’s mobile device.If a visitor has lost his key, his image is captured and transferred to the user’s mobile device by pressing a specific key; the user can then control the door lock remotely after verifying whether the visitor is valid. Another important function of the controller is automatically opening or closing the door when a valid user comes near. When a valid user accesses the gate holding an object, because it is difficult to operate the door lock, the controller communicates with the user’s mobile device via bluetooth and opens the door lock automatically. 3.5 Data Flow Diagram A data flow diagram is graphical tool used to describe and analyse movement of data through a system. These are the central tool and the basis from which the other components are developed. The transformation of data from input to output, through process, may be described logically and independently of physi- cal components associated with the system. These are known as the logical data flow diagrams. The physical data flow diagrams show the actual implements and movement of data between people, departments and workstations. A full descrip- tion of a system actually consists of a set of data flow diagrams. The development 24
  • 34. of DFD’s is done in several levels. Each process in lower level diagrams can be broken down into a more detailed DFD in the next level. The low-level diagram is often called context diagram. It consists of a single process bit, which plays vital role in studying the current system. The process in the context level diagram is exploded into other process at the first level DFD. The idea behind the explosion of a process into more process is that understand- ing at one level of detail is exploded into greater detail at the next level. This is done until further explosion is necessary and an adequate amount of detail is described for analyst to understand the process. A DFD is also known as a “bubble Chart” has the purpose of clarifying system requirements and identifying major transformations that will become programs in system design. So it is the starting point of the design to the lowest level of detail. A DFD consists of a series of bubbles joined by data flows in the system. A basic DFD consists of four symbols: 1. An arrow identifies data flow, data in motion. It is a pipeline through which information flows. Figure 3.2: Dataflow 25
  • 35. 2. An open rectangle is a data store. Figure 3.3: Data Store 3. A circle or bubble represents a process that transforms incoming data flows into outgoing data flows. Figure 3.4: Process 4. A square defines source or destination of the system data. Figure 3.5: Source/Destination 26
  • 36. Figure 3.6: DFD Level 0 Figure 3.7: DFD Level 1 27
  • 37. Chapter 4 IMPLEMENTATION 4.1 Implementation Approaches A crucial phase in the system life cycle is the successful implementation of the new system design. Implementation is the stage of the project when the theoretical design is turned into a working system. If the implementation stage is not properly planned and controlled, it can cause chaos. Thus, it can be considered to be the most crucial stage in achieving a successful system. Normally this stage involves setting up a coordinator committee, which will act as a sending board for ideas, complaints and problems. The first task is implementation planning (deciding on the methods and time scales to be adopted). The next task in preparing for implementation stage is training the staff in new skills with which they can use the system. Evaluation and maintenance is done to bring the new system to required standards. The implementation phase comprises of the implementation planning, education and training, System training. The implementation phase of the software development is concerned with trans- lating design specification into source code. The user tests the development system and changes are made according to their needs. Our system has been successfully implemented. Before implementation, several test have been conducted to ensure that no errors are encountered during operation. Implementation phase ends with an evaluation of the system after placing it into operation for a period of time. 28
  • 38. In order to achieve the objectives and expected performance, the system gas been developed in a highly interactive and user-friendly manner. The software is developed with a view of total security for women. 4.2 Implementation Hardware Modules • Hardware lock and Microcontroller : The proposed system consists of a digital door lock, a Raspberry Pi control board that is mounted in the lock, and the end-user’s mobile device. The controller detects physical impacts applied by a visitor, and notifies the user’s mobile device. Important function of the controller is automatically opening or closing the door when a valid user comes near. • Bluetooth Module : Bluetooth module is used for communicating with the mobile device. When a valid user accesses the door holding an object, it is difficult to operate the door lock. Then the controller communicates with the mobile device via bluetooth and opens the door automatically. • Camera Module : If a physical impact is applied on the lock, the image will be captured and sent to the mobile device. If the visitor press the calling bell, their image will also be captured and sent to the user’s mobile device so that they can open the door remotely. • Sensor Module : Vibration sensor is used to detect the physical impact on the lock. Ultrasonic sensor is used to recognize the proximity of the user. • Wifi Module : This module is used to establish connection with smart- phone and help to access device remotely. Software Modules • Registration Module : The module will provide the facility for a user to activate his/her account. Customer registers using a unique Lock ID.An authentication mail i.e., an OTP is sent to provided mail id. The registration 29
  • 39. process allows the user to activate his mobile app for the specific lock with given Lock ID. • Login Module : The module will provide the facility for a user to login to his/her account. Customer login using username and password. Successful login enables the user to enter the home page. • Lock Module : The user can know the status of the lock (locked/ unlocked). The security feature of the phone will be directly used for access- ing the lock. If intruder is identified the image will be sent to all the users as an alert. Notification with image of visitor will also be provided when buzzer is pressed. • Tracking Module : The user can see the current location of all family members registered using the specific Lock ID. A provision for broadcasting message to the members are also included in this module. • History Module : The accessing details of can be viewed here. History contains the information about the user and his activity. It also comprises of images of intruders and visitors (if any). The data will be wiped off on a duration of one month. However a backup in drive can be implemented if customer wishes to do so. 30
  • 40. 4.3 Screenshots Figure 4.1: Splash Screen Figure 4.2: Registration 31
  • 41. Figure 4.3: Login Figure 4.4: Access Verification Figure 4.5: Tracking Figure 4.6: Messaging 32
  • 42. Figure 4.7: Lock Access Figure 4.8: Lock Activity Figure 4.9: Navigation Bar Figure 4.10: Settings 33
  • 43. Figure 4.11: Member View Figure 4.12: Key Generation 34
  • 44. Chapter 5 TESTING 5.1 Unit Testing Unit testing is performed by selecting each unit of operation for testing. Taking a sample search code for searching a file in database.Tested that it worked suc- cessfully. After execution of the uploading code the database and server system is checked to see the upload is there.Unit testing focuses verification effort on the smallest unit of software design that is the module. Unit testing exercises specific path in a module’s control structure to ensure complete coverage and maximum error detection. This test focuses on each module individually, ensuring that it functions properly as a unit hence, the name unit testing. 5.2 Integration Testing Integration testing addresses the issues associated with the dual problems of verification and program instruction.After the software has been integrated as a set of higher order tests are conducted. The main objective in this testing process is to take unit tested modules and build a program structure that has been dictated by design. The following are the types of integration testing: 1. Top down integration 2. Bottom up integration 35
  • 45. TOP DOWN INTEGRATION This method is an incremental approach to the construction of program struc- ture. Modules are integrated by moving down through the control hierarchy, beginnings with the main program module are incorporated into the structure in the either depth first or breadth first manner. BOTTOM UP INTEGRATION: This method begins the construction and testing with the modules at the lowest level in the program structure. Since the modules are integrated form the bottom up, processing for the modules subordinates to a given level is always available and the need for the stubs is eliminated. The bottom-up integration strategy may be implemented with the following steps: 1. The low level modules are combined into clusters that perform a specific software sub-function. 2. A driver i.e. the control program for testing is written to coordinate test case input and output. 3. The cluster is tested. 4. Drivers are removed and clusters are combined moving upwards in the pro- gram structure. Project aspect: Using integrated test plans prepared in the design phase of the system development, integration test was carried out. All the errors found in the system were corrected for the next testing steps. 5.3 Validation Testing Validation testing is performed in each form which input user’s data using text box or radio button or selection box. The validation is performed for name, phone no etc.The name field must be character. The mobile number should have 10 digit. The signup is done only when all validation password matching is performed. Validation testing test if all the input data is in correct format and correct input 36
  • 46. data. The user can go format only when the validation of inputs data is satisfied. Validation test can be defined in many ways, but the simple definition is that is reasonably expected by customer. Software validation is achieved through a series of black box test that demonstrate conformity with requirements. Validation succeeds when the software functions in a manner which user wishes. Project aspect: Proposed system consideration has been tested by using validation testing and found to be working satisfactorily. 5.4 System Testing System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system’s compliance with its specified require- ments. System testing falls within the scope of black-box testing, and as such, should require no knowledge of the inner design of the code or logic. As a rule, system testing takes, as its input, all of the ”integrated” software components that have passed integration testing and also the software system it- self integrated with any applicable hardware system. The purpose of integration testing is to detect any inconsistencies between the software units that are inte- grated together or between any of the assemblages and the hardware. System testing is a more limited type of testing; it seeks to detect defects both within the ”inter-assemblages” and also within the system as a whole. 5.5 Regression Testing Regression testing is a type of software testing which verifies that software, which was previously developed and tested, still performs correctly after it was changed or interfaced with other software. Changes may include software enhancements, patches, configuration changes, etc. During regression testing, new software bugs or regressions may be uncovered. Sometimes a software change impact analysis is performed to determine what areas could be affected by the proposed changes. These areas may include functional and non-functional areas of the system. 37
  • 47. The purpose of regression testing is to ensure that changes such as those men- tioned above have not introduced new faults. One of the main reasons for regres- sion testing is to determine whether a change in one part of the software affects other parts of the software. Common methods of regression testing include re-running previously com- pleted tests and checking whether program behavior has changed and whether previously fixed faults have re-emerged. Regression testing can be performed to test a system efficiently by systematically selecting the appropriate minimum set of tests needed to adequately cover a particular change. 5.6 Black Box Testing Black box testing is the Software testing method which is used to test the software without knowing the internal structure of code or program. Most likely this testing method is what most of tester actual perform and used the majority in the practical life. Basically software under test is called as “Black-Box”, we are treating this as black box without checking internal structure of software we test the software. All testing is done as customer’s point of view and tester is only aware of what is software is suppose to do but how these requests are processing by software is not aware. While testing tester is knows about the input and expected output’s of the software and they do not aware of how the software or application actually processing the input requests and giving the outputs. Tester only passes valid as well as invalid inputs and determines the correct expected outputs. All the test cases to test using such method are calculated based on requirements and specifications document. The main purpose of the Black Box is to check whether the software is working as per expected in requirement document and whether it is meeting the user expectations or not. There are different types of testing used in industry. Each testing type is having its own advantages and disadvantages. So fewer bugs cannot be find using the black box testing or white box testing. 38
  • 48. 5.7 White Box Testing White-box testing (also known as clear box testing, glass box testing, trans- parent box testing, and structural testing) is a method of testing software that tests internal structures or workings of an application, as opposed to its function- ality (i.e. black-box testing). In white-box testing an internal perspective of the system, as well as programming skills, are used to design test cases. The tester chooses inputs to exercise paths through the code and determine the appropriate outputs. This is analogous to testing nodes in a circuit, e.g. in-circuit testing (ICT). White-box testing can be applied at the unit, integration and system lev- els of the software testing process. Although traditional testers tended to think of white-box testing as being done at the unit level, it is used for integration and system testing more frequently today. It can test paths within a unit, paths between units during integration, and between subsystems during a system level test. Though this method of test design can uncover many errors or problems, it has the potential to miss unimplemented parts of the specification or missing requirements. White box testing is a method of testing the application at the level of the source code. These test cases are derived through the use of the design techniques mentioned above: control flow testing, data flow testing, branch testing, path testing, statement coverage and decision coverage as well as modified condition decision coverage. White box testing is the use of these techniques as guidelines to create an error free environment by examining any fragile code. These White box testing techniques are the building blocks of white box testing, whose essence is the careful testing of the application at the source code level to prevent any hidden errors later on. These different techniques exercise every visible path of the source code to minimize errors and create an error free environment. 5.8 Test Plan A test plan documents the strategy that will be used to verify and ensure that a product or system meets its design specifications and other requirements. A test 39
  • 49. plan is usually prepared by or with significant input from test engineers. Depending on the product and the responsibility of the organization to which the test plan applies, a test plan may include a strategy for one or more of the following: 1. Design Verification or Compliance test - to be performed during the devel- opment or approval stages of the product, typically on a small sample of units. 2. Manufacturing or Production test - to be performed during preparation or assembly of the product in an ongoing manner for purposes of performance verification and quality control. 3. Acceptance or Commissioning test - to be performed at the time of delivery or installation of the product. 4. Service and Repair test - to be performed as required over the service life of the product. 5. Regression test - to be performed on an existing operational product, to verify that existing functionality didn’t get broken when other aspects of the environment are changed (e.g., upgrading the platform on which an existing application runs). A complex system may have a high level test plan to address the overall re- quirements and supporting test plans to address the design details of subsystems and components. Test plan document formats can be as varied as the products and organizations to which they apply. There are three major elements that should be described in the test plan: Test Coverage, Test Methods, and Test Responsibilities. These are also used in a formal test strategy. 40
  • 50. 5.9 Testing in Our Project The testing of Android Mobile application is generally done inside the devel- opment tools. Initially emulators are used for this and final testing is done with hardware devices. However, for this application the development and testing is extended out on the specific hardware model. It is essential to have android device embedded in the hardware model. The procedure of programming, testing which focuses on functionalities of an application is known as discovery testing. In the present framework, the testing of portable application is carried out by utilizing discovery testing for the improve- ment work. Fundamentally discovery testing is a system to test the product in which analyzer is not mindful about the inner structures of the module under test. These tests are completed at each step beginning from the establishment of the application on android. Testing is done on each of the five modules to find they are working properly or not. The modules are then integrated and tested to find they work efficiency as a single unit. The methods for installation are also checked to know whether the application can be deployed on a user environment. 41
  • 51. Chapter 6 CONCLUSION AND FUTURE WORKS The project iGuard: An Intelligent Way To Secure is a digital door locking system using android application. Our system identifies threat and notifies the user thus enhances the security features. It not only helps in accessing the door but also provides a tracking facility for members including message broadcast facility. Over than these features it automatically opens the door when the authenticated devices come near the door using bluetooth and ultrasonic sensor. As door represent security, our project have a wide scope with it. Improving security features always have its own importance.Our system incorporates security features in an efficient manner. On the coming future the system can be enhanced with an alert system that sends immediate alert to nearest police station if someone tries to enter forcefully. The alert will contain the intruders image with necessary details of the house owner and address. Also multiple door access using single smartphone can also be implemented. 42
  • 52. REFERENCES 1. Ohsung Doh, Ilkyu Ha, ” A Digital Door Lock System for the Internet of Things with Improved Security and Usability ”, Advanced Science and Technology Letters. 2. Y. Ko, “Study of Policies of Major Countries on Internet of Things and Market Forecast,” International Commerce and Information Review, Vol.16, No.5, pp. 27-47, 2014. 3. D. Seo, H. Ko and Y. Noh, “Design and Implementation of Digital Door Lock by IoT,” KIISE Transactions on Computing Practices (KTCP), Vol.21, No.3, pp.215-222, 2015. 4. http://onlinepresent.org/proceedings 5. https://www.scribd.com 6. https://creately.com 43