Format Template Vol. 4, No. 2 | Jul – Dec 2020 SJCMS | P-ISSN: 2520-0755| E-ISSN: 2522-3003 © 2020 Sukkur IBA University 61 An Indoor Tracking System using iBeacon and Android Mohammed Moneer1 , Mahmoud Mahmoud Aljawarneh2 , Lachman Das Dhomeja1, Gulsher Laghari1, Bisharat Rasool Memon1 Abstract: Context-aware applications use context to provide relevant information and services to users with minimal user intervention with the system. User location is such a context for location- aware services. While in the outdoor location-aware systems Global Positioning System can provide the user location within the accuracy of 20 meters, it lacks to precisely determine user location for indoor tracking systems. Thus, different other techniques and mechanisms have been proposed for indoor tracking systems, such as trilateration, triangulation, fingerprinting, etc. However, they have added disadvantages including high cost and high-power consumption. To overcome such problems, iBeacon is a low-cost, low-power solution for such indoor tracking systems. In this paper, we explore the use of iBeacon for user tracking in an indoor user tracking system with a prototype implementation and evaluate the system on some general use cases. The prototype serves as a prelude towards the goal of developing context-aware (in particular, location-aware) applications. Keywords: location-aware systems; Bluetooth low energy; iBeacon; Android 1. Introduction Context-awareness provides the applications with the ability to adapt their services for each individual user. Thus, a context-aware application uses context to provide relevant information to users [1], [2]. As such, the user interaction with the application is minimized, and the current context of the user determines the information or service the application needs to provide to the user [3]. One such context is the user location, which is the key enabler for location- aware services [3]. While in the outdoor location-aware systems Global Positioning System (GPS) suffices to acquire the user location within the accuracy of 20 meters, it cannot precisely determine user location for indoor context- aware systems [4]. In an indoor context-aware 1 University of Sindh, Jamshoro Pakistan 2 SZABIST, Larkana Pakistan Corresponding Author: gulsher.laghari@usindh.edu.pk system, to determine the users’ precise location in a particular building (e.g. room, floor, etc.), the location information for such an indoor system needs to be updated regularly, which also captures and reflects the movement of users inside the building on the map. Such indoor context-aware systems provide customized indoor location-based services necessary for numerous environments. Some of these environments include universities, hospitals, airports, shopping centers, and schools, etc. There exist various techniques for indoor tracking systems, such as trilateration, triangulation, fingerprinting, etc. Yet there is no one-size-fits-all solution that works well in every setting, due to the complexity and requirements in designing such systems [5], [6], [7], [8], [9], [10], [11], [12]. Various technologies used in developing indoor Mohammed Moneer (et al.), An Indoor Tracking System using iBeacon and Android (pp. 61 - 68) Sukkur IBA Journal of Computing and Mathematical Science - SJCMS | Vol. 4 No. 2 July - December 2020 © Sukkur IBA University 62 tracking system such as Wi-Fi, ultrasound, Bluetooth, and RFID have their inherent limitations and disadvantages. Wi-Fi based systems are inexpensive yet have lower precision values. Despite being expensive, the ultrasound provides reasonable precision value. On the other hand, Bluetooth technology being inexpensive with good precision involves more power consumption. RFID based system need a user intervention in order to work. Bluetooth Low Energy (BLE) is an enhancement in the Bluetooth standard which remarkably reduces the power consumption besides being less costly [13], [14]. BLE device with even a coin cell battery can operate for a couple of years [15]. This makes BLE ideal medical, industrial, or consumer applications that require infrequent or periodic transfers of short messages [14]. Thus, it is likely that BLE to be used by billions of smartphones in the near future [16]. iBeacon, a proximity-based framework proposed by Apple that uses BLE, allows mobile devices to approximate their location by calculating how close they are to an iBeacon— a low-cost BLE transmitter [14]. Since an iBeacon is a low- cost, low-power BLE device, many indoor tracking systems have been introduced based iBeacon technology. Such systems serve many purposes including, advertising [20], crowdsourced sensing [21], and recently enabling the social distancing in wake of COVID19 pandemic [22]. In this paper, we propose an iBeacon based indoor user tracking system and implement a proof-of-the-concept prototype. We evaluate the system on some general use cases. The prototype serves as a prelude towards the goal of developing context-aware applications. We organize the paper as follows. In Section 2, we provide review of some related literature and then propose our approach and the proof-of-the-concept implementation of indoor user tracking system in Section 3. Then, we evaluate our prototype in Section 4. Finally, in Section 5, we provide the concluding remarks and future directions. 2. Related Work In this section, we provide the review of the related literature on indoor tracking systems, which use different mediums. 2.1. WiFi Jiang has proposed an indoor positioning system exploiting WiFi Received Signal Strength (RSS) in mobile phones along with the record of previously tracked locations [5]. The system improved accuracy over five percent compared to other positioning systems that used WiFi. Similarly, Au et. al. developed an indoor tracking system with WiFi Received Signal Strength (RSS) [6]. The system obtains indoor location by providing users with wireless internet access using IEEE 802.11. They use theory of Compressive Sensing (CS) on the devices. For experimental test setup, they use windows mobile. Resultantly, the system overperformed to the existing fingerprinting methods. WiFiPoz system uses a combination of propagation and zoning method (i.e. dividing building into geographical information zones) to position through the WiFi [7]. The fingerprint method comprises two phases (1) offline training phase that is a record of all the received signal strengths and (2) online phase that uses the result obtained from the offline phase. Experimental results showed better results compared to traditional fingerprinting algorithms with the improved accuracy of the location estimation. The common problem with the WiFi based indoor positioning system is that the accuracy is not absolute as the attenuation with these signals is the main cause of their less accuracy, in many cases multi-WiFi access point are needed to compute the position of a specific device. 2.2. Bluetooth Bekkelien used Bluetooth fingerprinting technique where the Bluetooth device works together as beacons to estimate the location of the mobile device [8]. The work is divided into Mohammed Moneer (et al.), An Indoor Tracking System using iBeacon and Android (pp. 61 - 68) Sukkur IBA Journal of Computing and Mathematical Science - SJCMS | Vol. 4 No. 2 July - December 2020 © Sukkur IBA University 63 two phases, the first phase is offline phase where all Bluetooth devices start emitting the signals to form a map, and the second phase is used to estimate the location of that Bluetooth device based on the RSSI and the number of beacons visible to that mobile device. This method works well when the device is stationary, however, soon the device starts moving the accuracy of the results decreases drastically. Gu and Ren performed an empirical study to elicit the impact of various factors including the distance, orientation, and obstacles on the Bluetooth signals in a setting of real-world scenarios [9]. Then built a localization model characterizing the relationship between changes of RSSI values and the target location. Pursuant to this, exploiting the user motion, they propose a scheme that can localize the target device. The fingerprint based indoor location systems are hard to implement owing to the quality of measurement of RSSI, even devices of the same brand have varied recorded values [10]. 2.3. Camera Mulloni et. al. used camera phones to determine user location [11]. They used the camera to assist navigation and localization of the users with marker-based tracking techniques. The inherent limitation of the proposed system is that for improved detection accuracy, it requires users’ training. 2.4. RFID Seco et. al. used Received Signal Strength (RSS) of radio frequency signal coupled with Bayesian method. The gaussian processes, an observation model, is used in Bayesian method [12]. The results demonstrated that the gaussian processes enhances the positioning accuracy. Daly modified the RFID tag with the electromagnetic and dielectric properties of the concrete [17]. The modified new passive RFID tags when embedded in concrete, could be easily read one meter above the surface. 2.5. BLE and iBeacon Since BLE provides low-cost, low-power devices, it has been used in many contemporary indoor systems. Rida et. al. proposed an indoor positioning system using BLE and smart devices, by measuring the RSSI of the Bluetooth signals using the trilateration technique [18]. The algorithm is based on Trilateration technique that needs availability of more than two devices in a specific room to estimate the location of the device; soon the smart device enters the environment, it connects to the nearest three nodes by measuring the RSSI and determines the distance between the devices and nodes. To increase the efficiency in the emergency room, Lin et. al. proposed a system that can monitor the patient location using the mobile application and Bluetooth low energy (BLE) [19]. They used RSSI based algorithm to determine the location, based on the signal advertised from the beacons. Yang et. al. proposed a three-layered architecture of an indoor positioning system for hospitals-based iBeacon [13]. They used shortest distance algorithm to help patients find their department or ward. BlueSentinel, an iBeacon-based indoor localization system, provides a prototype system for the use case of a smart home to solve the occupancy detection problem [16]. To explore the strengths and limitations of iBeacons and determine a good architectural model for context-aware applications, Sykes et. al. developed four applications for different use cases [4]. They concluded that iBeacons offer a low energy alternative with more accuracy compared to wireless access points, however, to their disadvantage signal strength is susceptible to fluctuations due to the surrounding environment hence negatively affects proximity accuracy. In this paper, we also propose an iBeacon based indoor user tracking system and implement a prototype. The prototype serves as a prelude towards the goal of developing context-aware applications. Mohammed Moneer (et al.), An Indoor Tracking System using iBeacon and Android (pp. 61 - 68) Sukkur IBA Journal of Computing and Mathematical Science - SJCMS | Vol. 4 No. 2 July - December 2020 © Sukkur IBA University 64 3. Proposed Approach At the core of any indoor tracking system is to localize the objects. Thus, there involves the choice to choose certain sensing devices to locate the objects. In our proposed system, we choose Bluetooth Low Energy (BLE) beacons or more specifically iBeacons. iBeacon is a technology introduced by Apple where a transmitter device, referred to as a beacon, transmits push notifications to other receiver devices using Bluetooth Low Energy (BLE) [16]. BLE standard comparatively offers low power consumption as well as lower cost for Bluetooth communication. Thus, iBeacon has been used in many contemporary systems [16], [4], [13], [14]. Essentially, iBeacon technology provides coarse-grained indoor location positioning primarily based on the proximity—the proximity to some nearby object serves as the proxy to the location. In a typical iBeacon deployment, the beacons periodically advertise the information and the app on receiving devices periodically listens for that information to know about the surrounding beacons [13]. The advertised information includes (i) Universally Unique IDentifier (UUID), which identifies the beacon region, (ii) Major value, which is used to group related beacons when they all have the same UUID, (iii) Minor value, which is used to distinguish between the beacons with same UUID and Major value [16], and (iv) the received signal strength indicator (RSSI), which is used to measure the proximity of a mobile device to a pre-installed iBeacon to approximate the location of the mobile device [14]. Using iBeacon, we propose a 3-tier architecture for the indoor tracking system. First, we propose to install iBeacons in pre- selected areas in a building (such as rooms) to monitor the location of the users in the building relative to those iBeacons. Second, to locate the users in the building we propose each user has a BLE enabled mobile device that can approximate the users’ location relative to nearby iBeacons and send that information to the server. Third, we propose a server application to visualize the presence of the users in the building. Fig. 1. depicts the architecture of the proposed approach. Fig. 1. Architecture of the proposed approach. 3.1. Implementation We implement a proof-of-the-concept system to demonstrate and evaluate our approach. We deploy our system at the Institute of Information and Communication Technology (IICT), University of Sindh, Jamshoro. Below, we describe how each step is handled for our 3-tier architecture. 1. Installing the iBeacons. We install one iBeacon device in each room of the IICT building in a specific position so that it covers the room space and can precisely indicate the users’ position relative to the room. Thus, each room maps to the UUID of the iBeacon. 2. Android app on the users’ mobile devices. To localize the users in the building, each user is expected to carry the BLE enabled Android phone to receive the advertised information from the iBeacon to approximate their location relative to the iBeacon. Since knowing the advertised information such as the UUID of the iBeacon and RSSI alone is not helpful to monitor the users in the building, we develop an Android app that uses this information to calculate the users’ location and send it to the server. The app is developed for Android devices with Bluetooth 4.0 support and runs as a service so that it keeps running even when the mobile is locked. The app essentially performs following main tasks: Mohammed Moneer (et al.), An Indoor Tracking System using iBeacon and Android (pp. 61 - 68) Sukkur IBA Journal of Computing and Mathematical Science - SJCMS | Vol. 4 No. 2 July - December 2020 © Sukkur IBA University 65 - Monitoring the iBeacons. This allows the app to monitor the entry and/or exit to a specific room. - Ranging. The app periodically listens to the advertised information from the iBeacon and measures the distance between the mobile device and iBeacon using RSSI. - Send the location to the server. During the ranging, the app has already calculated the user’s location (i.e., the room where the user currently is inside) that is sent to the server via SMS. The app starts monitoring when the user enters the building. When the mobile device reaches in range of a certain iBeacon, the app starts ranging to measure the proximity to the iBeacon. Soon this proximity distance becomes less than a set threshold, the app sends an SMS text to inform the server app about the user’s location. We set the proximity distance threshold to 0.5 meter. To avoid the battery, drain, the app then stops ranging, yet it keeps monitoring. 3. Visualizing the users on the Server. To visualize the physical location of the users on the building map, we design a server app. The app consists a GUI representing architectural layout of IICT building as a map as shown in Fig. 2. The app has an SMS listener to receive the SMS text that embodies the users’ location information sent by the app running on the users’ mobile devices. When the SMS listener determines that the received SMS text is from the registered user, it parses the text to extract the user location. Once the location (i.e., the room which is mapped to a specific UUID of a beacon) is extracted, the server fetches the picture of the user from the database and places it on that specific room in the map. Here the individual user is distinguished from other users based on their mobile number. Similarly, when the users move around the building, leave a room and enter in another room, the server app updates the visual map correspondingly. Fig. 2. Map of the IICT building on the server app. 4. Evaluation and Results In this section, we evaluate the proof-of- the-concept system with two simple use cases to demonstrate that the proposed approach is effective. The first use case is to demonstrate how the implemented system tackles it when a single user moves around the building. While the second use case tests the system when two users simultaneously move around the building. 4.1. Single User Scenario In this scenario, a single user is assigned the task to first enter the research lab, then leave the research lab and enter in data communication lab, and finally leave the data communication lab and enter computer lab II. Meanwhile, the server app is monitored to check that it correctly tracks and visualizes the user activity on the map. This whole exercise is depicted in Fig. 3. The user enters the research lab (a), which is reflected on the map on server app (b). Then, the user leaves the research lab and moves to data communication lab (c), the map on the server app is updated correspondingly; the picture of user is reflected on the data communication lab (d) and removed from the research lab (e). Finally, the user leaves data communication lab and enters computer lab II (f), which is also reflected on server app; the picture of user is placed on computer lab II (g) and removed from the data communication lab (h). Mohammed Moneer (et al.), An Indoor Tracking System using iBeacon and Android (pp. 61 - 68) Sukkur IBA Journal of Computing and Mathematical Science - SJCMS | Vol. 4 No. 2 July - December 2020 © Sukkur IBA University 66 Fig. 3. Demonstration of a single user scenario. 4.2. Two-user Scenario In this scenario, the system is evaluated on whether it can track two users when they are in different rooms and when they gather in a single room. Thus, to demonstrate this, two users (user1 and user2) are assigned the task to first enter in different rooms, user1 to enter in the research lab while the user2 to enter in the computer lab II. Finally, they need to meet in the data communication lab. Similarly, this whole exercise is depicted in Fig. 4. First, the user1 enters the research lab (a), which is reflected on server map (b) and user2 enters the computer lab II (c), which is also reflected on server map (d). Then, user1 leaves the research lab and enters the data communication lab (e), the server map is updated correspondingly (f). Finally, user2 also leaves the computer lab II and enters the data communication lab (g), which the server app correctly tracks and updates the map accordingly (h). 5. Conclusion and Future Work In this paper, we presented an indoor user tracking system and implemented a proof-of- the-concept prototype as a prelude towards the goal of developing context-aware applications. The system uses iBeacon technology for user tracking. We evaluated the working of the system on a couple of general uses cases. It turns out that iBeacon is a good choice for indoor tracking as its inexpensive and is a low power consumption solution. However, iBeacon has also its limitations. As pointed out by Paek et. al. [14], iBeacon RSSI values and the signal propagation model have significant variations for iBeacon vendors, indoor environment, and obstacles. Thus, in future these limitations need to be addressed for specific location-aware solutions. Fig 4. Demonstration of two user’s scenario. Mohammed Moneer (et al.), An Indoor Tracking System using iBeacon and Android (pp. 61 - 68) Sukkur IBA Journal of Computing and Mathematical Science - SJCMS | Vol. 4 No. 2 July - December 2020 © Sukkur IBA University 67 References [1] A. K. Dey, "Understanding and using context." Personal and ubiquitous computing 5, no. 1 (2001): 4-7. [2] P. Rosenberger and D. Gerhard, "Context-awareness in industrial applications: definition, classification and use case." Procedia CIRP 72 (2018): 1172-1177. [3] E. Kaasinen, "User needs for location- aware mobile services." Personal and ubiquitous computing 7, no. 1 (2003): 70- 79. [4] E. R. Sykes, S. Pentland and S. Nardi, "Context-Aware Mobile Apps using iBeacons: Towards Smarter Interactions" (2015). Faculty Publications and Scholarship. Paper 3. [Online] Available: http://source.sheridancollege.ca/fast_app l_publ/3. [5] L. Jiang, "A WLAN fingerprinting based indoor localization technique." M. Sc. Thesis, The graduate College at the University of Nebraska (2012). [6] A. W. S. Au, C. Feng, S. Valaee, S. Reyes, S. Sorour, S. N. Markowitz, D. Gold, K. Gordon, and M. Eizenman. "Indoor tracking and navigation using received signal strength and compressive sensing on a mobile device." IEEE Transactions on Mobile Computing 12, no. 10 (2013): 2050-2062. [7] Y. Xiaoyi, “WiFiPoz–an accurate indoor positioning system” MS thesis, Eastern Washington University 2012. [Online] Available: http://dc.ewu.edu/theses/81/ (accessed 20/11/2018). [8] A. Bekkelien, "Bluetooth indoor positioning." Master's thesis, University of Geneva (2012). [9] Y. Gu and F. Ren. "Energy-efficient indoor localization of smart hand-held devices using Bluetooth." IEEE Access 3 (2015): 1450-1461. [10] B. Viel and M. Asplund. "Why is fingerprint-based indoor localization still so hard?" In Pervasive Computing and Communications Workshops (PERCOM Workshops), 2014 IEEE International Conference on, pp. 443-448. IEEE, 2014. [11] A. Mulloni, D. Wagner, I. Barakonyi, and D. Schmalstieg. "Indoor positioning and navigation with camera phones." IEEE Pervasive Computing 2 (2009): 22-31. [12] F. Seco, C. Plagemann, A. R. Jiménez, and W. Burgard. "Improving RFID-based indoor positioning accuracy using Gaussian processes." In Indoor Positioning and Indoor Navigation (IPIN), 2010 International Conference on, pp. 1-8. IEEE, 2010. [13] J. Yang, Z. Wang, and X. Zhang. (2015), "An ibeacon-based indoor positioning systems for hospitals." International Journal of Smart Home 9, no. 7, pp. 161- 168. [14] J. Paek, J. Gil Ko, and H. Shin. "A measurement study of BLE iBeacon and geometric adjustment scheme for indoor location-based mobile applications." Mobile Information Systems 2016 (2016). [15] C. Gomez, J. Oller, and J. Paradells, "Overview and evaluation of bluetooth low energy: An emerging low-power wireless technology." Sensors 12, no. 9 (2012): 11734-11753. [16] G. Conte M. De Marchi, A. A. Nacci, V. Rana, and D. Sciuto, "BlueSentinel: a first approach using iBeacon for an energy efficient occupancy detection system." In BuildSys@ SenSys, 2014, pp. 11-19. [17] D. Daly, T. Melia, and G. Baldwin. "Concrete embedded RFID for way-point positioning." In Indoor Positioning and Indoor Navigation (IPIN), 2010 International Conference on, pp. 1-10. IEEE, 2010. [18] M. Er Rida, F. Liu, Y. Jadi, A. A. A. Algawhari, and A. Askourih. "Indoor location position based on bluetooth signal strength." In Information Science and Control Engineering (ICISCE), 2015 Mohammed Moneer (et al.), An Indoor Tracking System using iBeacon and Android (pp. 61 - 68) Sukkur IBA Journal of Computing and Mathematical Science - SJCMS | Vol. 4 No. 2 July - December 2020 © Sukkur IBA University 68 2nd International Conference on, pp. 769- 773. IEEE, (2015). [19] X. Y. Lin, T. W. Ho, C. C. Fang, Z. S. Yen, B. J. Yang, and F. Lai. "A mobile indoor positioning system based on iBeacon technology." In Engineering in Medicine and Biology Society (EMBC), 2015 37th Annual International Conference of the IEEE, pp. 4970-4973. IEEE, (2015). [20] Ting-Ting Yang and Hsueh-Wen Tseng. 2020. “A service-aware channel partition and selection for advertising in bluetooth low energy networks.” In Proceedings of the 35th Annual ACM Symposium on Applied Computing (SAC '20). Association for Computing Machinery, New York, NY, USA, 2144–2150. DOI:https://doi.org/10.1145/3341105.33 73950. [21] L. -W. Chen, J. -X. Liu and W. -C. Huang, "GuidingAll: A Smart Proactive iBeacon System with Crowdsourced Sensing Based on IoT Technologies," 2020 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), Austin, TX, USA, 2020, pp. 1-3, doi: 10.1109/PerComWorkshops48775.2020. 9156090. [22] K. R. Tiwari, I. Singhal and A. Mittal, "Smart Social Distancing Solution Using Bluetooth® Low Energy," 2020 5th International Conference on Computing, Communication and Security (ICCCS), Patna, 2020, pp. 1-5, doi: 10.1109/ICCCS49678.2020.9277175.