Deconinck, Guillaume
[UCL]
Grynczel, Wojciech
[UCL]
Schaus, Pierre
[UCL]
This dissertation explains all the steps we went through to model and develop a race timing system for Game of Trails, a non-profit organization. Game of Trails organizes each year two races, which have the particularities of being muddy and having several obstacles scattered along the course. In fact, Game of Trails already had an arrangement with a company for a race timing system but it had a few drawbacks such as being expensive and giving the final results a few days after the race instead of the same day. Given those drawbacks, they wanted to change and have their own race timing system. One important requirement of this new system is the display of the results in real-time. More precisely, they wanted that anyone could see the results of the race, updated in real-time, on a website. To build this new race timing system, we first had to decide how the system would detect the runners at the finish line. Multiple technologies could be used for this and we present in this dissertation what we believe are the most interesting ones. To name them, those are QR Code, GPS, NFC and RFID. After comparing them, we decided to use UHF RFID (Ultra High Frequency - Radio Frequency IDentification). It consists of radio waves of frequency 860Mhz to 865Mhz and allows to detect tags at a distance of maximum 12 meters with the help of antennas. Moreover, the tags are waterproof. However, it is quite expensive. Afterwards, we did the requirements and modeled the race timing system. We show what are the different use cases and what are the expected data models, but also how the real-time feature could be modeled with the help of sequence diagrams. We also made mock-ups of graphical user interfaces to give a better idea of what the website would look like. We defined what should be the procedure for creating and managing a race in our system (non-exhaustively: create a race, import the runners, assign the RFID tags, etc.). A last important decision during the requirements was to decide what are the different parts of the system. In our case, there should be a database, a back-end, a front-end and checkpoints. The main step of this thesis is the development which first consists of choosing the technologies. At the beginning, we decided for the database to use Firebase by Google for our database but we changed at the middle of the development to MongoDB because of its more advanced queries. Regarding the back-end, Node.js and more precisely the Feathers framework were chosen. It allowed us to rapidly build a working back-end with services, authentication and out-of-the-box real-time with Websockets. The front-end was developed with Angular version 2. It is a well known front-end framework that is lightweight and fast. Finally, what we call the "checkpoints" are Raspberry PIs with RFID antennas. Their role is detect the runners, store their times and send these to the back-end. In the last chapters, we describe the actual race. We explain how we installed the system at the 3 checkpoints during both days of the race. We also explain a problem that occurred the first day which made useless our second checkpoint as it detected almost no runner. Fortunately, everything else worked as expected and Game of Trails was happy of our job.
Bibliographic reference |
Deconinck, Guillaume ; Grynczel, Wojciech. Open Source RFID race timing system. Ecole polytechnique de Louvain, Université catholique de Louvain, 2017. Prom. : Schaus, Pierre. |
Permanent URL |
http://hdl.handle.net/2078.1/thesis:10620 |