Skip to content

atom-robotics-lab/labserver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues LinkedIn


Logo

Lab Attendance Server

This is the repo for the Lab Attendance Server Project, Lab Attendance Server is autonomous IOT project made by A.T.O.M Robotics capable of doing multiple things like recording attendace through a tap of RFID card, managing the lights in the room and person detection.
Demo video »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. Contact
  7. Acknowledgments

About The Project

This is the repo for the Lab Attendance Server Project, Lab Attendance Server is autonomous IOT project made by A.T.O.M Robotics capable of doing multiple things like recording attendace through a tap of RFID card, managing the lights in the room and person detection.

(back to top)

Built With

  • Docker
  • OpenCV
  • Flask
  • Espressif
  • Arduino
  • Ubuntu
  • Python

(back to top)

Getting Started


This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

  • Docker

    • First, update your existing list of packages:
      sudo apt update
    • Next, install a few prerequisite packages which let apt use packages over HTTPS:
      sudo apt install apt-transport-https ca-certificates curl software-properties-common
    • Then add the GPG key for the official Docker repository to your system:
      curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    • Add the Docker repository to APT sources:
      echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    • Update your existing list of packages again for the addition to be recognized:
      sudo apt update
    • Make sure you are about to install from the Docker repo instead of the default Ubuntu repo:
      apt-cache policy docker-ce
    • Finally, install Docker:
      sudo apt install docker-ce
    • If you want to use docker without using sudo everytime, follow the following steps:
      sudo usermod -aG docker ${USER}
      Now logout and write the following command after logging in:
      su - ${USER}
  • Opencv

    sudo apt install libopencv-dev python3-opencv

Installation


  1. Clone the repo inside your Workspace

    git clone [email protected]:atom-robotics-lab/labserver.git
  2. Run the custom bash script

    ./up.sh
  3. Here up.sh run the following things:

    • Firstly it run the espcode which is used to connect the esp to rfid over wifi and send to the database to mongodb
    • Then it launches a GUI which enables the admin to issue a card, delete a card or check records of the issued cards
    • Finally it launches the Flask server which enables the admin to access information like name, usual time of entrance etc. through a webpage

(back to top)

Usage

Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.

  • The espcode dir contains all the code which helps in the connection of esp and rfid.
  • The app dir contains all the GUI.
  • The mongoapp dir contains all the files for running the Flask server.



In order to run the simulation you are required to do the following:

  • For running the app.

    • Switch to the app directory of the repository.

      cd /app
    • Make a virtual environment and activate the venv

      python3 virtualenv venv
    • Launch the python file.

      python3 app.py

      NOTE: Make sure that you have installed the python dependencies before running the application file.

    • Installing the dependencies (if not done)

      pip install -r requirements.txt --no-cache-dir
      ```<br /> <br />
      

    Voila! The GUI will start and you can issue the cards now.

  • For running Flask Server.

    • Switch to the mongoapp directory.
      python3 __init__.py

(back to top)

Benefits

  • Scalability: Docker allows you to easily scale your RFID based attendance system by creating multiple containers of the application. This ensures that you can handle any increase in the number of employees or locations where attendance is being recorded.

  • Portability: Since containers are self-contained, you can easily move your RFID based attendance system from one environment to another. This means that you can run the same application in a development, testing, or production environment with the same configuration.

  • Security: Docker provides isolation between containers, ensuring that each container has its own resources and cannot access resources of other containers. This enhances security by reducing the risk of data breaches or unauthorized access.

  • Efficiency: Docker containers are lightweight, which means that they require fewer resources than traditional virtual machines. This results in faster startup times and better performance for your RFID based attendance system.

  • Ease of deployment: With Docker, you can deploy your RFID based attendance system with ease using a single command. This reduces the time and effort required to deploy the application, making it more efficient.