PROJECT
Indoor Tracking
Designing, creating and deploying an indoor positioning system using off-the-shelf products.
My Year of Honours
During my honours year at university, I designed, developed & implemented an indoor tracking system using off-the-shelf products.
The infrastructure was built with Raspberry Pi's and hosted on AWS using Python and Javascript (NodeJS).
The team consisted of 3 students, my responsibility was to create the indoor positioning system.
Research
We first started researching all the existing technologies and products available on the market, primarily focusing on different frequencies and their results.
After analysing the research, we decided to experiment with Bluetooth Low Energy (BLE) and identified it as the most affordable and popular option among indoor tracking systems.
Please check the links below for the details of our research with my final thesis and the technology architecture diagram.
The indoor positioning system's architecture consisted of two pieces of hardware: the beacons and the agents. Each beacon (carried by a person) will emit a Universally Unique Identifier (UUID) that is recorded by the Raspberry Pi devices (agent) that are continuously scanning for BLE frequencies.
The RPI will send the scanned information (UUID, current date & time, agent's identifier, signal strength) to a database where we can then run queries to estimate the users' proximity.
The location of each beacon can be found by querying the latest recorded signal data and again by signal strength.
A Tough Year
Looking back, I was underprepared; I had no idea how difficult designing and maintaining numerous devices was going to be.
I learned a lot about developing and managing an IT system including troubleshooting & debugging, software update rollouts, database management, and most importantly JavaScript!
This was one of the most stressful and difficult learning experiences but I don't have any regrets about the project because it was the first step in starting my passion for software development.