Reflection on Meeting the Brief

1. My Microbit was able to read in the strength of the radio signals sent by the other Microbits from a range of -100 to -20.

2. My Microbits were able to be configured to work either inside or outside, changing the distance they needed to trigger. They also had a data collecting and a standalone mode, where for the data collecting you needed to have a server Microbit but for the other you didn’t.

3. My project analysed the data in multiple ways. First the Microbits themselves were looking at the distances and determining whether or not they were too close. Second the Python script connected to the server Microbit also had an analysis component built in were if the safety level of the Microbits was Dangerous it would send out a signal.

4. In my biggest test I used 3 client Microbits and 1 server Microbit. First, the clients needed to receive an identification number from the server, next they waited until the server sent them another message with the safe distance to be used. Third they all successfully received the packets from each other and then sent them on until it got to the server Microbit. Finally the Python script after analysing, sent a message back through the serial USB port to the server Microbit if the safety level was Dangerous and then the server Microbit sent out a warning signal to all of the connected client Microbits.

triple plus base

5. After the data came in through the server Microbit the Python script analysed it and uploaded it to a Google Firebase database where it was stored in the cloud.

6. My Python script was able to determine the safe levels, and also calculated the position of each Microbit client in relation to the server Microbit. With these positions and distance data, I made an interactive website with two JavaScript graphs embedded in it, one for the distances and another one that had a live map of the Microbits.

Future Development of the Artefact

One aspect of the project that could always be improved is the strength of the radio signals and their reliability. This would greatly improve the live map that I made and would be a better representation of the real-life distances between each Microbit.

A feature which I didn’t have time to do but would have liked to complete, was the ability to seamlessly connect and disconnect to different server Microbits. This would allow for a lot less error from the client side as the person using it wouldn’t accidentally not turn on the Microbit. It would also allow the clients to easily disconnect not having to restart their Microbit. This would be possible to achieve if a distance threshold was programmed into the server, on which if the client passed then it would disconnect, or an alternative way would be if there are two different server Microbits in range of the client then it would connect to the one with the better signal i.e. the one closer.

This project could be expanded on by connecting multiple server Microbits up to many different clients in different classrooms. This could allow for example, the principle on their computer to see the distances of all the Microbits in each classroom and a live map of the Microbits. The Microbits could be named after the person carrying it so that on the map you could see the individual names.