This is how we proof tested our realtime indoor tracking and notification system

Jaroslaw Kijanowski
SoftwareMill Tech Blog
8 min readMay 28, 2018

--

Tracking people, objects or assets in real time gives a possibility to automatically identify the physical location based on actual data. Depending on a use case it can improve safety, logistics and people or assets supervision needs.

There are quite a few asset tracking technology options, the one we decided to implement and test is a beacon technology that periodically broadcasts a signal to other surrounding Bluetooth Low Energy (BLE) equipment.

Our BLE tracking system in action

Tracking a bracelet in realtime

This year SoftwareMill organised the Scalar conference for the 5th time. Since as an organiser you are allowed to install your own hardware inside the venue, we decided to setup and proof test our indoor real time tracking system.

Initially, the system was designed to track children inside an amusement park. Each child was given a bracelet having a small OLED display and a bluetooth device. Using a smartphone, parents always had the possibility to check, where their children are playing right now. Besides that, they could send a short message, that would be displayed on the bracelet’s display or make the bracelet vibrate.

After a proof of concept tested in an office worked quite well, we wanted to make the next step and see how the idea would work out at a conference and Scalar seemed to be a good fit.

Setup

The realtime tracking system consists of:
* ~30 bracelets worn by guests,
* ~20 small computers placed all over the venue,
* a backend server processing data from all the bracelets and computing their location.

The bracelet is a BLE (Bluetooth Low Energy) device acting like a beacon.

It broadcasts its address every second and awaits connections. Due to its low energy profile, the bracelet can easily be used for over one week, until it has to be charged for about 1 hour.

The small computers are in our case Raspberry Pi (Zero) devices.

The advantage over smaller and less energy consuming devices like Arduino is that a Raspberry Pi provides us with network and bluetooth stacks as well as a Linux operating system out of the box.

Over 20 Raspberry Pis were installed all over the venue. These are the rooms and places we covered:
- the main hall
- a smaller room for workshops
- the speaker’s standing desk
- the place where lunch was served
- hallway
- hallway with snacks, coffee and tables
- sponsor booths

We wrote a lightweight application in C using ZeroMQ collecting and filtering all the broadcasted signals and sending them to our backend server. Additionally the app is able to create a connection over the bluetooth protocol with a given bracelet and send commands like vibrate or display a message.

The backend server hosts a Java application responsible for:
- collecting the signals,
- aggregating them by source and address,
- applying different algorithms to determine the location,
- feeding 3rd party systems like Prometheus and Grafana to display metrics.

Test Day

When the conference began, we asked participants to wear a bracelet during the whole day. As mentioned above, we distributed 30 of them. Our system allowed us to determine the location of all bracelets in realtime and here are some insights and thoughts about the behaviour of our guests.

1. Obviously sponsor booths are visited during breaks, but Signify’s booth had the most visitors after lunch and during the coffee break between 15:00 and 15:30.

2. The number of people attending workshops dropped on a second day, following the afterparty. The workshops in the afternoon had more attendees, than in the morning. The number of attendees didn’t change during a given workshop, contrary to the speaking panels, where people had a tendency to leave the talk.

3. On the other hand, people who came for the talks are more keen to leave the room. Besides that the two talks between 11:00 and 12:00 where the most popular ones, congrats to John De Goes and Jan Pustelnik.

4. And finally, what was wrong with the lunch? Lot of people left the building between 12:20 and 12:50? Or was it just a cigarette break?

Our findings

We tested the system with around 30 bracelets. In theory this could lead to 600 (30 bracelets * 20 devices) requests per second being sent to our backend. Although hosted on an old MacBook Pro from mid 2013, running also Prometheus, we did not encounter any scalability issues nor lags in processing or displaying the data.

We are also satisfied with the accuracy of the algorithm determining the location. Although based only on the average signal strength and a sliding window aggregating signals from the last 10 seconds, we got reliable results. However, the sytem was designed to support other algorithms as well.

The next step will be comparing deterministic algorithms with a Decision Tree which needs to be trained upfront. Stay tuned for the results and a comparison of algorithms used in our tracking system. Therefore I hope to see you next year at Scalar 2019 — among our testers!

Final thoughts

BLE is an affordable option for active tracking applications, because it lets you use any Bluetooth enabled device to read the beacon — in our case it was a simple wearable bracelet acting like a beacon. It can also be a smartphone or a smartwatch.

The solution is also relatively easy to deploy. One thing you should be careful with is the read range, because BLE real time tracking system is designed for indoor tracking or tracking within small locations.

What are possible businesses use cases for BLE tracking system?

Being aware of the location and condition of given assets can be essential for your company’s operation and profitability. It enables you to make informed decisions about what’s happening with the tracked item or person in a given location, what is the condition of a given asset and if any safety rules were broken or not. Therefore you can quickly prevent, react and fix the situation.

Below are just a few most common examples of when, how and why use BLE tracking system.

Healthcare

Real time tracking system can improve healthcare facilities operation in terms of: patients safety and care, medical equipment management, staff management, quality of care. With the BLE devices attached to various assets healthcare management immediately know what and who is where when they need it. They can react quickly and:

  • Keep a watchful eye on patients and handle emergencies like e.g. patients falls, which are a huge burden for geriatric wards.
  • Set up alerts and let medical stuff know in case patient is in the area he is not supposed to be.
  • Provide better quality of care using take a pill prompts or tracking patients activity during rehabilitation.
  • Locate any medical equipment quickly and remove unnecessary delays or errors
  • Locate any member of medical stuff in case of emergencies and prevent major pitfalls in the process of providing care.
  • Keeping track of crucial indicators like e.g.: time spent on receiving treatments, waiting time, time spent in a given diagnostic room to effectively manage the facility and and a care process.

Event venues / hotels / amusement parks

Being an event manager or venue manager you want to know more about how people are behaving in your location. The data you can collect from your conference attendees or guests who decided to spend their holidays in your location can affect both your operation and participants quality of stay. When you understand these behaviours you can improve your service from the insights on:

  • Which speaker/workshop/company stand was the most popular among attendees
  • What type of attractions drew the most attention from your venue guests
  • What was the attendees engagement level

Such system lets you also meet attendees demands while communicating important alerts to them during the event, therefore provide even better conference / holiday experience.

BLE plays as well a huge role in monitoring safety issues and handling your staff location and efficiency on-site. This is exactly where our project originated from:

The idea of implementing real-time BLE tracking system in the Holiday Park Kownaty “Majaland” is most of all the matter of safety of our underage visitors. With the technology we can track the exact location of our employees, if they are in a place they’re supposed to be, to provide a safe and fun environment for our customers. The amusement park is opening this fall and we believe that with such measures children will not only have an amazing time but most of all they will be in a risk-free environment with the quality staff keeping an eye on them and providing the necessary protection.

Krzysztof Kacaliński
COO Holiday Park Kownaty “Majaland”

Minors and workers safety in closed locations

BLE real time tracking system can be used to monitor and assure safety for kids, pets or workers in dangerous areas.

When it comes to minors (kids and pets) the strongest asset of the system is an ability to receive an alert in case when a child or a pet wander outside an area that is designated. Alerts can work bilateral way, which provides an effective communication platform for small kids who are not old enough yet to be given a smartphone.

When it comes to workers, the system can help ensuring safety and health in workplaces improving site safety management and workers engagement.

Logistics of equipment and inventory

With real time tracking you can access the information about location of any assets stored in a given area. This boosts productivity by removing the “human error” and reduces costs of labour, which in other case would spend much more time looking for a given object. Warehouse team can easily discover the exact position of items stored in inventory and prevent situations when stock could be lost. Additionally automated warning notifications can notify drivers about situations of potential danger.

Would you like to start using BLE real time tracking system?

If you find the whole topic around people and asset tracking interesting, let us know by clicking here. We’re happy to implement your business idea and share our knowledge.

--

--

Java consultant having experience with the Kafka ecosystem, Cassandra as well as GCP and AWS cloud providers. https://pl.linkedin.com/in/jaroslawkijanowski