Problems at the entrance

People who use doors for the entrances face different types of problems when entering. The security level, accuracy and efficiency of the current lock system at the entrance are some major causes for the user problems. Therefore by this project we are developing a smart door lock including the following main features.

  • Face Recognition
  • Finger Print detection
  • RFID card reader
  • -In addition to them following features will be included in the smart door lock.

    - Unlock record of the current user at the door

    - Information display of the current user

    - Allowing only one person to enter at a time

    - Web Application to control access

    - Access at night only for specified persons

    Solution Architecture

    user data can be taken from the Finger print sensor, RFID card module and camera module.Those data can be compared with the data stored in the firebase realtime database. Hardware components communicate with the firebase database using get and post requests of HTTP protocol. Realtime database is connected with the web application and read and write data from it. Firebase Hosting services are used for cloud deployment of the web site.


    Product Overview


    Acoording to the diagram camera is placed in the height of an average person for the handiness of the door lock. IR sensors are kept at a corner of the door to captue the object(person) efectively. Other two modules, Fingerprint sensor and RFID reader are placed near the lcd display . So that while enterring the credintails use can read the lcd display information easily.

    Hardware design


    1 / 3
    Circuit Daiagram
    2 / 3
    Full Pcb Design
    3 / 3

    Main Hardware components

        3D Model of the product

    1 / 6 --Try different views by clicking below
    2 / 6 --Try different views by clicking below
    3 / 6 --Try different views by clicking below
    4 / 6 --Try different views by clicking below
    5 / 6 --Try different views by clicking below
    6 / 6 --Try different views by clicking below

    The Woods
    Cinque Terre
    Mountains and fjords
    Northern Lights
    Nature and sunrise
    Snowy Mountains

    Software Implementation

    Web Application

    Web appliaction is designed to control access to the system. In our web application there are three types of administrator roles.They are,

    - To monitor database

    - To add/update/delete personal data through web application

    - To view all door users' access history, admin sign in history to the web site and notifications about unauthorized access

    Speciality of this roles is that, each of these administrators able to handle only the given role. It makes the web application more secure. Moreover, Only these persons can login to the web applcation. For the authentication purpose we have added 2 factor authentication.

    - By using email and password

    - Send OTP to predeteremined mobile phone number.



    FrontEnd technology

    ReactJs has been used for the implementation of the web application.


    Why ReactJs ?

  • Create components
  • virtual DOM and server side rendering


  • BackEnd technology and cloud deployment

    Firebase realtime database, which is a NOSQL database has been used as the database.


    Why Firebase ?


    Reliability

    Reliable data tranfer in firebase allow to frequent state syncing and low latency in data transfer

  • Realtime data transfer is important as hardware components needs data from firebase to allow the access. Also in an entering, it helps to monitor the door access records through web application in real time

  • Scalability

    Due to the high performance and scalability of firebase, when there is any data change, Firebase helps in the calculation of the minimum set of updates needed to keep all the clients synchronized.

  • Data can be synchronized in real time eventhough there are multiple doors.
  • Multiple users can use the web Application (concurrent connections )

  • Authentication

    With the use of Firebase auth services,two factor authentication has been used for the web application.

  • firebase Email and password authentication
  • firebase phone authentication

    UI designs Visit our web application

    UI designs

    Software Testing

    Firebase Security Rules

    The Firebase Local Emulator Suite consists of individual service emulators built to accurately mimic the behavior of Firebase services.It enables app to directly connect to these emulators to perform integration testing.Through this we checked whom can access to the data as we set security rules to deny permission for unauthorized access.


    Check UsedID validity

    Always the IDs stored in the database are compared with the ID which is taken by the hardware. So it is important confirm that that process is correctly processing if not the unlocking records will be inacurrate.




    Data encryption and Decryption function testing

    In the database, userID of each employee and the security status of a Admin is considered as most sensitive data stored in the database as userID is directly connected with hardware components which gives the access to the doors and admin privilages are depend on the security status of a admin. So these data is stored in the database after encryption. We have implemented AES encryption decryption functions. All the hardware configurations are planned to do in python language and Reactjs is used for implementation of web Application.So tests are done to verify that both python and JavaScript functions give the same result in encryption and decryption process.



    Test 5 - Time taken for encryption and decryption

    Data encryption and decryption may cause the delays in the reliable data transfer to the frontend and hardware components. So we have checked the time taken for that. Actualy it takes few microseconds. So the effect of delay can be negligible. Following values may slightly change according to the data we use

    - for encyption = 0:00:00.000782

    - for decryption = 0:00:00.000019


  • Click here to know more details about software testing >>>>


  • Hardware Testing Plan

    01. Check each unit separately


    Fingerprint sensor


     - Ability to scan a fingerprint
     - Validate the fingerprint accuracy
     - Test after updating new fingerprints
     - Test with valid user when,

         Finger is dipped with water
         Finger is dipped with any color
         Sketch mark is on finger
         Finger is covered with transparent gloves
         Different angle of the finger is used


    Rfid card reader


    - Test the environment in which the tag is being read (need to check whether this is being too vulnerable to environment factors)
    - Test different orientations of the tag


    Face recognition


    - Test the three important stages of face recognition process

      I. Face detection

       Using different lighting conditions
       Using different times of day

      II. Face capture

      III. Face match

       Using different lighting conditions
       Using different times of day
       Using different moods and emotional states


     IR sensors


     - How the sensors can be detected (Can use a small circuit of led blinking)
     - Test if two people get detected and check that message goes to buzzer


    02. Check whole combined unit


     - After updating new user details check how the entire system works
     - Power Supply
     - Check the connectivity of whole system ( Using blinking an led or oscilloscope and logic probes)


    Performance Testing


    A.  Test the performance of each unit and whole system for allowing a valid user

       the time taken by the each unit and whole system to allow the

    B.  Test the performance of each unit and whole system for not allowing an invalid user

        the time taken by the each unit and whole system to identify an invalid user

    C.  Test the time of the entry of the user is recorded to the system after been authorized

    Notebook

    How to use our product

    As we mentioned in the introduction there are several reasons to prove that tradition door lock systems at the entrance are inefficient. But in this product we have overcome all those problems and give a quick access to the door user while providnig important addtional services such as take access records and giving realtime update about the access using a lcd display

       Register Users

    In order to register an user, administrator should fill the form provided in the website with uniquely provided userid. Here, the corresponding userid is registered for one specific person.

       Access Given

    First contact the RFID card/tag to the RFID reader. Then place the finger on the fingerprint sensor and look at the camera to capture a photo of the user. Then the access will be granted if all there steps are correctly passed by that person. LCD display will display the information whether access has been given or not. All the accesses will be recorded on the website.

       Identify Unauthorized Aceess

    If any unauthorized access is detected i.e. using an unregistered card/tag or trying to access more than one person into the room using one card/tag, access will not be granted and the buzzer will make a loud sound. LCD display will display the information whether access has been given or not. These accesses will be recorded on the website.


    Demostration of user experience of admin who can view history of the access to the door and the web site


     Click here to get the user manual >>>>