Bank Locker Security System Based on Two-Factor Authentication Project Report by S.sutharshan

September 11, 2017 | Author: Sutharshan Sharma | Category: Authentication, Biometrics, Password, Personal Identification Number, Access Control
Share Embed Donate


Short Description

The main objective of this report is to convey and implement a bank locker security system based on two-factor authenti...

Description

BIRMINGHAM CITY UNIVERSITY Faculty of Technology, Engineering and the Environment

BSc [Hons] Computer Networks and Security

Individual Project Final Report CMP6102 Bank Locker Security System Based on Two-factor Authentication

Student Name

: Sivasankar Sutharshan

Student Number

: T31401079/ 14144065

Supervisor

: Professor. N G J Dias

Submission Date

: 14.09.2015 i

DECLARATION OF ORIGINALITY This is to certify that this project, the entire design and creation of Bank locker system based on two-factor authentication was carried out and submitted as true work of Sivasankar Sutharshan of registration number 14144065 under the supervision of Prof. N G J Dias and Dr. Hesiri Dhammika Weerasinghe from the Faculty of Technology, Engineering and the Environment, Birmingham City University. Signed: Sivasankar Sutharshan 14.09.2015

ii

ABSTRACT The main objective of this report is to convey and implement a bank locker security system based on two-factor authentication that improves the safety and security of bank lockers. In this system only the authentic user recover the possessions from the lockers and the two independent authentication used, which are fingerprint biometric and one-time password send over GSM network. The fingerprint biometric can deliver a high level of security by discounting the need of remember PINs, multiple password and no necessity of carrying keys and identify proof. The one-time password is required to access the locker even if fingerprint biometric compromised. The rapid application development methodology project life circle is followed in order to develop the system efficiently. The program was developed in Arduino Integrated Development Environment. This report presents the details on architecture, integration and different design aspects of Bank locker security system. Wide operating rage, low cost of equipment, high security and reliability are some of the major advantages of this project. It is envisioned that the bank locker security system based on two-factor authentication shall eventually replace the manual traditional methods followed in bank locker systems and hence provide feasible way for a better locker service.

iii

ACKNOWLEDGEMENT I would like to thank my Professor. N G J Dias and Dr. Hesiri Dhammika Weerasinghe for offering their precious time, continuous help and support regarding this project for its success. My heartfelt of gratitude goes to you for helping me at every step with necessary guidance. Secondly, I wish to thank Auston library for providing books efficiently which helped me extremely, to gain knowledge on the subject matters and as guidance for the assignment. Thirdly, I would like to thank my friends and batch mates for everything that they have done to help me with this project, and also my parents for providing me with all necessary equipment and support. Finally, I thank Birmingham City University to giving me such project to gain my knowledge most practical in Individual Project CMP6102.

iv

TABLE OF CONTENTS ABSTRACT .................................................................................................................... iii ACKNOWLEDGEMENT .................................................................................................iv GLOSSARY ................................................................................................................. xiv 1.0 INTRODUCTION...................................................................................................... 1 1.1 Problem definition ................................................................................................. 2 1.2 Scope ................................................................................................................... 2 1.2.1 Software ......................................................................................................... 2 1.2.2 Hardware ....................................................................................................... 3 1.2.3 Limitation of this project .................................................................................. 3 1.3 Rational ................................................................................................................ 3 1.4 Aim of the project .................................................................................................. 4 1.5 Objectives of the project ....................................................................................... 4 1.6 Product description ............................................................................................... 5 1.7 Organization of this thesis..................................................................................... 6 2.0 LITERATURE REVIEW ............................................................................................ 7 2.1 Existing system related work ................................................................................ 7 2.1.1 Bank locker security system based on RFID and GSM technology ................ 7 2.1.2 Bank locker system using microcontroller based on fingerprint technology .... 9 2.1.3 Locker system based on RFID, fingerprint, password and GSM technology . 10 2.1.4 Proposed bank locker system based on Two-factor authentication .............. 11 2.2 Comparative study of existing system and proposed bank locker system ........... 11 2.3 Executive summary ............................................................................................ 14 3.0 METHODOLOGY ................................................................................................... 15 3.1 Approach ............................................................................................................ 15 3.1.1 Project requirements planning phase ........................................................... 16 3.1.2 Project user design phase ............................................................................ 17 3.1.3 Construction phase ...................................................................................... 17 3.1.4 Cutover phase .............................................................................................. 17

v

3.2 Overview of bank locker system design and its process ..................................... 18 3.2.1 Complete Flow chart of bank locker system ................................................. 19 3.2.2 Enrollment phase of bank locker system ...................................................... 20 3.2.3 Fundamental stages of bank locker systems ................................................ 21 3.3 Hardware Design Specifications ......................................................................... 22 3.3.1 Arduino Mega 2560 ...................................................................................... 22 3.3.2 I2C Serial Enabled 16x2 LCD Module Display Screen ................................. 23 3.3.3 4x4 Matrix 16 Key Switch Keypad ................................................................ 24 3.3.4 Piezo buzzer ................................................................................................ 24 3.3.5 Real time clock module ................................................................................ 25 3.3.6 YWRobot Relay (5VDC) ............................................................................... 26 3.3.7 Fingerprint Scanner - TTL (GT-511C3)......................................................... 26 3.3.8 SIM800L Fona Mini Cellular GSM module.................................................... 27 3.3.9 Lithium Ion Polymer Battery ......................................................................... 27 3.3.10 Passive Inferred Sensor ............................................................................. 28 3.3.11 Vibration Sensor ......................................................................................... 28 3.3.12 Lock style solenoid (12V) ........................................................................... 28 3.3.13 Metal on/off switch (5V-12V) ...................................................................... 29 3.4 Software design specifications ............................................................................ 29 3.4.1 Sketch Overview in the concern of Bank locker system ................................ 29 3.4.2 Arduino IDE overview in the concern of Bank locker system ........................ 30 3.5 Hardware Implementation ................................................................................... 31 3.5.1 I2C LCD ....................................................................................................... 31 3.5.2 4x4 Matrix 16 Key Switch Keypad ................................................................ 32 3.5.3 Piezo Buzzer ................................................................................................ 33 3.5.4 Real time clock module ................................................................................ 33 3.5.5 YWRobot Relay (5VDC) and lock style solenoid .......................................... 34 3.5.6 Fingerprint Scanner - TTL (GT-511C3)......................................................... 35 3.5.7 SIM800L Fona Mini Cellular GSM module.................................................... 36

vi

3.5.8 Passive Inferred Sensor ............................................................................... 37 3.5.9 Vibration Sensor........................................................................................... 38 3.5.10 Metal on/off switch ..................................................................................... 39 3.5.11 Circuit diagram of complete bank locker system: ........................................ 40 3.5.12 Project Prototype........................................................................................ 41 3.6 Software Implementation .................................................................................... 42 3.6.1 Keypad coding ............................................................................................. 42 3.6.2 Real time clock coding ................................................................................. 43 3.6.3 Random number password generator coding ............................................... 44 3.6.4 Fingerprint enrollment coding ....................................................................... 45 3.6.5 Delete an ID coding ...................................................................................... 46 3.6.6 Fingerprint verification coding....................................................................... 47 3.6.7 Fona GSM coding ........................................................................................ 48 3.6.8 Vibration sensor coding ................................................................................ 49 3.6.9 PIR sensor coding ........................................................................................ 50 3.6.10 Relay coding .............................................................................................. 51 3.6.11 I2C Lcd coding ........................................................................................... 52 3.6.12 Entire bank locker system coding ............................................................... 52 4.0 TESTING AND RESULTS ...................................................................................... 53 4.1 System testing results......................................................................................... 53 4.1.1 Enrollment testing ........................................................................................ 53 4.1.2 Admin login testing ....................................................................................... 55 4.1.3 two-factor verification testing ........................................................................ 56 4.1.4 Sensors testing ............................................................................................ 57 4.2 Test cases for further evidence on actual system ............................................... 58 4.2.1 Case 01 - Enrollment.................................................................................... 58 4.2.2 Case 02 - Admin login access ...................................................................... 59 4.2.3 Case 03 - Admin login access denied .......................................................... 60 4.2.4 Case 04 - Two-factor authentication for accessing a bank locker ................. 61

vii

4.2.5 Case 05 - Bank locker locked mode ............................................................. 64 4.2.6 Case 06 - PIR Sensor .................................................................................. 66 4.2.7 Case 07 - Vibration Sensor .......................................................................... 66 4.2.8 Case 08 - Delete an ID function ................................................................... 67 4.2.9 Case 09 - One-time password expiration...................................................... 68 4.3 Unit testing results .............................................................................................. 69 4.3.1 Keypad actual output.................................................................................... 69 4.3.2 I2C LCD actual output .................................................................................. 70 4.3.3 Random one-time password generation actual output .................................. 70 4.3.4 RTC module actual output ............................................................................ 71 4.3.5 Solenoid actual output .................................................................................. 72 4.3.6 Fingerprint scanner actual output ................................................................. 73 4.3.7 Fona GSM actual output .............................................................................. 74 4.3.8 Vibration sensor actual output ...................................................................... 75 4.3.9 PIR sensor actual output .............................................................................. 76 4.4 User acceptance testing results .......................................................................... 77 4.4.1 Current status of existing bank locker system evaluation results .................. 78 4.4.2 Current failures of existing bank locker system evaluation results ................ 78 4.4.3 Best solution to overcome current issues evaluation results ......................... 79 4.4.4 Flexibility of bank locker system evaluation results ....................................... 79 4.4.5 Performance of the developed bank locker system ...................................... 80 4.4.6 Overall developed locker system functions test results................................. 80 4.4.7 Success and error rate of developed bank locker system ............................. 81 4.4.8 Process time of each function of the locker system ...................................... 81 4.5 Executive summary ............................................................................................ 82 5.0 DISCUSSION ......................................................................................................... 83 6.0 CONCLUSION ....................................................................................................... 85 7.0 RECOMMENDATIONS FOR FUTURE WORK ...................................................... 86 8.0 REFERENCES....................................................................................................... 87

viii

9.0 APPENDICES ........................................................................................................ 90 9.1 Type of measurements ....................................................................................... 90 9.1.1 Measuring process ....................................................................................... 91 9.1.2 The fingerprint system architecture: ............................................................. 92 9.2 Components features, specifications and schematic diagram ............................. 93 9.2.1 Specifications of Arduino mega 2560 r3 board ............................................. 93 9.2.2 Keyapd 4x4 .................................................................................................. 93 9.2.3 Piezo buzzer ................................................................................................ 94 9.2.4 RTC Module ................................................................................................. 95 9.2.5 YWrobot relay .............................................................................................. 96 9.2.6 Fona GSM module ....................................................................................... 97 9.2.7 PIR sensor ................................................................................................... 98 9.2.8 Vibration sensor ........................................................................................... 98 9.2.9 Solenoid ....................................................................................................... 99 9.4 Bank locker system code implementation ......................................................... 100 9.5 Questionnaire ................................................................................................... 119

LIST OF TABLES Table 1 Comparative study of existing system ............................................................. 11 Table 2 Pin definition of I2C LCD ................................................................................. 31 Table 3 Pin definition of 4x4 keypad ............................................................................. 32 Table 4 Pin definition of buzzer .................................................................................... 33 Table 5 Pin definition of RTC ....................................................................................... 33 Table 6 Pin definition of relay and solenoid .................................................................. 34 Table 7 Pin definition fingerprint scanner ..................................................................... 35 Table 8 Pin definition of Fona GSM module ................................................................. 36 Table 9 Pin definition of PIR sensor ............................................................................. 37 Table 10 Pin definition of vibration sensor .................................................................... 38 Table 11 Pin definition of Metal on/off switch................................................................ 39 Table 12 Enrollment testing.......................................................................................... 53 Table 13 Admin login testing ........................................................................................ 55

ix

Table 14 Two-factor authentication testing ................................................................... 56 Table 15 Sensor testing ............................................................................................... 57 Table 16 Processing time of each function ................................................................... 81 Table 17 Specifications of Arduino mega 2560 ............................................................ 93 Table 18 Flow chart dictionary ..................................................................................... 99 Table 19 Bank locker system complete coding ........................................................... 100

LIST OF FIGURES Fig. 1 Bank locker system product description ............................................................... 5 Fig. 2 Block diagram of locker system based on RFID and GSM ................................... 8 Fig. 3 Block diagram of locker system based on fingerprint technologhy ........................ 9 Fig. 4 Block diagram of lokcer system based on RFID, fingerprint,password and GSM 10 Fig. 5 Rad development methodologhy ........................................................................ 15 Fig. 6 Block diagram of proposed bank locker system .................................................. 18 Fig. 7 Flow chart of complete bank locker system ........................................................ 19 Fig. 8 Flow chart of enrollment phase........................................................................... 20 Fig. 9 Arduino Mega 2560 ............................................................................................ 22 Fig. 10 Arduino Meg pin definition. Alberto [undated] ................................................... 23 Fig. 11 I2c lcd module. Malpartida [undated] ................................................................ 23 Fig. 12 Keypad. Anon. [undated] .................................................................................. 24 Fig. 13 Buzzer. Anon. [undated] ................................................................................... 24 Fig. 14 RTC module. Anon. [undated] .......................................................................... 25 Fig. 15 Relay ................................................................................................................ 26 Fig. 16 Fingerprint scanner. Anon. (2013) .................................................................... 26 Fig. 17 Fona GSM module ........................................................................................... 27 Fig. 18 Polymer batter .................................................................................................. 27 Fig. 19 PIR sensor ....................................................................................................... 28 Fig. 20 Vibration sensor ............................................................................................... 28 Fig. 21 Solenoid ........................................................................................................... 28 Fig. 22 Metal on/off switch............................................................................................ 29 Fig. 23 Arduino IDE ...................................................................................................... 30 Fig. 24 Circuit diagram of I2C LCD............................................................................... 31 Fig. 25 Circuit diagram of 4x4 keypad .......................................................................... 32 Fig. 26 Circuit diagram of buzzer.................................................................................. 33 Fig. 27 Circuit diagram of RTC ..................................................................................... 34

x

Fig. 28 Circuit diagram of relay and solenoid................................................................ 35 Fig. 29 Circuit diagram of fingerprint scanner ............................................................... 36 Fig. 30 Circuit diagram of fignerprint scanner ............................................................... 37 Fig. 31 Circuit diagram of PIR sensor ........................................................................... 38 Fig. 32 Circuit diagram of Vibration sensor ................................................................... 39 Fig. 33 Circuit diagram of Metal on/off switch ............................................................... 39 Fig. 34 Circuit diagram of complete bank locker system ............................................... 40 Fig. 35 Project prototype .............................................................................................. 41 Fig. 36 Keypad coding ................................................................................................. 42 Fig. 37 Real time module coding .................................................................................. 43 Fig. 38 Random number generator coding ................................................................... 44 Fig. 39 Fingerprint enrollment coding ........................................................................... 45 Fig. 40 Fingerprint enrollment coding continuation ....................................................... 46 Fig. 41 Delete and ID coding ........................................................................................ 46 Fig. 42 Fingerprint verification coding ........................................................................... 47 Fig. 43 Fona GSM coding ............................................................................................ 48 Fig. 44 Vibration sensor coding .................................................................................... 49 Fig. 45 PIR sensor coding ............................................................................................ 50 Fig. 46 Relay coding .................................................................................................... 51 Fig. 47 LCD coding ...................................................................................................... 52 Fig. 48 Testing data of case 1 ...................................................................................... 58 Fig. 49 Testing data of case 2 ...................................................................................... 58 Fig. 50 Testing data of case 3 ...................................................................................... 58 Fig. 51 Testing data of case 1 ...................................................................................... 59 Fig. 52 Actual output of case 1 ..................................................................................... 59 Fig. 53 Testing data of case 2 ...................................................................................... 59 Fig. 54 Actual output of case 2 ..................................................................................... 60 Fig. 55 Testing data of case 3 ...................................................................................... 60 Fig. 56 Actual output of case 3 ..................................................................................... 60 Fig. 57 Testing data of case 4 ...................................................................................... 61 Fig. 58 Testing data of case 4 ...................................................................................... 61 Fig. 59 Testing data of case 4 ...................................................................................... 62 Fig. 60 Actual output of case 4 ..................................................................................... 62 Fig. 61 Actual output of case 4 ..................................................................................... 63 Fig. 62 Actual output of case 4 ..................................................................................... 63 Fig. 63 Locker status .................................................................................................... 63 Fig. 64 Testing data of case 5 ...................................................................................... 64

xi

Fig. 65 Testing data of case 5 ...................................................................................... 64 Fig. 66 Actual output of case 5 ..................................................................................... 65 Fig. 67 Actual output of case 5 ..................................................................................... 65 Fig. 68 Locker status .................................................................................................... 65 Fig. 69 Actual output of case 6 ..................................................................................... 66 Fig. 70 Actual output of case 7 ..................................................................................... 66 Fig. 71 Testing data of case 8 ...................................................................................... 67 Fig. 72 Actual output of case 8 ..................................................................................... 67 Fig. 73 Actual output of case 8 ..................................................................................... 67 Fig. 74 Testing data of case 9 ...................................................................................... 68 Fig. 75 Actual output of case 9 ..................................................................................... 68 Fig. 76 Keypad output .................................................................................................. 69 Fig. 77 Keypad serial output ......................................................................................... 69 Fig. 78 LCD output ....................................................................................................... 70 Fig. 79 OTP serial output ............................................................................................. 70 Fig. 80 RTC output ....................................................................................................... 71 Fig. 81 RTC serial ouput .............................................................................................. 71 Fig. 82 Solenoid output ................................................................................................ 72 Fig. 83 Solenoid serial output ....................................................................................... 72 Fig. 84 Fingerprint scanner output................................................................................ 73 Fig. 85 Serial output of fingerprint enrollment ............................................................... 73 Fig. 86 Serial output of fingerprint verification............................................................... 74 Fig. 87 Output of Fona GSM module ............................................................................ 74 Fig. 88 Fona testing output........................................................................................... 75 Fig. 89 Vibration sensor output .................................................................................... 75 Fig. 90 Serial output of Vibration sensor....................................................................... 76 Fig. 91 PIR sensor output............................................................................................. 76 Fig. 92 Serial output of PIR sensor ............................................................................... 77 Fig. 93 Status of existing bank locker system ............................................................... 78 Fig. 94 Failures of existing bank locker system ............................................................ 78 Fig. 95 Solution to overcome current issues ................................................................. 79 Fig. 96 Flexibility of bank locker system ....................................................................... 79 Fig. 97 Performance of the bank locker system ............................................................ 80 Fig. 98 Overall test results............................................................................................ 80 Fig. 99 Success and error rate of the locker system ..................................................... 81 Fig. 100 features. davide et al (2009, p.98) .................................................................. 90 Fig. 101 Minutiae features. Yongchang and Kentucky (2008, p.13) .............................. 90

xii

Fig. 102 Landmarks (Davide et al (2009, p.100) ........................................................... 91 Fig. 103 Image-processing steps. Wen and Srik (2011, p.3) ........................................ 92 Fig. 104 system architecture. Wen and Srik (2011, p.1) ............................................... 92 Fig. 105 Schematic diagram of keypad ........................................................................ 94 Fig. 106 Schematic diagram of buzzer ......................................................................... 95 Fig. 107 Schematic diagram of RTC module ................................................................ 96 Fig. 108 Schematic diagram of relay ............................................................................ 96 Fig. 109 Schematic diagram of Fona GSM ................................................................... 97 Fig. 110 Schematic diagram of PIR .............................................................................. 98 Fig. 111 Schematic diagram of vibration sensor ........................................................... 98 Fig. 112 Schematic diagram of Solenoid ...................................................................... 99

xiii

GLOSSARY IDE

Integrated Development Environment

RTC

Real Time Clock Module

I2C

Interface to Communicate

LCD

Liquid-crystal display

VDC

Volts Direct Current

GND

Ground

SDA

Serial Data Line

SCL

Serial Clock Line

ADC

Analog to Digital Convertor

DC

Direct Current

LED

Light Emitting Diode

PWM

Pulse Width Modulation

Rx

Receiver

Tx

Transmitter

V

Voltage

Vcc

Positive Supply Voltage

EEPROM Electrically Erasable Programmable Read-Only Memory OTP

One-time password

GSM

Global System for Mobile communication

SMS

Short Message Service

UART

Universal Asynchronous Receiver/Transmitter

xiv

1.0 INTRODUCTION In today’s world, people are more concerned about their safety of valuable things and accessories which are hardly earned like jewelry, cash, certificates and etc. The bank lockers are the safest place to protect them, but recent years, bank robberies are increasing day by day due to traditional methods and security laps. The present bank locker system security is not very efficient and it can be easily breakable by a smart larceners as they can get the key or PIN code. The solution to overcome this type of frauds can be met with the proposed bank locker security system based on two-factor authentication. The two factor authentication system is used in Bank ATM transactions and web based login systems such as Google provide the two factor authentication for their online users, and also Facebook, MSN and Yahoo that is evolving technology. The idea of two factor authentication system for bank locker is enabled, to ensure the security and portability of the information or possessions. One-time password and Fingerprint biometric based two factor authentication system will be a solution for above discussed requirement that can be able to eliminate the weaknesses of existing system. In term of security, significant improvement can be provided by this system. This system will reduce the fraud and misuse by stealing keys, passwords, PINs and ID proofs. The PIR and Vibration sensor used in this system to alert in case of theft. If any unauthorized access is detected by PIR sensor or vibration sensor, the system can raise alarm to alert bank staff. In this project, the locker provided with simple and low power consumption Solenoid that controls the lock to the locker instead of a key. The proposed system would overcome the drawbacks of the existing systems and provide high security to bank lockers with the use of two independent authentication methods which are fingerprint biometric and one-time password. When a customer wants to open a bank locker, he/she supposed to get their fingerprint scan done. If the fingerprint matches, the system sends the one-time password to the authenticated customer through the registered phone number and required it to type in the locker system. If the entered password by the customer matched, the bank locker could be accessed, otherwise the system sends warning signals and remain in locked status. The establishment of this bank locker system would reduce time wastage, better use of replacement with double security, reduction in cost of labor, satisfaction for customers, reduction of frauds, easy accessibility and overall better service for customers of the bank.

1

1.1 Problem definition Bank lockers are plays important role in today’s life and it is considered the safest place to store jewelry, documents, stock certificates and etc. The traditional methods used for most of banks rely on manual lock and PIN number/ password which are not fully secure. In manual lock systems, whenever a customer uses the locker, he/she should assist by the bank staff. This may lead to waste of time for both the customer and the staff. The major drawback of such manual locker systems are lack of security because the key can be duplicated. This would lead to theft of the entire valuable possessions in the bank lockers. The password, Personal Identification Number (PIN) or smart cards are used for personal identification to access lockers. Anyhow, the smart cards can be stolen, the password and PIN numbers can be forgotten or might be guessed. Still many banks struggle to prevent illegal access, intrusions and stopping secret information disclosure. These all become problems of traditional bank lockers and leads to bank robberies. The safety of this lockers need to be ensured and verified through the strong authentication mechanisms in order to restrict the unauthorized access.

1.2 Scope The scope of the project is concentrated at two-factor authentication in order to access the Bank locker system. The project is mainly focused on restricting the unauthorized access and alerting in case of theft. The fingerprint biometric and one-time password authentication implemented. The accuracy of fingerprint scanner is depended on fingerprint sensor specification. More accuracy of fingerprint sensor will provide strong fingerprint authentication which cannot be forged. The one-time password depended on the method of random number generation. The project will have software, hardware implementation and limitations. 1.2.1 Software The analysis of software implementation need to be identified in order to work on this project. The primary works for software searching as follows:  Learn the usage of Arduino C, C++ language and its criteria based on the project objectives.  Identifies the memory usage required by the project that will develop whether it suits with Arduino Mega 2560 R3 microcontroller or not.  Identifies the software that will be used to load the program to the Arduino Mega 2560 R3 microcontroller using boot loader methods.

2

 Check and explore the entire techniques in the developed program in order to achieve the project objectives. 1.2.2 Hardware There are several analysis carried out before proceed to the project requirements for the hardware implementation as follows:  Designing the bank locker with the lock style solenoid attached to it.  Searching for the material that will be used for project such as wood, nail and locker opener door.  Built the prototype based on the design and project requirements to facilitate the system easier. 1.2.3 Limitation of this project The limitations of this project are identified through the initial system analysis, development environment and based on the equipment’s specifications as follows:  Limited time, high commitment and limited technical source and support.  Noise in fingerprint sensed data and spoof of attack.  The continuous power supply needed for the system in order to work lifetime.  The system only focusing on two-factor authentication and alerting. The physical security is not concerned.

1.3 Rational By frequent observations and analysis the existing system, questioning and interviewing people about their personal experience about existing system’s drawbacks and solution for that, the idea of a new and improved system was manifested. In terms of security two factor authentication is much better solution for solution for bank locker systems that can be able to provide ease of access, portability, flexibility and reliability. Due to the above mentioned issues, the proposed solution is based two factor authentication system for bank lockers. The main purpose of proposed bank locker security system is to detect and restrict the access of an unauthorized person who is trying to unlock the bank locker and alerts in the case of theft. This proposed system provides double security by using fingerprint and on time password through GMS module. The fingerprint collection and capturing are done in minimum time due to optical sensor and the small template size. The major benefit are harder to fake,

3

guess, misplace and forget when compared to user selected password. James and Prasad (2011, pp. 4-5) The random number generated by the microcontroller is sent to lockers’ user’s phone with the help of GSM module and eliminate the necessity to remember the password. The random number is a “one-time password” with time expiration and once it is used, the code will be expired. Within the time limit, the password must be entered to the system. This ensures that the password cannot be hacked and gives added value to the system. When the banks proceed with the locker system, it would benefit through high level of security, unique among its competitors who operate only PIN system in its technological operation. The internal strength of the banks would seek a rapid increase in customer confidence in the bank, brand image and degree of reach in its performance would be at its best because of improved security.

1.4 Aim of the project The aim of the project is to come up with a low cost and efficient model of security locker system which provides more reliability and restrict the access of unauthorized person who is trying to unlock the bank locker system and alerts in the case of theft.

1.5 Objectives of the project The focus of this project is to develop a locker system based on two-factor authentication. The objective of the project as follows:  Develop a locker system that can replace the current traditional methods such as manual lock, PIN number and password.  Improve the security with automate locker system based on two-factor authentication.  Making the bank customers feel safe about their possessions in the safe.  Eliminating the need to remember multiple passwords, PINs and not carry identity proof and keys.  Eliminate the frauds which are done by smart larceners.  Provide user friendly and easier system to banks to do their jobs efficiently.  Save the time by the process of withdrawal of possessions faster and ultimately make the services pleasant for the bank customers.

4

1.6 Product description The developed bank locker systems verify and validate user based on two factor authentication: fingerprint biometric and on time password send through GSM module. In the initial stage, the enrollment takes places where the user's fingerprint is scanned, analyzed and then minutiae features will be extracted as a template on a memory to be utilized for future comparison. When a customer wants to open the bank locker, the user has to place their finger on a scanner. The scanner will capture the fingerprint, the system checks it in line with the fingerprint that is stored in the database. If it matches, the user will be allowed to enter the code which is a “one-time password”, send thorough the GSM network that is generated randomly for each access with time expiration. If the correct password is entered, the bank locker would be accessed. If not, the system would send warning signals and remain in locked status.

Fig. 1 Bank locker system product description The bank locker system process illustrated in the figure 1. In addition, the vibration sensor and motion detector sensor function during the non-working hours of the bank that help in safeguarding the locker area and alerts in the case of any theft.

5

1.7 Organization of this thesis Bank locker security system is based on two-factor authentication project’s final thesis consist of nine chapters that contains and elaborate specific topics regarding project as follows:  The chapter one is the Introduction of the project. The explanation of the project given in general term. The objectives of the project will be explained. It is followed by the explanation of problem definition, aim, rational and scope of the project.  Chapter two is the Literature review for the development of bank locker system. Explanation will be based on security authentication system related researched and security conceptual ideas. Some of current existing bank locker systems and its comparison are also discussed for further improvements in this project.  Chapter three is about Methodology of how to work on this bank locker project and all kind of measure that was considered as well as the details, specification of entire project components used. This include the hardware design and software implementation. Flow chart of the bank locker system and how it is executed are explained in detail.  Chapter four is about the Testing of the project that was conducted. This includes all the results with appropriate explanation.  Chapter five is Discussion regarding bank locker system project. The problems that are faced and its solution is discussed.  Chapter six is the Conclusion that include summary of findings.  Chapter seven is about Recommendations for further development of the project.

6

2.0 LITERATURE REVIEW There are number of bank locker security systems in the market. These type of systems are studied in order to obtain ideas for the system that was built. Even though a system in the market at the present time is compliment with new technology and more advanced idea must be acquired through the literature review. In this report, the review of literature is explained with the guidance of the existing projects conducted by researchers on development of bank locker security system. The technologies such as GSM, RFID and biometrics that are used in different types of security system is further discussed.

2.1 Existing system related work Over the years, locker security system is implemented in various places. A security plays an important role in day to day life. Some of the researchers have successfully developed various types of locker systems using different technology as follows. 2.1.1 Bank locker security system based on RFID and GSM technology This system can be organized in bank and secured offices. The only registered user can recover the money or accessories from bank locker. The system works based on RFID and GSM technology that can authenticate, validate a user and unlock the door for bank locker access in real time basis. This system consists of microcontroller AT89c51, GSM modem, LCD, keyboard, power supply, RFID tag and RFID reader. The id of a user is stored in the passive tag. The RFID reader reads the id number to validate and send to the microcontroller. If the id is valid then the authentic person needs to enter the password through keypad to the bank locker system. If the password get valid, the system send SMS request to the authentic user mobile number. Then the user sends the password to the microcontroller through mobile phone using GSM modem. The microcontroller compares the password entered by keyboard and received through the authentic user mobile phone for decision making to provide access. If these passwords are matched the bank locker will be opened otherwise it will remain in locked status. Ramani et al (2012, pp. 15-19)

7

The figure 2 illustrates the block diagram of locker security system based on RFID and GSM technology.

Fig. 2 Block diagram of locker system based on RFID and GSM. Ramani et al (2012: 17) Strengths  System works based on RFID and GSM technology whereas two types of authentication are used.  Two password are referred which provides double security.  System becomes user friendly due to use of RFID and GSM technology. All type of users are well aware about these technologies because their day to day activities include smart phones and ATM cards usage. Weakness  Strong and unique authentication method like biometrics such as fingerprint, face and iris are not concerned.  The RFID card can be stolen/duplicated/misplaced easily.  The referred two password for this system are same and the old model GSM SIM300 V7.03 is used. This leads to more time consuming when sending messages through the GSM.

8

2.1.2 Bank locker system using microcontroller based on fingerprint technology This bank locker system implemented based on fingerprint technology using P8V51RD2 microcontroller. When it comes to system the user’s fingerprint which is authorized to access the locker will be stored in the module with a unique ID. The fingerprint scanner is interfaced to 8051 microcontroller. A user has to scan his/her finger in the initial stage. If the fingerprint get match then, the user need to enter the password given to him/her with the help of a keypad. Otherwise, the indication will be alert by a buzzer due to password or fingerprint being mismatch. The figure 3 depicts the block diagram of fingerprint based locker system. This mainly contains of P8V51RD2 microcontroller, 16 x 2 LCD module, fingerprint sensor, buzzer, switch and relays. Pavithra et al (2014, pp. 155-159)

Fig. 3 Block diagram of locker system based on fingerprint technologhy. Pavithra et al (2014: 157) Strengths  System work based on fingerprint biometrics and password mechanism to authenticate a user.  Fingerprint is unique for each user and it cannot be replicate easily with today’s technologies.  Easy to use and does not require additional training.  No manual errors and false intrusion. Weakness  A password can be stolen/guessed/forgotten. This leads to lack in security.  The referred password for the system is permanent and it remains unchanged. Therefore, password can be easily hacked and the entropy of a general 8 character password is low.

9

2.1.3 Locker system based on RFID, fingerprint, password and GSM technology This system includes all the technologies and mechanisms such as RFID, fingerprint sensor, password and GSM where four different type of authentications used. RFID reader acts on the ID number from passive tag and transfers it to the system, if the ID number is legal then it lets a user to access the fingerprint biometry if not the process will be stopped. If the fingerprint is matched the system would send the password to the registered phone number. Once the user gets the password, he/she requires to enter the password which was previously given to the user and received through the GSM. If these entered two passwords are in line, then the locker could be accessed if not the system will send the alert SMS to the relevant user’s phone number and the locker will be remained in locked status. Raghuram and Subhramanyasarma (2013, pp. 142-144) The figure 4 shows the block diagram of locker system based on RFID, fingerprint, password and GSM. This system mainly contains of LPC2148 microcontroller, 16 x 2 LCD display, fingerprint sensor, GSM, buzzer, RFID reader, relay, DC motor and power supply.

Fig. 4 Block diagram of lokcer system based on RFID, fingerprint, password and GSM. Raghuram and Subhramanyasarma (2013: 144) Strengths  System work is based on RFID, fingerprint biometrics, GSM and password mechanism to authenticate a user. Four independently authentication methods used that will provide high security for lockers. Weakness  Hard to use and require additional trainings for End users due to process of four authentication methods.  Manual errors may occur frequently due to more processing time in terms of authentication.  System function may get slowly because of more hardware involvement in the system.

10

2.1.4 Proposed bank locker system based on Two-factor authentication The proposed bank locker system will authenticate a user based on two factor authentication. The two independent authentication methods would be implemented which are fingerprint biometric and one- time password send through GSM module. This system mainly contains of Arduino Mega 2560-R3, GT-511C3 fingerprint scanner, SIM900 Quad-band GSM module, I2C LCD module, lock style solenoid, PIR sensor, vibration sensor, relay and buzzer. Strengths  The system work is based on two-factor authentication leads to more security. The fingerprint biometric and on time password send through the GSM module are concerned.  The necessity of three security concerns are followed in the proposed system in order to provide high secure access which are “something you know” (PIN), “something you are” (fingerprint biometric) and “something you have” (phone).  The system is user friendly because it uses fingerprint technology which is widely known and phone in order to retrieve the PIN to the locker access. Weakness  Better advanced devices can be used to provide flexibility.  The accuracy and capacity of motion detection and vibration detection can be increased further.

2.2 Comparative study of existing system and proposed bank locker system Table 1 Comparative study of existing system Comparison

Locker system

Locker

Locker system

Proposed Locker

parameters

based on RFID

system based

based on RFID,

System based on

and GSM

on fingerprint

fingerprint,

two-factor

technology

technology

password and

Authentication

GSM technology Authentication

Two

approach

are used in this password

“Something know” user

password An 8 character A user needs to A user need to enter

you system whereas a used

Examples: user

require

is enter to character

the

8 the 6 character PIN which

is

send

to authenticate a password which is authenticated

account enter the given user. Referred send

to mobile number.

11

to user

names, password, password through password

for authenticated

PIN and passcode. the keypad and the system is user the

same permanent

given

mobile generated

number.

PIN

is

randomly

for each access has a

password must be which can be send

The

limited time span.

to easily

microcontroller using

breakable.

This

GSM

type

of

PIN

eliminate

the

modem.

necessity

in

The entropy of 8

remembering

character

PIN/password.

the

password is low and

it

can

be

stolen/guessed/fo rgotten. Authentication

RFID card is used No

RFID card is used A phone is used for

approach

as

as

“Something have”

one

of

you authentication

the authentication in used

in

one

the the

authentication

the authentication as purpose. A user must

Examples: this system. The type

of earlier system. A bring the phone in

smart cards, token RFID card can be Something you user cards, phone and stolen/duplicated.

of

have.

might

be order to see the PIN

forgot to bring the when he/she receives

RFID cards.

RIFD card.

it through the GSM. A user can forget to bring the phone but today’s world it’s rare to see people without phone.

Authentication

No

approach

authentication

“Something are”

technology

the

system.

in

fingerprint

is verification is used in this this

system

Fingerprint

geometry,

in this system.

authentication

iris, retina, voice

It’s harder to

strong

and signature.

fake,

since

guess,

misplace forget

to

authenticate a user.

authentication

hand

face,

fingerprint The

is authentication

you type is used in this used as one of used

Examples: system.

fingerprint,

biometrics The fingerprint The

is

mechanism even

the

and

identical twins who

when

share the same DNA

12

compared user

to

has

selected

different

fingerprints and this

password.

gives

high

distinctiveness. James and Prasad (2011: 4) Type

of Something

you Something you Something

you Something you know

authentication

know (Password) know

know (Password) (One time Password)

used overall

+

+

Something

(Password) +

+

you Something you Something

have (RFID)

are

have (RFID) +

(Fingerprint)

Something

One-time

Password

Password

password

implemented with implemented no time expiration with

(Phone) + you Something you are

are (Fingerprint)

(Fingerprint)

Password

PIN is implemented

implemented with with time expiration.

no time no time expiration PIN

and require a user expiration to remember it.

you Something you have

and

require

is

generated

to randomly

for

require a user remember a user

access,

to remember it

limited time span and this

it

each

has

eliminates

a

the

remembering of the PIN/password.

The

PIN is send to the user’s phone number. Sensors

Not implemented

Not

Not implemented

implemented

PIR

and

vibration

sensors implemented to detect theft during the

non-working

hours. Microcontroller

AT89C51

P8V51RD2

LPC2148

Arduino Mega 2560R3

Platform

Assembly Language

Fingerprint Scanner

Assembly

C

programing Open

and Language and language

Embedded C

Embedded C

Not implemented

R303A

Source

platform, code can be written in Java.

Data not available

GT-511C3 scanner

scanner

13

GSM Module

SIM300

V7.03 Not

module

SIM300 module

implemented

SIM800L Fona GSM module

2.3 Executive summary The literature review data collection helps to expose and generate skills of searching for the information from a various sources. These skills are very important in order to solve the problems that encountered in the future during project work. The strengths and weakness of existing systems are discussed in this report and identified to improve on proposed system. Throughout the comparative study, the proposed system improvements and different from the existing systems justified. By analyzing existing systems by its strengths and weakness, the bank locker system will be created to overcome the past systems disadvantages and possible new improvements added to this proposed system as discussed in the comparative study. The proposed system method use two different independent authentication mechanisms to access the locker; which are fingerprint biometrics and on time password. When it comes to fingerprint sensor, the proposed system fingerprint scanner provides high accuracy due to 3.0 fingerprint algorithm and capable enough to store 200 fingerprints compare to existing system scanners. The latest SIM900 Quad-band GSM module is used for sending PIN that leads to less time consuming. The password is generated randomly for each access has a limited time span where the other existing system solutions fail. In comparison to the existing solutions, the proposed locker system uses a vibration sensor and a PIR motion sensor that is set during the nonworking hours to protect the locker area and alerts in the case of any theft.

14

3.0 METHODOLOGY It is an approach to manage project life circle from the beginning to end and provide framework for continuous improvement to the project. This include selection of methodology, system overview, system process flow chart, software implementation and hardware implementation.

3.1 Approach

Fig. 5 Rad development methodologhy The figurer 5 illustrate The RAD methodology phases applied through the project life circle. This approach has chosen because it is a decentralized development model where many activities are split into separate stages. This contributes to reduced cycle time and improved productivity with lower cost. It has a well-defined start, end point and progress process can be conclusively identified by developer and client with necessary requirements. This shows the importance given on requirements and design phase and it’s ensure minimal wastage of time, effort and reduces the risk of that customer expectations not being met. This model reduces risk due to client involvement all along the complete project life cycle. As a result before the project completion any alteration in requirement is possible. The selection of methodology is strong enough for the development of locker system and would improve the system quality as requirements of the clients are met at each stage by providing a significant reduction in the errors with the help of prototyping and tools. If there any failures occurs in this methodology, the project can be restart from the user design phase. (Rraguse 2012)

15

This model will be easy to manageable because each phase has specialized deliverables and a requirement analysis process. The deliverables of the proposed project with this model will be have better value because each phase will be well shown to the client. The use of this model helpful to follows:  Problems are more easily solved.  Large bodies of code will be more manageable.  Human works will be always verified. The phases of RAD methodology that followed in complete project life cycle as follows: 3.1.1 Project requirements planning phase The feasibility study requirements processed in the beginning stage to test system in certain factors of its operation, handling user’s requirements, use of resources and the cost effectiveness. The aim is to check the development of the system is possible or not. Throughout the literature review and requirement analysis the proposed bank locker system development become possible and identified as achievable. In this phase, the requirements identified based on following criteria in order to proceed further:  Users of bank locker system.  Way of using the bank locker system.  Data inputs and outputs of the bank locker system. The planning phase involved a complete study of the existing bank locker system, leading to specifications of a new bank locker system with more enhancements. The main factors to be discussed in this analysis are:  The functions that requires to be executed by the proposed system and their bond with each other.  Identifying the current problems of bank locker system and recommending achievable suggestions for improving the new proposed system.  List of attributes of the entities of entire bank locker system. The document will be created by having all of this requirements and will be used in the design phase.

16

3.1.2 Project user design phase In this phase, the physical system will be designed from the requirement gathering which were discussed in the first phase. The user interface design will be addressed, issues related to accessibility will be discussed, hardware and system requirements will be specified and overall system architecture will be designed. At this stage, computer oriented work will be processed. The design of the system becomes more structured and its makes better quality for new bank locker system deliverables. The programming language and the hardware and software platform in which the new bank locker system will run are also decided. This would be reduce the risk of software platform selection. 3.1.3 Construction phase After designing the bank locker system, the whole system is required to be converted into computer understanding language. The software creation processed in this phase where the locker system functions are transformed into control specifications by the help of an open source integrated development environment. The programs developed in categorized way. This would lead to fast development and can easily adopt change in future if requirements get updated. 3.1.4 Cutover phase This includes testing and implementation of the system. A test plan developed and will be proceed to make sure that developed system is actually solving the needs that addressed and gathered during the requirements planning phase. The main objective of this testing is removing all the bugs of the system. This would lead bank lockers system to process efficiently in its services to customers. Once done with the testing, the implementation takes place. All the programs of the bank locker system are loaded into real environment and if it runs smoothly without any fault then it will be launched. The steps involved in this phase are:  Installation of Hardware and Software must be made fully operational before implementation.  Conversion - The data from the old system needs to be converted to operate in the new format of the bank locker system based on two-factor authentication.  User Training.

17

3.2 Overview of bank locker system design and its process

Fig. 6 Block diagram of proposed bank locker system The Bank locker system based on two-factor authentication implementation on Arduino Mega 2560 R3 is proposed as shown in the figure 6. The Arduino Mega 2560 controller will be taken action according to Fingerprint scanner GT-511C3 input, once it is verified, Arduino sends SMS details to GSM module in order to send a PIN to owner’s mobile phone, when it receives confirmation through keypad, Arduino sends open signals to Solenoid to provide access to the bank locker system. The Ywrobot relay (5VDC) is used to switch off/on the Solenoid to work with electronic locker system. I2C real time clock module is used to take the current time and date which is used to be count for session time out regarding one-time password. The PIR and vibration sensors used to detect in case of theft. This system can be extended in future without changing any hardware, just by reprogramming the system it can be enhanced for banks. This system is aimed to overcome the limitation of the existing bank locker system. The existing system can be replaced by designed system that will be provided more security and eliminate time delay in effective manner. The new system will be delivered more security which will be provided almost twice safety as earlier systems.

18

3.2.1 Complete Flow chart of bank locker system based on two-factor authentication

Fig. 7 Flow chart of complete bank locker system As for the Flow chart illustrate in figure 7, the operation of the system takes place in an automated progress. Firstly the user has to place their finger on a scanner. The scanner capture the fingerprint, the system checks it against the fingerprint that is stored in the database. If it matches, the verified id will be display and the user will be allowed to enter the code which is a “one-time password” send thorough the GSM network that is generated randomly for each access with time expiration. If the correct password is entered, the bank locker would be accessed, otherwise the system sends warning signals and remain in locked status. The flow chart dictionary presented in Appendix 9.3 for further understanding.

19

3.2.2 Enrollment phase of bank locker system

Fig. 8 Flow chart of enrollment phase The figure 8 illustrate the enrollment stage and delete an ID process. Enrollment is where the system studies about all the users it will have to recognize each time. The enrollment phase is proceed by a bank administrator. Therefore it require administrator password. In the initial stage, a user's account id will be typed. Once typed, a user fingerprint will be scanned, analyzed then minutiae features will be extracted as a template on a memory to be utilized for future comparison. The delete an ID process will be also require admin password as enrollment and the account ID to get deleted if valid ID is given into the system.

20

3.2.3 Fundamental stages of bank locker systems Data acquisition: This is the phase where the data (fingerprint) are taken from the users by the fingerprint scanner. The received fingerprint image is stored in the fingerprint database as template. Acquisition can be done through the fingerprint GT511C3 optical scanner. Feature extraction: The features of fingerprints are figured and stored with its characteristics in the database. The captured fingerprint images are assisted to feature extraction component and its features are stored to the database as template by using an extraction algorithm to the fingerprint image. This is the stage where capture image, enhance ridge and extract minutiae are processed (which is known as image enhancement). Fingerprint Verification: Involvement of decision making takes place. The user, in order to access the bank locker, he/she places the finger on the fingerprint scanner device. Once a fingerprint image is taken, it’s served to a process of matching component and that extracts the minutiae features of the fingerprint image scanned and ties with the individual’s fingerprint template that saved earlier in the system database. If both matches, the user will be allowed to enter the password. If it doesn’t match, the user access will be denied and locker system will be remained in lock status. James and Prasad (2011, pp. 6-7). One-time password: This password is valid only for one login session and each password generated randomly has a time expiration. Once the fingerprint verification is done, the user need to enter the password which is sends through GSM module. If the OTP get matched, the user will be granted to access the bank locker otherwise the access will be denied. All of these stages are required in order to access the bank locker. The type of fingerprint measurements and feature measuring process are present in Appendix 9.1 for further evidence.

21

3.3 Hardware Design Specifications 3.3.1 Arduino Mega 2560

Fig. 9 Arduino Mega 2560 The Arduino Mega 2560 is a microcontroller board. It is based on the ATmega2560 which has 54 digital input/output pins. It has 15 PWM pins, 16 analog inputs and 4 UART ports. It is connected to the computer through the USB cable or it can be powered up with the AC to DC adaptor or it can be powered up by the battery. The Mega 2560 R3 also adds SDA and SCL pins next to the AREF additionally. There are two pins near RESET button. One is the IOREF and other one pin is not connected to the board where it is reserved for future purposes. The IOREF is used to shield to adapt the voltage provided by the board. The Arduino microcontroller is implemented with the boot loader. This avoids the use of the external programmer device to the computer for programming. This boot loader provides the true Read-While-Write operation. The Mega2560 R3 differs from all previous boards in that it uses ATmega16U2 instead of using the FTDI USB-to-serial driver chip. This allows the user with more memory and high transferring rate. Revision 2 of the Mega2560 board has a resistor pulling the 8U2 HWB line to ground, making it easier to put into DFU mode. Anon. [undated] This Mega 2560 R3 Arduino board has chosen for Bank locker security system project because Arduino based locker systems has many advantages over existing microcontroller based locker systems, some of these advantages are; simple structure, high reliability, speed, an open-source platform, flexible, easy-to-use hardware and software, number of input/output ports, performance and less power consumption which are all very important in every design. It has more flash memory and extended features which makes easier to use in projects to control the system. Further, the Mega specifications are explained in the Appendix 9.2.1.

22

Fig. 10 Arduino Meg pin definition. Alberto [undated] The figure 10 indicates the pin configuration on the Arduino Mega 2560 controller board. The pins were connected, to form the bank locker system function properly by using this pin configuration datasheet. This will also use to find the number of input /output pins, number of power pins, number of UART pins. 3.3.2 I2C Serial Enabled 16x2 LCD Module Display Screen The LCD display is used to display two rows of characters and each row contain 16 characters. It is a high-speed I2C interface and including LCD with negative blue type is a white case with low background.

Fig. 11 I2c lcd module. Malpartida [undated]

23

I2C has four pins. They are power, ground, SCL and SDA. The text and the numeric characters are interfaced with the SCL and SDA. The I2C LCD contract can be adjusted by using the trumpet and this module uses only two wires to expose all the characters into the LCD display. This is simple and easy to handle while using in the project. 3.3.3 4x4 Matrix 16 Key Switch Keypad

Fig. 12 Keypad. Anon. [undated] The keypad has 16 buttons in Matrix form. It is thin and flexible membrane with the adhesive backing. It is compatible and very easy to interface with any microcontroller. Only need 8 microcontroller pins (4-columns and 4-rows) need to be scanned through the key pad. This 4x4 Matrix keypad has chosen for bank locker project to provide a useful human interface component for the people who are using it to enter the inputs to the system. The specifications and its schematic diagram presented in Appendix 9.2.2. 3.3.4 Piezo buzzer

Fig. 13 Buzzer. Anon. [undated] Piezo buzzer is used for making beeps, tones and alerts. It generates sound by altering the electric field either stretching or compressing. This will alter the frequency of the signal and therefore it produce sound.

24

It is powered up with DC voltage. It is covered with the cylindrical plastic coating. It has small holes through which the sound propagate. Further, the buzzer schematic diagram, features and its specifications are present Appendix 9.2.3. This Piezo buzzer has chosen for bank locker system project for making loud beeps sound when theft occurs. This has been used because less weight, ordinary construction and low cost make it usable in various applications compare to other buzzers. 3.3.5 Real time clock module

Fig. 14 RTC module. Anon. [undated] This is the Real Time Clock (RTC) Module which uses the DS1307 to keep track of the current year, month, day as well as the current time with leap year Compensation. It automatically adjusts the month and days according to the leap year. It can operate either in 24 hours clock or 12 hours clock. The DS1307 RTC module has a built-in power circuit which sense the power failure and automatically switch itself to the backup power. Anon. [undated] This RTC DS1307 Real Time Clock module has chosen for bank locker security system project because it’s widely used in data logging, clock-building, time stamping, timers, and alarms to keep track of time even if it is reprogrammed, or if the power is lost. This includes a small CR1225 Lithium coin cell battery that will run the RTC for a minimum of 9 years without an external 5V power supply. As per proposed project, this allows Arduino microcontroller to provide seconds, minutes, hours, day, date, month, and year information for the bank users and used for “one-time password” time expiration. Moreover, the RTC specifications and schematic diagram described in Appendix 9.2.4 to get better understanding.

25

3.3.6 YWRobot Relay (5VDC)

Fig. 15 Relay This is a 5V 1-Channel Relay interface board which be able to control various appliances, and other equipment with large current. It can be controlled directly by most of the Microcontrollers. Anon. [undated] The relay requires 15-20mA driver current. The LED indicates the relay output status. YWROBOT 1 RELAY (5VDC) has been chosen for this project as it is widely used, equipped with high-current relaymand compatible with Arduino. This relay has been used as on/off switch to the solenoid in electronic bank locker system. The relay specifications and schematic diagram described in Appendix 9.2.5 for more explanation. 3.3.7 Fingerprint Scanner - TTL (GT-511C3)

Fig. 16 Fingerprint scanner. Anon. (2013) This fingerprint module from ADH-Tech that communicates over TTL Serial. . The module has an on-board optical sensor and 32-bit CPU. The initial register has been done to store each of the finger prints by sending the commands and by pressing the finger thrice against the scanner. It can store different finger print. These fingerprint template can be retrieved in the image format. It can store up to 200 different fingerprints and it is capable of 360° recognition. This module has been chosen for this project this is because it’s an updated version of the GT-511 which has an increased storage capacity to 200 different fingerprints, use SmackFinger 3.0 algorithm and it has the ability of 360° recognition.

26

3.3.8 SIM800L Fona Mini Cellular GSM module

Fig. 17 Fona GSM module It is a GSM module controlled via AT commands and fully compatible with Arduino Mega. It uses Quad band 850/900/1800/1900 MHz and can be connected to any GSM network with any 2G SIM. Anon. [undated] The Fona GSM module is been chosen for this project in order to send the one-time password to owner’s phone when accessing the bank locker. The less processing time for sending messages adds value to this GSM module. The GSM features and schematic diagram presented in Appendix 9.2.6 for in depth details. 3.3.9 Lithium Ion Polymer Battery

Fig. 18 Polymer batter Lithium ion polymer batteries are thin, light and powerful. The output ranges from 4.2V to 3.7V when completely charged. The Lipo batter has a capacity of 2500mAh for a total about 10 Wh. The battery come with a 2 pin connector. Anon. [undated] This battery used for the bank locker system to provide power to Fona GSM module to be powered up during sending SMS.

27

3.3.10 Passive Inferred Sensor

Fig. 19 PIR sensor The PIR sensor detect motion up to 20 feet away by using a Fresnel lens and infrared sensitive element to detect changing patterns of passive infrared emitted by objects. Anon. [updated] The PIR sensor is compatible with all microcontrollers. The PIR sensor set during bank off times to detect motions of thief. This sensor chosen for this project due to inexpensive, easy to use and it is ideal for security system. The PIR specifications and schematic diagram presented in Appendix 9.2.7 for further details. 3.3.11 Vibration Sensor

Fig. 20 Vibration sensor The vibration sensor is often used for vibration, touch and shock measurements. A small AC and large voltage up to 90V is made when the film goes backward and forward. A resistor get the voltage down to ADC levels. Anon. [undated] The vibration sensor used for shock and vibration detection that prevent stealing possessions in the bank locker. Green led is indicated when vibration detected. This sensor specifications and schematic diagram presented in Appendix 9.2.8 for further knowledge. 3.3.12 Lock style solenoid (12V) A solenoid designed for bank locker door. It is made out of a big coil of copper wire with a metal in the middle. When the coil is heated, the slug is pulled into the middle of the coil. This lets the solenoid to pull from one end. When 9 - 12 VDC is applied, the door can be opened. The solenoid is used for bank locker door electronic access to Fig. 21 Solenoid

open and close. The Solenoid specifications and

schematic diagram presented in Appendix 9.2.9 for more details.

28

3.3.13 Metal on/off switch (5V-12V)

Fig. 22 Metal on/off switch The metal on/off switch require 5V - 12V to be powered up. This switch is used for bank locker system to turn on fingerprint scanner, I2C LCD and GSM. This lead to reduce power consumption when locker is in off mode. Anon. [undated]

3.4 Software design specifications Software programs are called sketches. Theses sketches will be formed on a computer using the Arduino integrated development environment (IDE). The IDE tool leads to edit, write and convert the code into guidelines that Arduino hardware will recognize depending on the codes that are programmed. The IDE also transfers those guidelines to the Arduino board to work smoothly and efficiently. Further, the bank locker system design process previously explained in the chapter 3.2. 3.4.1 Sketch Overview in the concern of Bank locker system Arduino IDE stands for Integrated Development Environment and it’s a note text editor similar to program which enable us to write a code for the Arduino board, in other way the IDE programme coded is considered as the OS of Arduino board when working in projects. In Arduino, the file is known as sketch. Written developed codes are stored in the sketch. The Arduino IDE sends the developed code to a compiler on PC that checks code contrast to some rules and creates a file which can be uploaded on the Arduino board. Arduino IDE agrees the uploaded code and makes decisions on how the Arduino board execute information and uses the hardware. Arduino development language is a shortened from C/C++ programming language that use common development structures, variables and functions. Afterwards this is transformed into legal C++ program. Compare to other boards, in the Arduino, the electric signals can be controlled, the Arduino can interface with it very simply in comparison to other micro controllers. Even if it is not controlled by electric signals, probably motors, relay and electromagnets, to interface with it. So, the selection of board is strong enough and capable to work with Bank locker system’s all hardware components. The Arduino IDE makes easier to write programs to the Arduino board than other text editors. Anon. [undated]

29

3.4.2 Arduino IDE overview in the concern of Bank locker system

Fig. 23 Arduino IDE The figure 23 illustrate the Arduino IDE. The button with Arduino IDE of which appears like any checkmark is known as “verify”. If that get press, the code will be compiled and any errors will be displayed in the IDE window at the bottom. So that errors can be solved efficiently with the help of IDE. The shortcut key for verify is Control + R. The button appears like an arrow right pointing right the upload button. If this get press, the sketch will be uploaded to Arduino board as coded. The shortcut key for upload is Control + U. The button on the right side of the screen in the IDE is the serial button. If this get press, the serial monitor will be function, it is possible to send and receive information on serial from Arduino board while it is executed. The shortcut key for serial monitor is Shift + Control + M. The bottom right corner of the window displays the current board and serial port that have been used. The toolbar buttons allows to verify and upload programs, create, open, and save sketches, and open the serial monitor. Anon. [undated] Additional commands can be found within the five menus which are File, Edit, Sketch, Tools, and Help. The actual choices in the menu are sensitive where items relevant to the code currently being carried out are only available.

30

3.5 Hardware Implementation The Arduino Mega 2560 R3 is the microcontroller where the code wrote for the system is performed. The board can only control and respond to electric signals, so hardware components are physically connected to deal with so many purposes. These components can be sensors or devices. The hardware implementation is considered as pin configurations of components attached to Arduino Mega as follows: 3.5.1 I2C LCD Pin definition of I2C LCD: Table 2 Pin definition of I2C LCD I2C Serial Enabled 16x2

Arduino Mega 2560

LCD Module Wire 1

GND

Wire 2

VCC (+5V)

Wire 3

SDA ( Pin 20)

Wire 4

SCL ( Pin 21)

Circuit diagram of I2C LCD on Arduino Mega R3 board:

Fig. 24 Circuit diagram of I2C LCD

31

3.5.2 4x4 Matrix 16 Key Switch Keypad Pin Definition of 4x4 keypad: Table 3 Pin definition of 4x4 keypad 4x4 Matrix Keypad

Arduino Mega 2560

Pin 1 (Colum)

Digital Pin 26

Pin 2 (Colum)

Digital Pin 27

Pin 3 (Colum)

Digital Pin 28

Pin 4 (Colum)

Digital Pin 29

Pin 5 (Row)

Digital Pin 22

Pin 6 (Row)

Digital Pin 23

Pin 7 (Row)

Digital Pin 24

Pin 8 (Row)

Digital Pin 25

Circuit diagram of 4x4 keypad on Arduino Mega R3 board:

Fig. 25 Circuit diagram of 4x4 keypad

32

3.5.3 Piezo Buzzer Pin definition of buzzer: Table 4 Pin definition of buzzer Piece Piezo Buzzer

Arduino Mega 2560

Black Wire

GND

Red Wire

Digital Pin 9 or as set on the controller

Circuit diagram of Piezo Buzzer on Arduino Mega R3 board:

Fig. 26 Circuit diagram of buzzer 3.5.4 Real time clock module Pin definition of RTC: Table 5 Pin definition of RTC Tiny RTC-Module

Arduino Mega 2560

DS1307 VCC

5V (VCC)

GND

GND

SDA

D20 (SDA)

SCL

D21 (SCL)

33

Circuit diagram of RTC on Arduino Mega R3 board:

Fig. 27 Circuit diagram of RTC 3.5.5 YWRobot Relay (5VDC) and lock style solenoid Pin definition of relay and lock style solenoid: Table 6 Pin definition of relay and solenoid YWROBOT Relay (5VDC)

Arduino Mega 2560

VCC

5V (VCC)

GND

GND

IN

D2 (Any Digital Pin)

+

+ wire from the power supply need to be connected

-

- wire from the solenoid need to be connected

34

Circuit diagram of relay and solenoid on Arduino Mega R3 board:

Fig. 28 Circuit diagram of relay and solenoid 3.5.6 Fingerprint Scanner - TTL (GT-511C3) Pin definition of fingerprint scanner: Table 7 Pin definition fingerprint scanner GT-511C3 Scanner

Arduino Mega 2560

Tx

D11 (Rx)

Rx (3.2V)

D12 (Tx, 4.7K ohm, 2.2K resistor used)

GND

GND

Vin

5V (VCC)

35

Circuit diagram of GT-511C3 fingerprint scanner on Arduino Mega R3 board:

Fig. 29 Circuit diagram of fingerprint scanner 3.5.7 SIM800L Fona Mini Cellular GSM module Pin definition of Fona GSM Module: Table 8 Pin definition of Fona GSM module Fona GSM Module

Arduino Mega 2560

Vio

5V (VCC)

GND

GND

Key

GND

Rx

D2 (Tx)

Tx

D3 (Rx)

RST

D4

36

Circuit diagram of GT-511C3 fingerprint scanner on Arduino Mega R3 board:

Fig. 30 Circuit diagram of fignerprint scanner 3.5.8 Passive Inferred Sensor Pin definition of PIR sensor: Table 9 Pin definition of PIR sensor PIR sensor

Arduino Mega 2560

+

5V (VCC)

-

GND

Output

D33 (Connects to an I/O pin set to input mode)

Circuit diagram of PIR sensor on Arduino Mega R3 board:

37

Fig. 31 Circuit diagram of PIR sensor 3.5.9 Vibration Sensor Pin definition of Vibration sensor: Table 10 Pin definition of vibration sensor Vibration sensor

Arduino Mega 2560

+

5V (VCC)

-

GND

Output

D41 (Connects to an I/O pin set to input mode)

38

Circuit diagram of Vibration sensor on Arduino Mega R3 board:

Fig. 32 Circuit diagram of Vibration sensor 3.5.10 Metal on/off switch Pin definition of Metal on/switch: Table 11 Pin definition of Metal on/off switch Metal on/off switch

Arduino Mega 2560

+

5V (VCC)

-

GND

Output (5V + Output)

D35 (Connects to an I/O pin set to input mode)

Circuit diagram of Metal on/off switch on Arduino Mega R3 board:

Fig. 33 Circuit diagram of Metal on/off switch

39

3.5.11 Circuit diagram of complete bank locker system:

Fig. 34 Circuit diagram of complete bank locker system

40

The complete circuit diagram illustrated in the figure 34. The necessary pin definition to each device, connector, power supply and resistor implemented as given in the circuit diagram. This consist of following components as numbered in the above figure. 1. Arduino Mega 2560 R3 2. GT-511C3 Fingerprint scanner 3. Breadboard 4. Tiny I2C relay time clock module 5. 4x4 Matrix 16 key membrane switch keypad 6. I2C Serial enabled 16x2 LCD module 7. Lock-style solenoid (12V) 8. SIM800L Fona Mini Cellular GSM module 9. Ywrobot relay (5VDC) 10. Piezo buzzer 11. PIR sensor 12. Vibration sensor 13. Rugged metal on/off switch (12V-5V) 14. DC power adapter (2.1 mm jack) 15. 12V power supply 16. Jumper wires (Male to male, female to female and Male to female) 17. 4.7k ohm and 2.2 ohm used for fingerprint deployment 3.5.12 Project Prototype In accomplishing the system prototype, there are lots of materials implemented to design the bank locker using the wood. The bank locker box is built with wood base on the measurement taken. The locker consist of the solenoid, handle and transparent plastic door. The bank locker was properly designed and result in good prototype as illustrated in the figure 35.

Fig. 35 Project prototype

41

3.6 Software Implementation Software programs are knows as sketches. Theses sketches are coded using C/C++ programming language using the Arduino integrated development environment (IDE). The IDE enables to write, edit code and convert this code into guidelines that Arduino hardware able to recognize. The components coding as follows: 3.6.1 Keypad coding

Fig. 36 Keypad coding The figure 36 illustrate the keypad coding. The rows and columns defined as constant value four, the mapping between actual keys and its interfaced digital pin number coded as physically connected. If key pressed, it will be displayed in the serial and also it can be edited to show in LCD.

42

3.6.2 Real time clock coding

Fig. 37 Real time module coding

43

The figure 37 shows the coding of RTC module. The RTC library used to call the time functions. The day, month, year, hour, minute and am/pm are programmed and will be displayed in the serial. 3.6.3 Random number password generator coding

Fig. 38 Random number generator coding The figure 38 depicts the coding of random number maker. This random number function generates a 6 digit PIN that includes any number combination from 0 to 9. The random number generate PIN for one time for each session as put in the void setup. Further, time expiration coded using RTC module.

44

3.6.4 Fingerprint enrollment coding

Fig. 39 Fingerprint enrollment coding

45

Fig. 40 Fingerprint enrollment coding continuation The figure 39 and 40 shows the coding of fingerprint enrollment. The fingerprint GT-511C3 library used in order to work with fingerprint functions. The enrollment is programmed to take three times for a user. This improves fingerprint feature extraction accuracy. Once fingerprint features are detected, it gets stored in the database with enrollment ID. The “fps.enrollStart” command is used to execute enrollment function. Continuation 3.6.5 Delete an ID coding

Fig. 41 Delete and ID coding The figure 41 illustrate the delete an ID coding. The delete ID given in the programme but in the complete system, it has to be typed by the administrator in order to delete the ID. The delete function is executed by calling “fps.deleteID” command.

46

3.6.6 Fingerprint verification coding

Fig. 42 Fingerprint verification coding The figure 42 depicts the fingerprint verification coding. A user fingerprint get identified by calling “fps.Identify1_N” code in the void loop. If it is verified, the appropriate message will be displayed in the serial. The necessary error and success messages are coded in order to display for the user.

47

3.6.7 Fona GSM coding

Fig. 43 Fona GSM coding The figure 43 illustrate the coding of sending message through the Fona GSM. The Fona library included in order to execute GSM functions. The Fona tx, rx and reset digital pins are defined in the coding. The sendto and message command is executed in the coding in order to send the text.

48

3.6.8 Vibration sensor coding

Fig. 44 Vibration sensor coding The figure 44 depicts the coding of vibration sensor. The digital pin 41 is defined for Vibration sensor into input mode to get the detected measurement value. The sensor coded to make the led on when the measurement is more than 1000, if not its set the led to off.

49

3.6.9 PIR sensor coding

Fig. 45 PIR sensor coding The figure 45 illustrate the coding of PIR sensor. The input pin for PIR sensor is defined as 33. The value reads from the pin 33 and get display into the serial. The coding can be edited to work based on the value it is detected.

50

3.6.10 Relay coding

Fig. 46 Relay coding The figure 46 shows the coding of relay where the solenoid connected too. The relay work as switch module. It can be coded to off and on. The relay turn on by using the code “digitalWrite(32,1)” and turn off by using the code “digitalWrite(32,0)”.

51

3.6.11 I2C Lcd coding

Fig. 47 LCD coding The figure 47 illustrate the coding of I2C Lcd module. The liquidcrystal_i2c library used to work with I2C Lcd module. The “lcd.print” code is used to output a text into the display. 3.6.12 Entire bank locker system coding The entire bank locker system based on two-factor authentication code implementation is present in the Appendix 9.4 and attached in the CD for further evidence.

52

4.0 TESTING AND RESULTS Once the complete program of the locker system implemented, a test plan will be developed to make sure that the product is actually solving the needs that addressed and gathered during the requirements phase. The main objective of this testing is removing all the bugs of the system. This would lead bank locker system to process efficiently in its services to bank customers. Following testing will be carried out to ensure the product works efficiently.

4.1 System testing results At this stage the test is proceed through on actual bank locker system. The developed locker system will be executed on the actual data. The results of the systems will be analyzed and compared with an expected output as follows in the table. 4.1.1 Enrollment testing Table 12 Enrollment testing Outcome Inputs

or

test

Actual outcome

Expected outcome

data

() or not (×)

Keep null in the Beep

sound Error message must be

enrollment ID and occurred then

succeeded

press

and shown and beep sound must 

on exception message be processed. “Invalid ID” run in

Enter button.

the LCD. Then after 2 seconds, the main menu

displayed

with date and time. Invalid enrollment Beep

sound Error message must be

id given and then occurred click

on

and shown and beep sound must

Button. Example “Incorrect enrollment

ID displayed

given as “4356”.

The enrollment



Enter exception message be processed ID” in

the

LCD.

correct Successful ID message

No error message and error “Place function.

The

fingerprint

finger to Enroll - 1” enrollment must be proceed.



53

given and click on displayed enter button. Three

in

the

LCD. times Successful

fingerprint

No

message

processed

message.

The

fingerprint features must be

with “Enrollment

enrollment ID 3.

error

stored

with

the

given



success. ID = 3” enrollment ID. displayed

in

the

LCD. Incorrectly finger Beep placed

on

sound Error message must be

the occurred

and shown and beep sound must

fingerprint

exception message be processed

scanner.

“Finger not found” displayed

in



the

LCD. Already

enrolled Beep

ID given as input.

sound Error message must be

occurred

and shown and beep sound must

exception message be processed



“ID already exist” displayed

in

the

LCD. Already

enrolled Beep

fingerprint as input.

sound Error message must be

given occurred

and shown and beep sound must



exception message be processed ““Enrolling Failed”” displayed

in

the

LCD. Incorrectly finger Exception message Appropriate error message placed

for

capturing.

first “Failure to capture must be shown in the LCD. first displayed



finger” in

the

LCD.

Incorrectly finger Exception message Appropriate error message placed for second “Failure to capture must be shown in the LCD. capturing.

second



finger”

54

displayed

in

the

LCD.

Incorrectly finger Exception message Appropriate error message placed for third “Failure to capture must be shown in the LCD. third

capturing.



finger”

displayed

in

the

LCD.

4.1.2 Admin login testing Table 13 Admin login testing Outcome Inputs

or

test

Actual outcome

Expected outcome

data Pressing

succeeded () or not (×)

B to Beep

sound Error message must be

enroll a fingerprint occurred

and shown and beep sound must

or pressing C to exception message be processed. delete



a run in the LCD as

fingerprint without follows: entering

the “Login required”

admin password Entering correct

the The “B” and “C” The permission must be admin button function can allowed for enrollment and

password “5647” be accessed. given pressed



delete function.

and enter

button. The wrong admin Beep password “5678” occurred given pressed button.

sound Error message must be and shown and beep sound must

and exception message be processed.



enter run in the LCD as follows: “Invalid Password”

55

The ID 3 given as The input

successful No

error

message.

The

the message “deleted” fingerprint must be delete in

for

delete function.

displayed LCD

in

and

ID

fingerprint deleted



the the database. 3 get

in

the

database. The same finger The error message Error message must be used

for

ID

3 “Finger not found” shown in the LCD.

placed again on displayed the

in



the

fingerprint LCD.

scanner for the verification.

4.1.3 two-factor verification testing Table 14 Two-factor authentication testing Outcome Inputs

or

test

Actual outcome

Expected outcome

data

succeeded () or not (×)

A enrolled ID 3 The

successful The

user’s fingerprint message placed

on

the ID:

3”

verification

and

then phone

if

fingerprint



sent” authenticated.

to displayed

access the locker

password

“Verified must be send to user’s

for “SMS

scanner

one-time

in

LCD.

The

send

to

the OTP

user’s

phone. “776172”

one- The

successful The bank locker must be

password message

time

“PIN unlocked.

which is correct success” displayed entered system

to

the in the LCD and using locker

keypad.



can

be

access.

Again the enrolled The error message The locker access must be ID

3

fingerprint

user “Invalid get displayed

PIN” denied. in

the

56

verified and a PIN LCD code

is

and

locker 

send remained in locked

which is “384482”. status. Once get, the PIN entered

wrongly

as “384483” to the system. The

OTP The error message The locker access must be

password entered “Time

out” denied.

to the system after displayed 40

seconds

check

to LCD

in

and



the

locker

time remained in locked

expiration.

status.

4.1.4 Sensors testing Table 15 Sensor testing Outcome Inputs

or

test

Actual outcome

Expected outcome

succeeded

data

() or not (×)

The bank locker The

successful Appropriate message must

hit by using a message “Vibration be shown in the LCD and hammer to make Detected be alert” beep big noise.

displayed

in

sound

must

be



the processed.

LCD and the buzzer continuously beeped

for

four

times. The

changes The

successful Appropriate message must

made in front of message

“Motion be shown in the LCD and

motion sensor in Detected be alert” beep bank off time.

displayed

in

sound

must

be 

the processed.

LCD and the buzzer continuously beeped

for

four

times.

57

4.2 Test cases for further evidence on actual system 4.2.1 Case 01 - Enrollment Objective: Enrollment has to be successful. Testing data: Enrollment ID - 3 and a fingerprint of a user.

Fig. 48 Testing data of case 1 The account ID (enrollment id) given as 3 and proceed with the fingerprint as shown in the figure 48.

Fig. 49 Testing data of case 2 The enrollment ID 3 user’s finger placed for first capturing as shown in the figure 49.

Fig. 50 Testing data of case 3 The enrollment ID 3 user’s finger placed for second capturing as shown in the figure 50.

58

Fig. 51 Testing data of case 1 The enrollment ID 3 user’s finger placed for third capturing as shown in the figure 51. Actual output after testing:

Fig. 52 Actual output of case 1 The enrollment has to be taken three times for a user. The enrollment get success for the ID 3 as shown in the figure 52. Outcome: Case 1 expected enrollment results were succeeded. 4.2.2 Case 02 - Admin login access Objective: Admin access must be granted. Testing data: The admin password 5649 entered to the system as shown in the figure 53.

Fig. 53 Testing data of case 2

59

Actual output of the system:

Fig. 54 Actual output of case 2 The admin password entered to the system get succeeded as shown in the figure 54. Outcome: Case 2 expected admin login results were succeeded. 4.2.3 Case 03 - Admin login access denied Objective: Admin access must be denied when given password is wrong. Testing data: Admin password “5648” which is wrong entered to the system.

Fig. 55 Testing data of case 3 The password “5648” entered to the system using keypad as show in the figure 55. Actual output of the system:

Fig. 56 Actual output of case 3

60

The given password is wrong and the admin login access get denied as shown in the figure 56. Outcome: Case 3 expected admin login access denied results were succeeded. 4.2.4 Case 04 - Two-factor authentication for accessing a bank locker Objective: Two-factor authentication has to be successful in order to access the bank locker. Testing data: Enrollment ID 3 user’s fingerprint placed for the verification.

Fig. 57 Testing data of case 4 The figure 57 shows the bank locker system once turned on using metal on/ off switch. The system is ready for two-factor verification.

Fig. 58 Testing data of case 4 The figure 58 shows that valid ID 3 once the fingerprint of a user belongs to enroll ID 3 placed on the fingerprint scanner.

61

Fig. 59 Testing data of case 4 Once the fingerprint validated, the SMS send to ID 3 user’s phone as shown in the figure 59. Actual output of the system:

Fig. 60 Actual output of case 4 The figure 60 shows that randomly generated “one-time password” send to the user’s phone.

62

Fig. 61 Actual output of case 4 The OTP password “776172” entered to the system using keypad as shown in the figure 61.

Fig. 62 Actual output of case 4 Once the OTP password entered, the PIN get success as illustrate in the figure 62.

Fig. 63 Locker status Once the two-factor authentication verified, the bank locker in access mode as depicts in the figure 63. Outcome: Case 4 expected two-factor authentication results were succeeded.

63

4.2.5 Case 05 - Bank locker locked mode Objective: If one of authentication failed where the fingerprint or OTP, the locker must be in locked mode and appropriate error message must be displayed in the system. Testing data: Wrong fingerprint placed on the fingerprint scanner and OTP password typed incorrectly.

Fig. 64 Testing data of case 5 The OTP password “384482” send to user’s phone as shown in the figure 64.

Fig. 65 Testing data of case 5 The OTP password entered incorrectly as “384483” to the system as shown in the figure 65.

64

Actual output of the system:

Fig. 66 Actual output of case 5 The entered OTP password got invalid as shown in the figure 66.

Fig. 67 Actual output of case 5 The fingerprint not found in the database when invalid fingerprint placed on the scanner as shown in the figure 67.

Fig. 68 Locker status The bank locker system will be in locked status as shown in the figure 68 when two-factor authentication failed. Outcome: Case 5 expected bank lock status results were succeeded.

65

4.2.6 Case 06 - PIR Sensor Objective: PIR sensor must detect motion during bank off times. Testing data: The changes made in front of motion sensor in bank off time. Actual output of the system:

Fig. 69 Actual output of case 6 The message “Motion Detected be alert” displayed in the LCD and the buzzer continuously beeped for four times as shown in the figure 69. Outcome: Case 6 expected PIR sensor results were succeeded. 4.2.7 Case 07 - Vibration Sensor Objective: Vibration sensor must detect if any bigger noise occurred in the bank. Testing data: The bank locker hit by using a hammer to make big noise. Actual output of the system:

Fig. 70 Actual output of case 7 The message “Vibration Detected be alert” displayed in the LCD and the buzzer continuously beeped for four times as shown in the figure 70. Outcome: Case 7 expected Vibration sensor results were succeeded.

66

4.2.8 Case 08 - Delete an ID function Objective: The given ID must get deleted in the database. Testing data: ID 3 entered for the delete function.

Fig. 71 Testing data of case 8 The figure 71 illustrate the delete method of the system where ID 3 is given for deleting to the system. Actual output of the system:

Fig. 72 Actual output of case 8 The given ID 3 get deleted in the database as shown in the figure 72.

Fig. 73 Actual output of case 8 Once the ID 3 get deleted, again the user belongs to ID 3 finger placed on the scanner and relevant error message “Finger not found” displayed as shown in the figure 73. Outcome: Case 8 expected Delete an ID results were succeeded.

67

4.2.9 Case 09 - One-time password expiration Objective: The issued OTP pin must be expired after 30 seconds. Testing data: The OTP password 100588 issued for a user and entered into the system after 30 seconds as shown in the figure 74.

Fig. 74 Testing data of case 9 Actual output of the system:

Fig. 75 Actual output of case 9 The OTP password expired and displayed as time out as shown in the figure 75. Outcome: Case 9 expected OTP time expiration results were succeeded.

68

4.3 Unit testing results The coded programs must be individually tested with an each device based on the prepared test data. Any undesirable happening that will be noted and debugged where the error corrections handled. At the end of this test the system errors will be removed. Only the result of each device is present in this report. The actual components coding previously presented in chapter 3.0 is under software implementation. 4.3.1 Keypad actual output

Fig. 76 Keypad output The keypad physically connected with an Arduino board based on the pin configuration as shown in the figure 76.

Fig. 77 Keypad serial output The serial output of keypad testing is illustrate in the figure 77. All the characters are typed and worked efficiently.

69

4.3.2 I2C LCD actual output

Fig. 78 LCD output The I2C coded to display “Bank Locker System” as shown in the figure 78. The LCD module successfully worked. 4.3.3 Random one-time password generation actual output

Fig. 79 OTP serial output The random OTP password generated in the void loop is shown in the figure 79. Each attempt a different OTP get generated for authentication. The random “one-time password” is successfully generated.

70

4.3.4 RTC module actual output

Fig. 80 RTC output The RTC module connected with an Arduino board based on the pin configuration as shown in the figure 80.

Fig. 81 RTC serial ouput The figure 81 illustrate the current date and time with the help of RTC. The RTC generates time and successfully and runs in the void loop.

71

4.3.5 Solenoid actual output

Fig. 82 Solenoid output The solenoid connected with an Arduino board based on the pin configuration as shown in the figure 82.

Fig. 83 Solenoid serial output The figure 83 illustrate the lock status successfully. The solenoid coded to lock and unlock with the delay of 1 second which runs in the void loop.

72

4.3.6 Fingerprint scanner actual output

Fig. 84 Fingerprint scanner output The fingerprint scanner connected with an Arduino board based on the pin configuration as shown in the figure 84.

Fig. 85 Serial output of fingerprint enrollment The figure 85 shows that the enrollment carried successfully for enroll ID 3. The fingerprint scanner coded to take enroll three times for a user.

73

Fig. 86 Serial output of fingerprint verification The figure 86 shows the verification carried successfully and identified as enroll ID 3 when user belongs to enroll ID 3 fingerprint placed. The fingerprint scanner coded to display the verified ID in the serial. 4.3.7 Fona GSM actual output

Fig. 87 Output of Fona GSM module The Fona GSM connected with an Arduino board based on the pin configuration as shown in the figure 87.

74

Fig. 88 Fona testing output The figure 88 illustrate the testing message send to user’s phone. The GSM work successfully in order to send the PIN to user’s phone. 4.3.8 Vibration sensor actual output

Fig. 89 Vibration sensor output The vibration sensor connected with an Arduino board based on the pin configuration as shown in the figure 89.

75

Fig. 90 Serial output of Vibration sensor The figure 90 illustrate the vibration measurement. The sensor coded to detect vibration if the measurement is more than 15000. The vibration sensor detected successfully and displayed the results in the IDE serial. 4.3.9 PIR sensor actual output

Fig. 91 PIR sensor output The PIR sensor connected with an Arduino board based on the pin configuration as shown in the figure 91.

76

Fig. 92 Serial output of PIR sensor The figure 92 illustrate the PIR sensor measurement. The sensor coded to detect motion is value 1. The PIR sensor detected successfully and displayed the results in the IDE serial.

4.4 User acceptance testing results This testing is processed in order to verify if developed bank locker system meet the customer\s requirements or solving the issues that addressed in the existing locker system. In this stage, user or customer work with the develop locker system to determine the test results. The process user testing was executed by the develop system interaction and the distribution of questionnaires as a major data collection from the random people who use bank locker systems. The gathered data has its weight as it is a direct feedback and also the people who filled their questionnaire seems comfortable, was easy going process as their body language revealed their thoughts. Questionnaires method have selected to get users feedback and results because large amounts of information can be collected from a large number of users in a short period of time. Compare to other methods, questionnaires are the cheapest method of data gathering and frequently viewed as quick and easy to manage. It would be easy to assess problems or failures and changes when data gathered. This ensures questionnaire is well suited for data collection.

77

For the purpose of getting user testing result and feedback, the questionnaires are distributed to 20 people who use bank locker systems and the analysis will be done based on their feedbacks (Appendix 9.5). 4.4.1 Current status of existing bank locker system evaluation results

Fig. 93 Status of existing bank locker system This figure 93 analysis shows, the more number of people agreed that the current bank locker system in Sri Lanka is Poor. This ensures that the existing users of the bank locker systems, requires more secured technologies to get better locker facility services. 4.4.2 Current failures of existing bank locker system evaluation results

Fig. 94 Failures of existing bank locker system

78

The figure 94 analysis shows, more number of people stated that no SMS service regarding locker access. Traditional methods such as RFID, PIN and password followed that could be easily fraud and required to carry identity proofs. This ensures that the current system is not suitable and advance system need to be introduce to overcome these failures. This is possible by implementing the developed bank locker system based on two-factor authentication. 4.4.3 Best solution to overcome current issues evaluation results

Fig. 95 Solution to overcome current issues The figure 95 analysis suggesting best solution to a Bank. More users recommended to implement Two-factor authentication based locker system than other solutions. This ensures, users will be satisfied with the implementation of bank locker system based on two-factor authentication. 4.4.4 Flexibility of bank locker system evaluation results

Fig. 96 Flexibility of bank locker system

79

The figure 96 shows that the developed locker system is not user friendly for more number of users. Even though it is not user friendly, more features and enhancements can be implemented in the future to satisfy the users. 4.4.5 Performance of the developed bank locker system

Fig. 97 Performance of the bank locker system The figure 97 analysis shows, 10 users agreed with the performance speed of developed bank locker system. This depends on the knowledge of a user and it differs accordingly. More training and user manual must be introduced to users to become more familiar with the system. Further, the flexible advanced devices can be deployed in future in order to improve the system performance. 4.4.6 Overall developed locker system functions test results

Fig. 98 Overall test results

80

The figure 98 illustrate the overall test results conducted for 20 users. The enrollment get succeeded for 17 users, the fingerprint verification and OTP send to user’s phone get succeeded for 15 users. Some of the user’s enrollment and verification got failed due to dirt and dryness on the finger’s skin that leads to false rejections. 4.4.7 Success and error rate of developed bank locker system

Fig. 99 Success and error rate of the locker system The figure 99 illustrates the overall success and error rate based on the output of 20 users. 75% of the users are success in testing the bank locker system. The possibilities as to why 25% false rejection rate occurred to be identified may influence by low quality image, user skin condition, expression and low quality scanners. It is stated that the fingerprint GT511C3 scanner FAR is less than 0.001% and FRR is less than 0.1% by the device manufacturer. Anon. [undated] The FAR from the user testing and fingerprint scanner is low. That shows high accuracy where the possibility of incorrectly acceptance being lower than the given fact is very marginal. False rejection rate is high from the user’s testing and low from the fingerprint. Even though it is rejected still the bank locker system is secured. Also there is no possibility to reduce both these errors simultaneously. 4.4.8 Process time of each function of the locker system Table 16 Processing time of each function Testing Parameters Enrolment

Process time 3 Seconds: three times enrolment has to be taken for a user.

81

1 Second: it can increase depending on the number of Verification

templates stored.

On-time password

3 Seconds: includes sending PIN through the GSM.

Motion

and

Vibration sensor

1 Second for detection of motion and vibration.

4.5 Executive summary The test plan and its test cases are processed in the developed system and there were some errors in the beginning of the process that are identified through the testing which are Keypad doesn’t work (no output), fingerprint scanner doesn’t give Tx and Rx signals and the I2C LCD doesn’t give display. The rework is done in order to solve these issues and again processed to the test stages as planned. The current results of the test plan has no errors and the developed bank locker system functions would be done correctly to achieve its objectives and it ensures that the error handling will be processed efficiently whenever a user inputs given invalid. Overall, the users are satisfied with developed bank locker system. The strengths and weakness have been analyzed and identified by the questionnaire. The strengths of this developed system are more speed, solve current failures and save money to the bank sectors. The weakness are not enough flexibility and language issues not solved. The weakness identified by the users’ feedback results will be considered and overcome in future to the maximum level with more enhancements.

82

5.0 DISCUSSION In completing this project, there are several problems encountered throughout the system design, development and hardware implementation of the project. To overcome these issues different research works, forums and internet sources are referred. The initial system design and its processes were carried successfully as long as its depth was not concerned. Selecting the Arduino microcontroller was a difficult task that let to problems. The Arduino UNO based on ATmega328P was analyzed to choose as the microcontroller. The Uno has 6 analog input output pins, 14 digital pins, 7 pins with PWM signals and 1K EEPROM. While working on this project as number of devices increased, it was not possible to connect all the devices on UNO board since the requirement of PWM signals pins, analog pins, digital pins was more. Other concerned was “one-time password” generation that required more EEPROM spaces to store the values. Next, the Arduino Mega 2560 based on ATmega2560 microcontroller was used which has 16 analog in/out pins, 54 digital pins, 15 pins with PWM signals and 4K EEPROM. This gave solution to overcome the problems faced with Uno. The fingerprint sensor and Fona GSM module used and both required TX and RX pins. This is sorted out by having Mega 2560 board that had four hardware serial ports to communicate whereas Uno fail to solve this. There was a main problem encountered on GSM shield. In the development initial stage, the SIMCOM 900 Quad band GSM based on IComSat V1.1 was used. Then the GSM shield was connected on Arduino Mega board to perform AT command testing to send a SMS. As a result the GSM shield was not responded and was unable to send a SMS. Searching for this problem was done using hardware testing to detect where the issue was. From the testing, it is shown that the SIM power is not turned on and there was short in circuit in order to give the power. Further, this issue was not solved with the help of internet sources. The GSM was replaced with the SIM800L Fona GSM module to solve the issues. It worked with the AT commands during testing and it could able to send a SMS. In the development of “one-time password” time expiration, the problem occurred with the coding. The RTC module used for time expiration calculation but during testing it did not work out. The “millis()” method coding used to overcome this issues by calculating the number of milliseconds for the OTP time expiration.

83

Finally, all the circuit and system design process was successfully worked and the problems encountered during project development solved efficiently. The proposed aim and objectives successfully achieved by the implementation of Bank locker system based on two-factor authentication.

84

6.0 CONCLUSION Bank robberies are rapidly growing in today’s word due to traditional authentication methods followed in the bank locker system. There is no any system which is completely out of spoofing. Every system is subject to breakable. A single authentication system with password or biometric can be easily breakable and not secured/reliable. The proposed bank locker system based on two-factor authentication provides high performance, security, reliability, throughput and robustness. The fingering biometric which is unique and “one-time password” send to user’s phone which has time expiration are referred for two-factor authentication. This eliminating to remember PINs, password, carrying keys and identity proofs. The developed locker system concept gives the additional features to detect theft by using PIR and vibration sensor for more security. The bank locker system based on two-factor authentication project was completed successfully with positive outcomes. Existing data and similar system researches add value to my project development. Throughout the project a lot of knowledge, troubleshooting the problems and finding solutions for it are gained analytically and technically. The software implementation of this project leads author to understand and experienced about open integrated development environment, Arduino platform and its programming languages such as Java and C/C++ in depth. Development of two-factor authentication allowed to get a full view of industry evolving security technologies. Further knowledge gathered about fingerprint biometric, its type of measurements which are minutiae features, image preprocessing, fingerprint verification and “one-time password” generation. Besides, through this project a lot of skills have been developed not only software development and hardware implementation but also the capabilities of innovating new embedded systems in different platforms have been learned. Overall, the project achieved its each aim and objectives proposed and the developed bank locker system is fully automated with error-free. Further, the bank locker system based on two-factor authentication can be launched as a product for Bank sectors with required modification.

85

7.0 RECOMMENDATIONS FOR FUTURE WORK The desired outcome of the project was accomplished. Moreover, to adopt new technology as it comes, to provide more security and services, the future work can be done for bank locker system. The future work was analyzed when developing the project to increase the scope further. Along with the bank locker system, the AES128 bit encryption can be enabled for secure communication with implementation of CryptoShield. This adds security layer to the system by processing encryption and decryption. This shield inbuilt with AES-128 encrypted EEPROM that provides both authentication and confidential non-volatile date storage. The system security can be enhanced further with the help of this shield. Nowadays internet banking plays a major role in human’s life in order to check and transfer payments. The access details of bank locker system can be merged with internet banking with the execution of Ethernet shield. The Ethernet shield can be programmed to act as a web server between Arduino mega microcontroller and the bank’s website. Whenever the access details of the bank locker system is logged it would send to bank’s website through virtual port using Ethernet shield. Instead of fingerprint biometric authentication, the face recognition can be used with “onetime password” generation. The face recognition is one of the biometric technology rapidly increasing these days and widely used in various application. With the face recognition bank locker system become more user friendly to all type of users. The fingerprint image sensing quality can be improved by using 3D image scanner to provide more accuracy. This may leads to result in false acceptance rate and false rejection rate marginally. The latest cellular shield SM5100B which is compatible with Arduino platform can be deployed further for speedy communication. Use of this cellular shield would take less processing time to send the “one-time password” to user’s phone than current GSM module.

86

8.0 REFERENCES  Adafruit,

I.

[undated]

PIR

Motion

Sensor

Tutorial

[available

at:

http://www.instructables.com/id/PIR-Motion-Sensor-Tutorial/?ALLSTEPS] [accessed 08/05/2015].  Alberto, P. [undated] Arduino / YourDuino MEGA 1280 and 2560 Pinouts: [available at: https://arduino-info.wikispaces.com/MegaQuickRef] [accessed 24/03/2015].  Anon. [undated] Adafruit FONA - Mini Cellular GSM Breakout uFL Version - v1 [available at: http://www.adafruit.com/product/1946] [accessed 28/04/2015].  Anon.

[undated]

Arduino

Mega

[available

at:

https://www.arduino.cc/en/Main/arduinoBoardMega] [accessed 20/03/2015].  Anon.

[2013]

Fingerprint

Scanner

-

TTL

(GT-511C3)

[available

at:

https://www.sparkfun.com/products/11792] [accessed 25/04/2015].  Anon. [undated] Lithium Ion Polymer Battery - 3.7v 1200mAh [available at: http://www.adafruit.com/products/258] [accessed 02/05/2015].  Anon.

[undated]

LM393+SW18015

Vibration

Sensor

Module

[available

http://www.electrodragon.com/product/vibration-sensor-sw-18010p/]

at:

[accessed

14/05/2015].  Anon.

[undated]

Lock-style

Solenoid

-

12VDC

[available

at:

https://www.adafruit.com/products/1512] [accessed 18/05/2015].  Anon. [undated] Matrix Keypad 4x4, Membrane type, Self Adhesive [available at: http://www.sunrom.com/p/matrix-keypad-4x4-membrane-type-self-adhesive] [accessed 02/04/2025].  Anon.

[undated]

Piezo

Speaker

[available

at:

https://www.sparkfun.com/products/7950] [accessed 08/04/2015].  Anon.

[undated]

SparkFun

Real

Time

Clock

Module

[available

at:

https://www.sparkfun.com/products/12708] [accessed 11/04/2015].

87

 Anon. [undated] Step 2: Interfacing the relay modules to the Arduino [available at: http://www.hobbyist.co.nz/?q=interfacing-relay-modules-to-arduino]

[accessed

14/04/2015].  Anon. [undated] Tutorial 03: Arduino IDE and Sketch Overview [available at: https://opensourcehardwaregroup.com/tutorial-3-arduino-ide-and-sketch-overview/] [accessed 25/05/2014].  Aruna Mane, D. and Sirkazi, M. (2013) LOCKER SECURITY SYSTEM USING RFID AND GSM TECHNOLOGY. Vol. 6, No. 2 International Journal of Advances in Engineering

and

Technology.

[available

at:

http://connection.ebscohost.com/c/articles/87424818/locker-security-system-usingrfid-gsm-technology] [viewed on 8/3/2015].  Davide, M., Dario, M., Anil, K. and Salil, P. (2009) Handbook of Fingerprint Recognition. 2nd ed. London: Springer-Verlag. pp.98 - 100, P978-1-84882-253-5.  James Stephen, M. and Prasad, R. (2011) Implementation of Easy Fingerprint Image Authentication with Traditional Euclidean and Singular Value Decomposition Algorithms. Vol. 3, No. 2, pp. 4-5, Visakhapatnam: ICSRS Publication. [available at: http://home.ijasca.com/data/documents/vol.3.2.5.July.11_Implementation-of-EasyFingerprint-Image.pdf] [viewed on 5/3/2015].  Malpartida, F. [undated] LCD Displays (Blue and Yellow) with I2C/TWI Interface [available

at:

https://arduino-info.wikispaces.com/LCD-Blue-I2C]

[accessed

28/03/2015].  Pavithra, B., Myna, B. and Kavyashree, M. (2014) FINGERPRINT BASED BANK LOCKER SYSTEM USING MICROCONTROLLER. India: Proceedings of IRF International Conference. pp. 155-159, 978-93-82702-71-9.  Raghuram, G. and Subhramanyasarma , G. (2013) LOCKER OPENING AND CLOSING SYSTEM USING RFID, FINGERPRINT, PASSWORD AND GSM. Vol. 2, No. 2, pp. 142-144, International Journal of Emerging Trends And Technology in computer science. [available at: http://www.ijettcs.org/Volume2Issue2/IJETTCS-201304-03-060.pdf] [viewed on 12/3/2015].  Ramani, R., Selvaraju, S., Valarmathy, S. and Niranjan, P. (2012) Bank Locker Security System based on RFID and GSM Technology. Vol. 57, No. 18, pp. 15-19,

88

International

Journal

of

Computer

Applications.

http://research.ijcaonline.org/volume57/number18/pxc3883761.pdf]

[available [viewed

at: on

10/3/2015].  Rraguse, R. (2012) Part 1 Of 2: Mini Enterprise And Rapid Application Development. [available at: https://myriadmobile.com/2012/02/part-1-of-2-mini-enterprise-and-rapidapplication-development/] [accessed 14/3/2015].  Wen, L. and Srik, G. (2011) Dealing with the minutiae of fingerprint analysis, pp. 1-3. [available

at:

http://www.embedded.com/design/safety-and-

security/4214748/3/Dealing-with-the-minutiae-of-fingerprint-analysis]

[accessed

15/03/2015].

89

9.0 APPENDICES 9.1 Type of measurements Minutiae are the special features of a fingerprint which have been predefined and categorized. Figure 100 shows two main features of minutiae, which are mostly extracted from the fingerprint:

 1 and 2 are ridge endings  3 is bifurcation Fig. 100 features. davide et al (2009, p.98) These features are used as measurements for the fingerprint recognition. The minutiae are not restricted to these two features, it may concern following features besides:

Fig. 101 Minutiae features. Yongchang and Kentucky (2008, p.13)

90

Core and delta are also used for classification or as landmarks for feature extraction.  Core is a center of the pattern.  Delta is a spot where three patterns deviate.  Fingerprint pattern loop begins and finishes at the same side that resembles the opening side.  Whorl is an uneven circular with the ridge Fig. 102 Landmarks (Davide et al (2009, p.100) lines spreading all over. 9.1.1 Measuring process In order to get the minutiae successful from the fingerprint, the fingerprint images must be preprocessed which usually performs using an image processing algorithms. The image processing steps are: 1. Segmentation and filtering (normalizing and enhancing the input image using histograms): To extract exact fingerprint area from the image taken, separate valid fingerprint from the image background and enhancement. Filtering can be applied to the image to get rid of noise in the fingerprint image.

2. Contrast enhancement: The image is entitled to gray stretch to increase the global contrast of the image and get rid of attenuate the contrast. Orientation calculation: About mapping out the orientation of a fingerprint’s ridges for getting the valid minutiae and to figure out the directions. 3. Gabor filtering: The certain place of the fingerprint image has been enhanced and undesired noise has been removed. This derives to a robust image for reliable minutiae feature extracting. 4. Binarization: To adopt the gray-level image to binary level, which are “1” or “0”s. Once it’s done, the ridges and valleys are in black and white. 5. Thinning: To reject the noise and singular pixels. 6. Creation of skeleton map: It is created from the enhanced binary image to find all exact lines of the ridges, valley, core, delta and bifurcation.

91

7. Feature extraction: At this stage, minutiae features such as ridge ending and bifurcations can be extracted from the final image. Figure 4 shows the fingerprint image for each processing step during the entire digital image processing flow. Wen and Srik (2011, pp.2-3)

Fig. 103 Image-processing steps. Wen and Srik (2011, p.3) 9.1.2 The fingerprint system architecture:

Fig. 104 system architecture. Wen and Srik (2011, p.1) Figure 104 illustrates a typical fingerprint authentication processing flow. Enrollment is where the system studies about all the users it will have to recognize each time. During enrollment, each user's fingerprint is scanned, analyzed and then minutiae will be extracted in a coded form or as a template on a secure database to be utilized for future comparison. Mostly, less than a half second takes to store a user’s fingerprint in a database. The system is ready to use once enrollment is accomplished. The stage verification is where any user who wants to gain access has to place their finger on a scanner with an ID number. The scanner proceeds their fingerprint, checks it against the print for the given ID number that is stored in a database (known as 1 to 1 comparison). Then, decides whether the user is gaining access or not. Wen and Srik (2011, p.1).

92

9.2 Components features, specifications and schematic diagram 9.2.1 Specifications of Arduino mega 2560 r3 board Table 17 Specifications of Arduino mega 2560 Specifications of Arduino Mega 2560 R3 board Microcontroller

ATmega2560

Operating Voltage

5V

Input Voltage (recommended)

7-12V

Input Voltage (limits)

6-20V

Digital I/O Pins

54 (of which 15 provide PWM output)

Analog Input Pins

16

DC Current per I/O Pin

40 mA

DC Current for 3.3V Pin

50 mA

Flash Memory

256 KB of which 8 KB used by boot loader

SRAM

8 KB

EEPROM

4 KB

Clock Speed

16 MHz

9.2.2 Keyapd 4x4 Key Specifications of keypad are:  Maximum Rating: 24 VDC, 30 mA  Interface: 8-pin access to 4x4 matrix  Operating temperature: 32 to 122 °F (0 to 50°C)  Dimensions: Keypad, 2.7 x 3.0 in (6.9 x 7.6 cm)  Mount Style: Self-Adherence  Operation Temperature: -20 to +40 °C

93

Schematic diagram of keypad is illustrated in the figure 105.

Fig. 105 Schematic diagram of keypad 9.2.3 Piezo buzzer Features of Piece Piezo buzzer are:  The PS series are high-performance buzzers that employ unimorph piezoelectric elements and are designed for easy incorporation into various circuits.  It extremely use low power consumption in comparison to electromagnetic units.  These buzzers are designed for external excitation, the same part can serve as both a musical tone oscillator and a buzzer.  They can be used with automated inserters. Specifications of Piezo buzzer are:  Diameter : 30 ±0.5mm  Height

: 20

±0.5mm

 Weight : 7.5g  Rated Voltage: 12v DC  Operating Voltage: 3v-24v  Rated Current (Max): ≤30mA  Min Sound Output at 10cm: 87-95db  Resonant Frequency: 3000±500HZ  Operating Temperature: -20°C to 50°C

94

Schematic diagram of buzzer is illustrated in the figure 106.

Fig. 106 Schematic diagram of buzzer 9.2.4 RTC Module Features of Real Time Clock module are:  56-Byte, Battery-Backed, General-Purpose RAM with Unlimited Writes  I2C Serial Interface  24C32 32K I2C EEPROM Memory  Programmable Square-Wave Output Signal  Automatic Power-Fail Detect and Switch Circuitry  Consumes Less than 500nA in Battery-Backup  Mode with Oscillator Running  Optional Industrial Temperature Range: -40°C to +85°C  Underwriters Laboratories (UL) Recognized

Specifications of Real Time Clock module are:  Length: 24.21mm/0.95in  Width: 30.44mm/1.2in  Height: 5mm/0.2in  Weight: 4g/0.14oz  Mounting holes are 3.3mm(0.13in) diameter, 30mm(1.1in) apart  This board/chip uses I2C 7-bit address 0x68

95

Schematic diagram of RTC module is illustrated in the figure 107.

Fig. 107 Schematic diagram of RTC module 9.2.5 YWrobot relay Specifications of YWrobot relay are:  Size: 53mm*28.3mm*19.3mm  Net weight: 18g  With 4 fixed screw holes, convenient installation and fixation. Schematic diagram of relay is illustrated in the figure 108.

Fig. 108 Schematic diagram of relay

96

9.2.6 Fona GSM module Features of Fona GSM module are:  Make and receive calls using a headset.  Send and receive messages.  Send and receive GPRS data includes TCP/IP, HTTP and etc.  Scan and receive FM radio broadcasts.  Auto baud detection interface with AT command.  Vibration motor can provide noiseless notifications.  Indicator LEDs for public network connectivity and power. Schematic diagram of Fona GSM is illustrated in the figure 109.

Fig. 109 Schematic diagram of Fona GSM

97

9.2.7 PIR sensor Key Specifications of PIR sensor are:  Power requirements: 3.3 to 5 VDC  Communication: single bit high/low output  Dimensions: 1.27 x 0.96 x 1.0 in (32.2 x 24.3 x 25.4 mm)  Operating temp range: +32 to +121 °F (0 to +50 °C Schematic diagram of PIR is illustrated in the figure 110

Fig. 110 Schematic diagram of PIR 9.2.8 Vibration sensor Specifications of vibration sensor are:  Working voltage: 3.3V~5V  Output type: Digital switching output (0 and 1)  Uses SW-420 closed vibration sensor module  Dimensions: 5.1 cm x 1.4 cm x 0.5 cm Schematic diagram of vibration sensor is illustrated in the figure 111.

Fig. 111 Schematic diagram of vibration sensor

98

9.2.9 Solenoid Specifications of Solenoid are:  12VDC but can use 9-12 DC which lead results in slower operation.  Dimensions: 23.57mm / 0.92" x 67.47mm / 2.65" x 27.59mm / 11.08"  Designed for 1-10 seconds long activation time  Weight: 147.71g Schematic diagram of Solenoid is illustrated in the figure 112.

Fig. 112 Schematic diagram of Solenoid

9.3 Flow chart diagram dictionary Table 18 Flow chart dictionary Symbol

Description A terminal which tells where the flow chart begins and ends. A process is used to represent function performed by a system. A data store or database which is an inventory of face images data. It’s a decision which represent a question. The answer to the question determine the flow should go through. A data flow which represents input or output of a process. Complete

99

9.4 Bank locker system code implementation Table 19 Bank locker system complete coding #include #include #include #include #include #include #include #include #include #include #include #include #include #include "FPS_GT511C3.h" #include "SoftwareSerial.h" #include #include #include #include "Adafruit_FONA.h" #define PIN_RELAY 32 #define PIN_BUZZER 13 #define PIN_POWER 35 #define PIN_PIR

33

#define PIN_VIB

41

#define PIN_GSM_ON 9 #define VIB_HR

9

const byte ROWS = 4; //four rows const byte COLS = 4; //four columns

char hexaKeys[ROWS][COLS] = { {'1','2','3','A'}, {'4','5','6','B'}, {'7','8','9','C'},

100

{'S','0','E','D'} }; byte rowPins[ROWS] = {30, 28, 26, 24}; //connect to the row pinouts of the keypad byte colPins[COLS] = {25, 27, 29, 31}; //connect to the column pinouts of the keypad Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);

SMSGSM sms; SoftwareSerial mySerial(4, 5);

RTC_DS1307 RTC; LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

FPS_GT511C3 fps(11, 12);

int hr_24, hr_12; String hr_Status="";

String str_Password=""; String str_AdminPW="5647"; String str_acno="";

int menu_status=0; int admin_status=0; int acc_no=0; int pir_val=0; int vib_val=0;

int buttonState = 0;

int randNumber; String str_tmprndpw=""; String str_rndpw="";

unsigned long start, finished, elapsed;

101

//char smsbuffer[160]; //char n[20];

#define FONA_RX 2 #define FONA_TX 10 #define FONA_RST 4

SoftwareSerial fonaSS = SoftwareSerial(FONA_TX, FONA_RX); Adafruit_FONA fona = Adafruit_FONA(FONA_RST); char sendto[21]="+94777211092", message[141]="Anis";

void setup() { pinMode(PIN_RELAY, OUTPUT); pinMode(PIN_BUZZER, OUTPUT); pinMode(PIN_POWER, INPUT); pinMode(PIN_GSM_ON, OUTPUT); pinMode(PIN_PIR, INPUT);

Serial.begin(9600); lcd.begin(20,4); Wire.begin(); mySerial.begin(9600);

RTC.begin(); RTC.adjust(DateTime(__DATE__, __TIME__));

fps.UseSerialDebug = false; // messages in the serial debug screen fps.Open(); //fps.SetLED(true); // turn on the LED inside the fps

lcd.setCursor(0,0); lcd.print(" Bank Locker "); lcd.setCursor(0,1); lcd.print("

System

");

delay(2000);

102

lcd.setCursor(0,0); lcd.print(" Developed By "); lcd.setCursor(0,1); lcd.print(" Sutharshan S"); delay(2000); lcd.clear();

digitalWrite(PIN_GSM_ON, HIGH);

beep(200); menu_status=0; admin_status=0;

digitalWrite(PIN_RELAY,HIGH);

fonaSS.begin(4800); // if you're using software serial //Serial1.begin(4800); // if you're using hardware serial

if (! fona.begin(fonaSS)) // can also try fona.begin(Serial1) { Serial.println(F("Couldn't find FONA")); while (1); } Serial.println(F("FONA is OK"));

char sendto[21]="+94777211092", message[141]="Welcome to Bank Locker System"; if (!fona.sendSMS(sendto, message)) { Serial.println(F("Failed")); } else { Serial.println(F("Sent!")); }

delay(3000); }

103

void loop() { buttonState = digitalRead(PIN_POWER);

if(buttonState==HIGH) { fps.SetLED(true); } else { fps.SetLED(false); }

//Date and Time DateTime now = RTC.now();

if(menu_status==0) { hr_24=now.hour(); if (hr_24==0) { hr_12=12; } else { hr_12=hr_24%12; }

if (hr_24=VIB_HR) { Serial.print("Vibration Detected");

lcd.clear(); lcd.setCursor(0,0); lcd.print("Vibration Detected"); lcd.setCursor(0,1); lcd.print("Be Alert"); beep(300); delay(2000); menu_status=4; }

}

lcd.setCursor(0,0); lcd.print("Date: " + v_date); lcd.setCursor(0,1); lcd.print("Time: " + v_time); //lcd.setCursor(14,1);

105

//lcd.print(hr_Status);

if (fps.IsPressFinger()) { fps.CaptureFinger(false); int id = fps.Identify1_N(); if (id 22)

107

{ beep(200); } }

if(menu_status==4) { for(int x=1;x
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF