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
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.
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.
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:
Now logout and write the following command after logging in:
sudo usermod -aG docker ${USER}
su - ${USER}
- First, update your existing list of packages:
-
Opencv
sudo apt install libopencv-dev python3-opencv
-
Clone the repo inside your
Workspace
git clone [email protected]:atom-robotics-lab/labserver.git
-
Run the custom bash script
./up.sh
-
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
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
- Switch to the mongoapp directory.
-
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.