Virtual Voice Assistants have come a long way from executing simple tasks and answering basic questions asked by the users. With the addition to the growth and integration of voice recognition, natural learning training algorithms, their domains of usage and the extent of automation have increased. They are being increasingly used in conjunction with devices boasting of wireless connection capabilities. Their cognitive capabilities are on the rise due to which they are capable of executing more complex requests posed by the users to them. Some of the more popular ones in the market are:
Alexa, from Amazon
Cortana, from Microsoft
Siri, from Apple
Google Assistant, from Google.
Alexa performs the tasks given to it, with the help of its skill set, which consists of a set of skills to react upon every task submitted to it. Each skill has its own invocation phrase, which is used by Alexa, to map the task to that particular skill. The skill goes on to execute the task based on its sample utterances, by reaching the endpoint on a server, which can be hosted on Amazon Web Services (AWS) Lambda, or on a local server in your network. This project exploits this particular aspect of Alexa, by creating a skill, which when activated, accesses a file-based database of an attendance record housed on a local server, which is hosted on a Raspberry Pi. The accessing is done through a tunneling service (ngrok, in this scenario). Ngrok helps by creating a secure tunnel and providing an URL of the local server to the Alexa skill, in order to continue updating the database.
The project achieves the objective as follows:
The teacher powers up the Echo Dot, followed by the initiating command, which will establish the connection to the server hosted on the Raspberry Pi.
Once, the connection is initiated, each student is required to speak out his unique identification number (USN) to the device, in order to authenticate his/her presence.
This continues until the last student updates his/her attendance.
The command of each student is translated and the necessary sequence of data is streamed to the server hosted via the established tunnel.
The working of the project can be broken down into the following modules:
A. Alexa One of the major modules of this project, Alexa is housed on the Amazon Echo Dot, which is a voice assistant for Amazon. This module brings about the automation and digitalization of the data given to it through voice commands. It processes the voice commands given to the device. The first command will be the initiating command by the teacher to establish a connection to the server to start the process of the attendance. Further commands will transmit the unique identification number (USN) to the server.
B. Ngrok This module is used to establish the secure tunnel between the Raspberry Pi and the Echo Dot for communication. This app is run from the Raspberry Pi and will provide the URL of the local server. This URL will be provided to Alexa, which uses this as it’s endpoint to transmit the data to the server present at the specified URL.
C. Raspberry Pi Raspberry Pi is a very versatile System-on-Chip which boasts of very portability and usage. It is a board which, when plugged with peripherals becomes a full-fledged computer with Wi-Fi and Bluetooth capabilities. For this project, the Raspberry Pi hosts the server and also establishes the tunnel with the help of ngrok. It runs on Raspbian OS, which is a flavor of Linux Debian stretch. The Raspberry Pi also stored the database in the form of a file, which will be accessed through python and sqlite.
D. Sqlite3 and Attendance Database Sqlite3 is a database management system, which is used to handle file-based database systems. It has a terminal through which the databases and its necessary tables can be accessed and modified. Also, it has a graphical user interface application called as sqlitebrowser. The attendance record is stored in the form of a database, with columns, including, USN, name, date of the class conducted, the total number of classes, attended classes, and percentage of attendance.
E. Python Python is a coding language which has been on the rise in terms of popularity due to its ease of coding the wide variety of functions tailored to suit all the needs of the users. We use python to create the program, which integrates the database management and the Alexa based output from the echo dot into a single source code. The code receives the USN from the tunnel, which will be compared with all the entries in the field of USN. If there exists such a USN, their attendance for that day, whose column will be automatically created, will be updated, with the same changes being done to percentage and number of classes attended.
Due to the rapid technical growth, our lives are made simpler and easier. Most of the people in this world are lazy and wants an assistant but, the problem is they can’t afford them This brings us to our idea of using Amazon Alexa which was used to play music and book tickets etc., in a completely different domain to monitor attendance in an interactive way. The corresponding way will reduce teacher energy and also the accuracy with which the attendance was taken. In the generation where Artificial intelligence is growing rapidly the corresponding system assistant is used to make the world almost digitalized.
The Alexa integrated voice-based attendance system has got very good sharpness in the detection of the corresponding person when his or her name or USN is announced. Its working has been considerably efficient with efficiency almost > 80%. Faulty attendance entries can be eliminated by teachers if required. Also, proxy entries given by students can be mitigated, as each student is required to get up and speak out only one unique identification number.