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 DesignMainly 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