3. Implementation - Gachon-SLB/SmartCampus GitHub Wiki
The proposed location-based service was implemented and tested using beacon, Android and raspberry pies.

The attendance check system was used by the Raspberry Pi to prevent fraudulent attendance. The raspberry pies act as beacons, it updates the UUID to the server that change every class and then advertise it. Mobile apps will not know that the beacon UUID has changed in the classroom.
Mobile application searches Beacon every time. However, if it continues to do so, the battery drain will be very high. To resolve this problem, the application sleeps the thread by calculate the amount from the current hour until the start of the next class. Once a class begins, it searchs again for the beacon to check attendance. If there is a classroom (Class Lecture Room) beacon on the results, it will update the attendance check on the server.
In a crowded classroom, users can not search for Beacon directly in the crowded classroom. If the application fails to explore for 30 seconds, the application will set the Major and Minor values to request a proxy authentication by contacting the user whose attendance checks are completed. If the user who has received the attendance check is searching for Virtual Beacon, the application will act as a Virtual Beacon with a classroom beacon UUID. And then users who are not checked for attendance will update the attendance check information on the server by mistaking it for the classroom beacon.


[Photo 1] Find the Classroom menu Screenshots
If the mobile app detects Beacon in front of the classroom door, it will ask if it is currently lecturing and how many of my friends are present. The requested server notifies the class of classroom schedules, lecture subject, lecture sessions, lecture time and the number of friends in the classroom. Since the old information should not be obtained at this time, the previous updated friend will not be included at this time. - In the actual implementation, the criterion was set to last for more than 30 minutes. -

[Photo 2] Find my Friends menu Screenshot
If the user passes through the shuttle bus station, the application will check the location of the station and the location of the next class and classroom location. If the classroom is far from the current location, and if there is not enough time left before the class begins(In actual implementation, the criterion was set by 20 minutes.), the app asks the server to arrive at the earliest arrival of the shuttle bus at the moment and then inform the user of the results of the response with a push alarm.