Monday, November 8, 2021

Smart Time Table

1. Problem Definition

Still in most of the government schools in Sri Lanka, the attendance of teachers is marked manually. Usually, in almost-every day, some of them may be absent. So, some other teachers need to be assigned for those periods covered by absent teachers. In most of the schools this is done manually, and it takes a considerable and variable amount of time in each day upon the number of absent teachers. When the updated timetable is prepared, class monitors may have go to the office and check whether there is any such period and inform the respective teachers or there’s a dedicated person in some schools who passes the message for those teachers. 

This method has a lot of problems, and we also have experienced them. 

• In most of the times, class monitor has to inform the respective teacher. For that, first he needs to find where the teacher is, and normally this is done when the corresponding period starts. So, he may have to spend time from the period just for informing the teacher; which is a waste of time of all the students in that class. 

• If a teacher who has a class in the very first period got absent, there is a big problem. Because  assigning teachers may not have been completed by the time the period starts when it is done manually.  Also, some extra time will also be wasted until the message reaches the respective teachers.

2. Objectives of the Project 


• Identifying absent teachers quickly and soon after assigning the available teachers for the periods which should be covered by those teachers who are absent, using an autonomous system. 
• Notifying the respective teachers that they have been assigned to some classes as soon as the system determines the updated timetable. 
• Notifying the respective classes about the updated timetable. 
 
With these, our main objective is to save the valuable time of students as well as teachers by improving the efficiency of inter-personal communication with the aid of IOT. 
 

3. Solution

The following facts collectively describe our complete solution. But as the first stage, we are specially addressing how to deliver the updated timetable for respective  teachers and classes quickly using an IOT based system. Our solution is as follows. 

• Introducing an automated attendance marking system based on fingerprints.
• Designing an algorithm that assigns teachers for the periods of absent teachers automatically within a very small amount of time compared with manual procedure. 
• An IOT based system which automatically sends the message to respective teachers as soon as the above step is completed. 
• An IOT based system that sends the updated time slots with the names of the assigned teachers for the respective classes. 

The following figure shows a functional block diagram of our solution.

First, we get a digital copy of the attendance of teachers and it will be sent to a raspberry pi. Those data will be fed into a computer program which identifies the absent teachers quickly and assigning some other teachers to those periods automatically. Once this is completed, we have the updated timetable for whole school. The program takes a very small time to prepare the updated timetable, compared to manual method. Then by the server LoRa node, which is connected to Raspberry Pi, gets the updated timetables of classes one by one and transmit it to corresponding classroom. By the time the receiver LoRa node at each classroom is turned ON and they are waiting for data. One such transmission takes not more than 10 seconds. So, our system is capable of updating all the devices in the school within few minutes. So, class monitors no longer required to pass the message to teachers, and teachers do not have to wait until they received the message via a class monitor or some other person. Using the MQTT broker, we send the updated timetable data to the node red flow. Then using Twilio Messaging Service, we send the updated timetable to corresponding teachers as an SMS. 
 

4. Hardware Design

 

4.1 Introduction 

We use the client-server architecture here. The server device is located at the main office in the school while the client devices are to be installed at classrooms.When we design such a system we have to consider several factors. In our case, we considered the followings in the hardware design phase.

1. The device at classrooms should be able to drive using batteries, therefore, it should be a low power device. Hence, we need to select technologies and components precisely. Also, there should be a mechanism to automatically turn OFF the client devices when its purpose has been served. 

2.  The communication technology should have the features; a high range, and consumes less amount of power.

3. The server node should have a controller with relatively high computational power and a relatively high memory since it has to run the computer program to assign teachers and send the updated timetable to each and every class.

4.2 Communication Technology 

To establish data communication between server and client devices, we need a communication technology. In this particular application, we need a high range, and low power solution. The mostly used IOT communication technologies with above properties are ZigBee, NB-IOT and LoRa. We have chosen Lora due to several pros such as, long range (can be connected devices up to 10 miles), low power consumption, it uses license free sub gigahertz radio frequency bands (433MHz, 868MHz), availability of data encryption methods, bidirectional communication, ease of use, and finally, availability in the local market. So, we used LoRa module (SX1278) with an antenna to establish data communication between server and client devices.

4.3 Microcontroller Selection

As mentioned above, the server device should have a considerably higher computational power and a memory. Therefore, microcontrollers like Arduino may not be sufficient. Hence, we decided to use a Raspberry Pi. For client devices we do not need a high computational power. Also, it should be low power as well. Therefore, we decided to use an Atmega328P microcontroller for client devices.

4.4 Client Devices PCB design and Component Selection

The Top-level view of the client devices circuit is shown below. 

When it comes to battery, we decided to use AA batteries by considering several options such as the cost, how long it can drive our device without replacing or recharging, whether to use rechargeable batteries or normal batteries, and physical size. Since we design are going to design the circuit such that it consumes a less power, we do not need a battery with a higher capacity. Also, rechargeable batteries are not suited for this environment. Therefore, the ideal solution was using four AA batteries. By using AA-batteries we can reduce the cost a lot at the same time achieving a considerable run time. 

When selecting voltage regulators, we considered what is the required maximum current needed for driving the load and minimum input voltage that should be supplied in order to have a regulated output. A single AA battery has a voltage difference of 1.5V. To power the microcontroller we need 5V therefore, at least 4 such batteries are required. Now, we need a 5V voltage regulator which has a minimum input voltage below 6V. Such voltage regulators are called low-dropout voltage regulators (LDO) and our selection was HT7550 as the 5V LDO which has a minimum input voltage of 5.5V. For LoRa module we need to provide 3.6V. For that we will use HT7536 LDO. The maximum output current of these regulators is 100mA which is less that the required maximum current to drive our load.

As the display we will be using a 20x4 LCD character display. It should be enough for our application because in general no classes may have more than 4 different free periods in a given day. 

We designed an automatic shutdown mechanism as well. It is required because some time after the message receives, the students are aware of their free periods in that day. So, there is no need of displaying it throughout the day. So, we implement our device s.t it automatically shutdowns after a given time-period. 

Altium Designer 2021 was used for Schematic and PCB design. The schematic diagram and PCB designs are shown below.
 




5. Mechanical Design

Mainly the mechanical design part of our project is designing an enclosure for the client device which places in classrooms. SOLIDWORKS 2020 was used as the mechanical design software. As the initial step of  the mechanical design, we came up with few design considerations. 

1. The device should be user friendly, and its appearance should be good enough, because one of the students are the ones who operate it. 

2. The device should be small enough to be kept on a table. 

3. The indications by the device should be clearly visible. 

4. Since the device is battery driven, replacing the batteries should be easily done. 

5. Weight of the device should be small. 

The designed enclosure is shown below.


6.Software Interface

6.1 MQTT 

We used MQTT protocol to communicate between the device and Node-Red flow. After generating updated time tables by Raspberry-Pi, they need to be sent to respective teachers via an SMS. We used MQTT broker as the interconnection of this process.

6.2. Node-RED

We used Node-Red to connect the messenger service with the Raspberry-Pi. The message is sent as a Jason object to the Node-Red flow and then edit it with the relevant order in the flow. Then Twilio SMS pallet is used to send the message to relevant teachers.

7. Demonstration of the Concept


No comments:

Post a Comment

Popular Posts