In the course of Software for Embedded Systems, we chose to implement Attendance Management System using embedded devices like RFID Reader, GSM Module and Raspberry Pi as our development board.
Even before entering into BITS Pilani, I had wished to work with Raspberry Pi. It always intrigued me on how to work with these embedded devices. Didn't get enough encouragement while in the job to carry out experiments of my own.
Coming back to the project, the components used for developing the systems are as follows :
Few of the hurdles encountered in the project were :
Even before entering into BITS Pilani, I had wished to work with Raspberry Pi. It always intrigued me on how to work with these embedded devices. Didn't get enough encouragement while in the job to carry out experiments of my own.
Coming back to the project, the components used for developing the systems are as follows :
- Hardware
- Raspberry Pi
- GSM Module
- RFID Reader
- LED Screen
- Software
- Django Web Framework
- MySQL Database (in production)
- SQLite Database (in development)
- Bootstrap 3 Frontend Framework
The happy path of the system was as below :
- Each student is given a RFID card
- Student exists in our software along with the mapping of RFID card number with the student ID
- Student taps the card in each class to mark his presence in the class
- System reads the unique number from the card, sends it across the network to the Web server running in the network
- System identifies the student from the card number. System identifies the course to mark attendance for using i) Room number ii) Current semester iii) Time of the request
- The attendance is marked for the student for the identified course.
Certain assumptions made to facilitate the functioning of the system are :
- System is fed with the latest timetable of the college / institute
- Student has been registered with the system with a valid RFID card
Few of the hurdles encountered in the project were :
- After interfacing RFID card reader with Raspberry Pi, reading the unique card number was producing a trimmed / corrupted numbers, which was later resolved by clearing input/output buffers after each read.
- Deploying the Django web app on raspberry pi was causing performance issues with the raspberry pi. Deploying the web server on a separate machine on the same network as raspbery pi did the trick.
There were some concerns in the beginning about the preferred programming language, my preference was python, because of love towards Django web framework. But the instructor of the course was familiar with Java, so I proposed the Play Framework. We started following the basic tutorials of Play framework but due to lack of documentation we lost interest in pursuing the Play framework.
The teammates with whom I worked were, Ravi Shekhda and Chirag Patel from Embedded Systems branch, Pooja Ruhal, Digvijay Singh and Naveen Jaiswal from Software Systems branch.
Source code for the web application is available on BitBucket, repository will be public once the project is complete.
The teammates with whom I worked were, Ravi Shekhda and Chirag Patel from Embedded Systems branch, Pooja Ruhal, Digvijay Singh and Naveen Jaiswal from Software Systems branch.
Source code for the web application is available on BitBucket, repository will be public once the project is complete.
Hey, it’s really great to read out. The attendance management has become so easy. This is an easy method of keeping track of the students and their presence in the class according to their identified course. Thanks for sharing an informative post with us. I love to read out your post.
ReplyDelete