This project was designed for chaperones and teachers who take their students on field trips and notify them if any kids have wandered too far from the group and did not make it back to their bus in time for attendance.
In elementary school going up to high school, there were multiple tactics on taking attendance both before the start of the trip and after when everyone arrived to the bus following a day of fun. Adults used methods such as manually going in each seat and counting heads, assigning bus seats (which could be a double-edged sword to the kids), giving each student a number that they had to shout in order (resulting in several do-overs when one person didn't pay attention), or simply doing the old fashioned 'calling names' attendance. Each method had its advantages and disadvantages, but from experience, they all tended to take a long time to conduct, resulting in frustration on both sides.
Our project solves this problem by making the attendance system completely automated and electronic. Each student before the start of their trip is assigned a wearable device(under development), let it be a pin or a keychain or a bracelet, with a unique ID that is assigned to their name called a Range Badge (RB). The teachers and chaperones who will be accompanying and overseeing the students will be given a device with an LCD screen, called the Master Location Dashboard (MLD), displaying two numbers for each student: the top number represents the strength of the signal coming from the student's RB and the bottom number is the time in milliseconds it takes for the main device to receive the signal from the wearable. If the students are in range of the MLD, the outer rings surrounding the number will be green. If the MLD is close by, then the ring will be yellow, if the MLD is not receiving a strong signal from a student's RB, then the ring will be red, and if the student is completely out of range, after a wait of 10 seconds to make sure it is not an error, a flashing alert message will be displayed on the LCD screen along with the message "Lost: *student's name*". This will notify the adult that that specific student has either gone missing or has trailed far enough away from the group that he/she has lost contact with the MLD enabling them to take action and find the lost student immediately.
The following are images of the components listed above.
The ESPNow web defines the protocol as
ESP-NOW is yet another protocol developed by Espressif, which enables multiple devices to communicate with one another without using Wi-Fi. The protocol is similar to the low-power 2.4GHz wireless connectivity that is often deployed in wireless mouses. So, the pairing between devices is needed prior to their communication. After the pairing is done, the connection is safe and peer-to-peer, with no handshake being required
The protocol is designed for low range, fast data transmission. The protocol is easy to use. We were able to use its unique characteristic of transparent connection to devices that shows themselves as AP. We are implementing a one-way communication. We are looking forward to expand our implementation to allow dual communication between the master and slave.
The Range Badge (RB) device is personalized for each customer and sends the encoded information in the SSID format (see the next session). The MLD device identifies the RB devices and starts listening for any message coming from the master.
The program is really simple as shown on the code section. We are working on a version that will allow to send information to the MLD, like a FIND ME message, or NEED HELP message.
The Master Location Dashboard (MLD) is a device that keeps track of the Range Badge (RB) devices. The device manages the communication, graphical interface, user input and log data, for each device connected.
The device start periodically a network scan for new RB devices that matches the SSID format. The found devices are registered as peer devices on the ESPNow stack, if not done already. The MLD send status messages to the peers and keeps track of the acknowledgement and the time it takes to get it. The program gets the RSSI value every time it scans the network, this value decides the different warning levels for each RB device.
The program controls up to 20 devices internally and 15 devices on screen. It keeps track of all the devices connected by verifying that their SSID format matches the custom string. The SSID is formatted as
Where TOURNAME is no longer than 6 characters, COSTUMERNAME is up to 5 characters and the MAC_ADDRESS is a six tuple value.
The graphical interface supports touch screen input and displays up to 15 devices. It allows the user to select one device and display MAC address, assigned costumer name and tour name.
Finally, the program alerts in case any of the devices losing connection and shows the costumer name of the RB.
It uses the SD card to log data into two different files.
- DataRSSI file contains the RSSI values of the AP devices in the ESPNow channel.
- DataPing file contains the packet latency acknowledgement time for each one of the data packages sent.
The following videos demonstrates the easy to use and capability of the device.
- User Guide
The Master Location Dashboard keeps temporal record of the connection data received by each range badge.
The following is an example of the DataRSSI_30.vis file. The number shows the sequential unique id number that the system keeps track.
The file shows the status, costumer name, mac address, RSSI, and time in microseconds since the program launched in the range badge.
Status : Here Bill 18:FE:34:D3:87:96 -26 778454 Status : Here Mike 5C:CF:7F:00:7B:93 -31 778458 Status : Here Qing 5C:CF:7F:88:C4:5A -37 778462 Status : Here Chap2 18:FE:34:D3:85:F2 -43 778466 Status : Here Linda 5C:CF:7F:01:60:43 -44 778471 Status : Close Liz 30:AE:A4:20:A0:F8 -66 778475 Status : Close Steph 30:AE:A4:1A:5B:E4 -69 778479 Status : Here April 18:FE:34:D3:87:A7 -38 782058 Status : Here Qing 5C:CF:7F:88:C4:5A -39 782063 Status : Here Mike 5C:CF:7F:00:7B:93 -43 782067 Status : Close Liz 30:AE:A4:20:A0:F8 -57 782074 Status : Far Steph 30:AE:A4:1A:5B:E4 -76 782078 Status : Close April 18:FE:34:D3:87:A7 -47 785653 Status : Close Mike 5C:CF:7F:00:7B:93 -55 785658 Status : Close Qing 5C:CF:7F:88:C4:5A -58 785662 Status : Close Liz 30:AE:A4:20:A0:F8 -64 785666 Status : Close Steph 30:AE:A4:1A:5B:E4 -64 785670 Status : Close Chap1 5C:CF:7F:88:EE:95 -65 785674 Status : Far Chap2 18:FE:34:D3:85:F2 -73 785678 Status : Here Bill 18:FE:34:D3:87:96 -43 789271 Status : Close Linda 5C:CF:7F:01:60:43 -49 789278 Status : Close Qing 5C:CF:7F:88:C4:5A -54 789282 Status : Close Chap2 18:FE:34:D3:85:F2 -54 789286 Status : Close April 18:FE:34:D3:87:A7 -57 789291 Status : Close Liz 30:AE:A4:20:A0:F8 -62 789295 Status : Close Steph 30:AE:A4:1A:5B:E4 -63 789299 Status : Close Chap1 5C:CF:7F:88:EE:95 -65 789303 Status : Close Bill 18:FE:34:D3:87:96 -58 792874 Status : Close Linda 5C:CF:7F:01:60:43 -60 792878 Status : Close Chap2 18:FE:34:D3:85:F2 -66 792882 Status : Close Qing 5C:CF:7F:88:C4:5A -68 792889 Status : Far Liz 30:AE:A4:20:A0:F8 -72 792893 Status : Far Steph 30:AE:A4:1A:5B:E4 -75 792897 Status : Close April 18:FE:34:D3:87:A7 -54 796479 Status : Close Mike 5C:CF:7F:00:7B:93 -55 796483 Status : Close Linda 5C:CF:7F:01:60:43 -57 796487 Status : Close Bill 18:FE:34:D3:87:96 -58 796491 Status : Close Chap2 18:FE:34:D3:85:F2 -59 796495 Status : Close Qing 5C:CF:7F:88:C4:5A -64 796499 Status : Far Liz 30:AE:A4:20:A0:F8 -75 796504 Status : Far Steph 30:AE:A4:1A:5B:E4 -79 796508 Status : Close Bill 18:FE:34:D3:87:96 -57 800084 Status : Close Chap2 18:FE:34:D3:85:F2 -63 800088 Status : Close Mike 5C:CF:7F:00:7B:93 -64 800092 Status : Close Qing 5C:CF:7F:88:C4:5A -65 800096 Status : Close April 18:FE:34:D3:87:A7 -67 800101 Status : Far Liz 30:AE:A4:20:A0:F8 -79 800105 Status : Far Steph 30:AE:A4:1A:5B:E4 -86 800109 Status : Far Chap1 5C:CF:7F:88:EE:95 -92 800113
The DataPing_30.vis file content is shown below. This file shows the acknowledgement status, the costumer name, the MAC address and the time it took it to return the acknowledgment.
Received Failed Chap2 18:FE:34:D3:85:F2 -61 2 Received OK April 18:FE:34:D3:87:A7 -56 109 Received Failed Liz 30:AE:A4:20:A0:F8 -74 79 Received Failed Steph 30:AE:A4:1A:5B:E4 -88 114 Received Failed Bill 18:FE:34:D3:87:96 -66 115 Received Failed Liz 30:AE:A4:20:A0:F8 -74 76 Received Failed Steph 30:AE:A4:1A:5B:E4 -88 95 Received OK Chap1 5C:CF:7F:88:EE:95 -86 107 Received Failed Qing 5C:CF:7F:88:C4:5A -50 111 Received Failed April 18:FE:34:D3:87:A7 -56 134 Received OK Liz 30:AE:A4:20:A0:F8 -74 71 Received OK Chap1 5C:CF:7F:88:EE:95 -86 95 Received OK Qing 5C:CF:7F:88:C4:5A -50 62 Received OK Liz 30:AE:A4:20:A0:F8 -74 114 Received OK Steph 30:AE:A4:1A:5B:E4 -88 123 Received Failed Chap1 5C:CF:7F:88:EE:95 -86 153 Received OK Qing 5C:CF:7F:88:C4:5A -50 116 Received Failed Liz 30:AE:A4:20:A0:F8 -70 20
The range of the system is about 100 feet with a clear line of vision, and 60 feet indoors, with walls and obstruction. We tried using the RFM69HW chip and it gave us about the same range as with the ESP chips. Then we tried using LoRa Lopy 4 devices and this time the range increase considerably, to about 1/4 of a mile. The issue is the size of the antenna. In a future version we will using these devices to achieve a more wide neighborhood range.
Thank you for reading.
We can see this system being used in schools similarly to how, in some schools, each student is assigned an electronic device that they can use in class and even take home. At the beginning of each year, the students are given a RB with their name assigned to that specific RB's ID. The RB's can be left in the classroom until the day of the field trip when they are handed out to the students and tested prior to boarding the bus. Once the year comes to an end, the RB's are reset and reassigned to new students for the beginning of the next year, making them reusable for coming generations.