*3.3. Mobile Application*

An Android mobile application was developed to gather the sensor data from the Microsoft Band and the BLE advertising data packets being broadcasted from the BLE beacons. During the system operation, the mobile device is paired with the Microsoft Band and receives the incoming sensor data stream. Furthermore, all BLE traffic the mobile device is in range of is being filtered, so only our beacon advertising data packets are being captured. Then, the respective beacon identifiers and the measured RSSI of each packet are stored. To filter out any unwanted data, the application firstly looks to see if the captured packet is structured in accordance to the iBeacon protocol by checking for the prefix (see Figure 3), and then, it will attempt to find the UUID being used by our beacons.

The application was designed with a modular approach, to allow it to be used with other wearable devices easily without the need to change the core program; thus granting the ability to integrate new wearable devices quickly and efficiently. During the data gathering phase of our experiments, a session is created for every participant. When performing a data capture, the activity about to be performed is selected from a drop down list. Then, during a data capture operated by the start/stop button on the application interface, sensor data from the smart watch and BLE advertising data from the beacons are collected simultaneously and stored locally before being sent to a server once the capture has finished.
