IELS: Indoor Equipment Localization System: Introduction (Part 1/6) (IoT)


It is no longer secret that I have been working on IELS in my Master Thesis ended September 2017. It was joy, fun and hard as well. Some of you guys asked me if I can share what I have been working with and write some thing about it.

I have chose to make a wrap up version of my Master Thesis chapters in 6 parts and post it here on my blog. This post will be the first part of 6 coming parts in future.

The concept of IELS
The concept of IELS

1.1 Context

Today smartphones and other Internet connected devices are increasingly penetrating our everyday lives. The global smartphone shipment forecast graph illustrates this trend estimates from BI Intelligence 1.1 [1].

The emergence of these devices is associated with the rise of various short-range communication technologies such as Near Field Communications (NFC), RadioFrequency Identification (RFID), Bluetooth, BLE, Bluetooth beacon or iBeacon [2] These technologies empower pervasive interactions between humans and their devices. Early work often focused on localizing users down to less than one meter accuracy, but now we are moving towards localizing objects. This will support the development of novel applications, which solve problems of our everyday living, improve quality of our lives and boost business results which will be elaborated further later in this chapter.

Global Smartphone Shipments Forecast
Figure 1.1: Global Smartphone Shipments Forecast

More specifically: companies, hospitals, universities and larger organizations are challenged to keep track of assets inside buildings. Indoor object localization/tracking can improve many processes in non-residential buildings:

  • In hospitals this is important to help doctors to get the correct equipment when required, while being able to trace its past locations in the hospital as shown in example 1.2.
  • Another practical example from the IT-University of Copenhagen, the staff of Facility Management has no active location information of all mobile whiteboards/screens in a building. The only way to find out is to walk to the expected locations of the whiteboards (physical objects) and have an on-site visual sight of the whiteboards. Furthermore, localization of objects can significantly reduce the time spent by employees to search for objects inside a building as shown in example 1.3.

Both examples illustrate process optimization. Processes can be optimized based on the knowledge of the usage history of a given equipment: where have the equipment been previously, for how long time the equipment has been visited, how much time was spend on moving from one location to another.

Example 1: Localizing equipment’s and assets in a hospital.
Figure 1.2: Example 1: Localizing equipment’s and assets in a hospital.
Example 2: Localizing mobile whiteboard or mobile screen in a building
Figure 1.3: Example 2: Localizing mobile whiteboard or mobile screen in a building

In the following section it the used concepts of this project will be introduced:
localization, Bluetooth and iBeacon, Object tracking.

1.2 Background and related work

There has been a considerable amount of research within the area of iBeacon based localization systems tailored for use inside buildings. In this project we choose to investigate a selection of both the research side and the commercial side.

1.2.1 Related work: Commercial

Commercially, iBeacons are produced in a variety of companies.

Estimote is one of iBeacon players that produces and sells iBeacons (the same iBeacons we use in our experiments). This company claim to have developed a new type of iBeacons that use time of flight (TOF) technology which helps generating maps for localization system for users.
Information about another new iBeacon product – in which users are able to tag to objects – is only available in a YouTube video [3] and [4]. This illustrates the idea, but there was no paper or technical information available on their approach, which leaves the assumption with poor evidence. Furthermore, this service of Estimote is not free of charge, as it requires a monthly subscription with Estimote. This might not be an attractive model for some firms.

Another company called [5] promises interesting tracking products using iBeacon but does not provide detailed technical information. However, this might be an interesting product, since they promises to build a Real-Time Location system at 1/5th the cost of competing positioning technologies like active RadioFrequency Identification (RFID) or Wi-Fi.

Note: All related work can be found in the bibliography associated with localization and tracking of items, as well as their applications in asset management.

1.2.2 Localization

Localization is an important part of ubiquitous computing, it has been an active research topic for the past decade. To be able to determine a user location, open doors for unlimited ubiquitous computing applications that offer service for specific location and context and added value to the service provided. Lot of work and research has been made using different approach and technologies like Wi-Fi, Radio-Frequency Identification (RFID) and Ultrasonic (Active bat, p.305).

Ubiquitous Computing Fundamentals Book categorizes approaches to determining location with briefly descriptions of each method:

  1. Proximity is a simple location technique, to indicate closeness of a device to a reference point.
  2. Trilateration Mathematical equation to calculate location based on at least three position reference points.
  3. Hyperbolic Lateration Mathematical equation to calculate location based difference between the signal arrival times from at least three reference points.
  4. Triangulation Mathematical equation to calculate location based on angle of arrival of signals traveling from a device to a reference point.
  5. Fingerprinting A method to save Received signal strength indication (RSSI) values from different sources in a database, and when other devices read the same information from the database, they are able to return an estimate position based on previous records.
  6. Dead Reckoning Mathematical equation to predict a vector, based on previous direction and speed data.

Note: method like trilateration would work with two reference points, but it will affect accuracy.

These approaches are used in different technologies; for instance: Global Positioning System (GPS), mobile phone localization and radio communication localization. Each technology has various usage in different contexts: GPS is used for navigating car drivers in traffic – and it is possible to localize a person calling the emergency service.

Back in 1978 when Global Positioning System was launched for first time, the main goal of GPS systems was for outdoor localization.

Early mobile phones came without GPS receivers and the only way to locate phones, was to use cell tower to triangulate the device location with an inaccurate result. In the past decade GPS receiver technology has been integrated in smartphones. This make it possible to get accurate location of the device when the GPS is in use. Both sources of localization technology, GPS or cell tower served us for decades with acceptable accuracy, but these are unfortunately not suitable for indoor locations. This lead us to think: what about localizing phone devices or objects inside a building? From this question emerged the concept of Indoor Localization System (ILS) or Indoor Positioning System (IPS).

1.2.3 Indoor Localization

As mentioned before, GPS-signal does not go through construction materials and therefore GPS can not help localizing devices inside a building. For instance in an airport, a passenger can find his way to a departure gate, if the passenger knows his current location. A major amount of research regarding ILS/IPS have been conducted since 1992. For instance, Active Badge (p.304) till Radar 2000 using Radio Frequency (RF) or RSSI of Wi-Fi to localize devices inside a building.

1.2.4 Bluetooth and BLE

Bluetooth® is a successful wireless technology standard for exchanging data over short distances (using short-wavelength Ultra high frequency (UHF) radio waves in the Industrial, Scientific and Medical Band (ISM) band from 2.4 to 2.485 GHz ). Bluetooth is useful to many applications, but it is power consuming. Therefore it has lead to introduce BLE which is the low power version of Bluetooth that was built for the Internet of Things (IoT) [6].

The power-efficiency of Bluetooth with low energy functionality makes it perfect for devices that run for long period on power source, such as coin cell batteries or energy-harvesting devices. Native support for Bluetooth-technology on every major operating system enables development for a broad range of connected devices – from home appliances and security systems to fitness monitors and proximity sensors. Apple introduced iBeacon back in 2013. This was a little device based on the BLE protocol. The main purpose is to advertise short compact messages like Service Set IDentifier (SSID) and extra information like major value, minor value, etc. In some of modern iBeacons (like the Estimote we use in our experiment) collect environment information such temperatures and accelerometer. With iBeacons it became possible for researchers and commercial companies to go in different direction with ideas, for example shinsuke and zhu use RSSI to calculate proximity distances to iBeacon, Mazan use Neural Networks and more recently, we see companies like Estimote [7], [8], Senion [9], Infsoft and other players promise indoor localization solutions with the use of iBeacons besides RFID technology. Furthermore, by combining iBeacons data with other sensor network data, it improves accuracy as described in Chen paper. Finally, by combining different type of sensors, we create an Indoor Position System (IPS).

If we take RFID for instance, RFID tags need a reader on every point where the position has to be determined. Since readers are relatively expensive, it is not possible to mount them across the whole building. Thus, it is only possible to determine the position at a few points.

iBeacons work with BLE, it means all modern smartphones are capable of receiving its signal, unlike RFID. This said, using RFID on all equipment’s and building area will end up being an expensive affair. We have made comparison chart 1.1 between RFID and iBeacons. In addition, challenges like costs, size and power consumption of tracker tag is highly considered in any object tracking solution.

RFID vs iBeacon
Table 1.1: RFID vs iBeacons comparison chart

1.3 The Problem

As mentioned in the previous section, RFID requires the proper infrastructure and deployment. Nowadays, almost everybody have a smartphone, that has a high number of built-in sensors (like accelerometer, gyroscope, compass, pressure, light etc.) and communication technologies (like Wi-Fi, Bluetooth, BLE, NFC, g3/g4 network, sms etc).

All modern smartphones has built-in BLE. As shown in RFID versus iBeacons comparison chart 1.1 BLE does not require infrastructure. This can be used on existing smartphones [10] with the proper application as localization system. The driver behind the use of iBeacon technology for the purpose of tracking objects in indoor environment lies in the long battery life (up to five years), the affordable price (around 10$) and how easy it is to deploy.

With a high amount of smartphones and cheap iBeacons, we raise the following questions:

  1. Can we use iBeacons for assets localization while relying on smartphones inside a building?
  2. What is the pros and cons of using iBeacons for asset tracking?

We will introduce and validate an approach to localizing assets and its historical overview of the past locations in an indoor environment.

1.4 Approach

In our context 1.1 we presented the idea of location systems in indoor environment using the Radio-frequency identification (RSSI) value from the iBeacons, which is a method already deployed for indoor localization by Zhu. In our approach, we want to find out how this is achievable, by designing and building an Indoor Equipment Localization System (IELS), a system that use iBeacons to localizing mobile objects in real indoor environment. We will evaluate it experimentally as use case in our testbed (PitLAB, 5th floor at IT University of Copenhagen).

1.5 Contribution

The main contribution of the project lies in the design, implementation and evaluation of a methodology for locating objects and tracking its moving history in an indoor environment. Throughout the years, an significant amount of research in the development of Indoor Localization System has been conducted. In these finding, we have found interesting approaches, but also product with no further technical details. This said, the rapid increase of the mobile market will leave a major opportunity for future

To continue…

[2] In this Thesis, we use iBeacon as name convention.
[10] smartphone with BLE technology

How to add extra configuration to web.config for Release environment

As you are aware of that you might need to added extra configuration to web.config when you release your ASP.NET project.

You can easily do this using File Transformations concept.

The key point here is to add xdt:Transform="Insert" in the root tag hierarchy you want to be added for the respective environment.

By default you have your Web.config file, but you have also Web.Debug.config and Web.Release.config as seen in the image below:

Web.config File Transformations
Web.config File Transformations

Lets say you want to added a redirection from http to https in your release of the application. Then edit Web.Release.config and add following lines:

<?xml version="1.0"?>
    <rewrite xdt:Transform="Insert">

So next time you publish your project the tag with rewrite and its sub-content will be added to web.config file.

To see that before you publish, right click on Web.Release.config and click Preview Transform.

Preview Transform web.config
Preview Transform of Web.Config

You will see the difference between initial version and release version.

File Transformations changes
Preview File Transformations changes

Get more details about File Transformation from Microsoft.



Finally I have spent some time developing a little windows console app to download mp3 from YouTube.

The idea of this little software, is for learning purpose and to demonstrate some primitive programming logic. This software should be used only for own private uploaded materials or non protected content. This software is made as is and developer is not responsible for its usage. It is highly encouraged to read and respect YouTube policy and copyright note. You are welcome to continue improving it for learning purpose or you are also welcome to star it and join as contributor in Git, just email me This software is license under MIT license agreement.


Third party packages/libraries:

  • MediaToolkit
  • Newtonsoft.Json
  • NSubstitute
  • NUnit
  • Shouldly
  • VideoLibrary
  • Costura.Fody


Reference: Is it legal to use YouTube to mp3 converters?

Install Notepad++ Compare plugin

  1. Start your Notepad++ as administrator mode.Notepad++ Admin Mode
  2. Press F1 to find out if your Notepad++ is 64bit or 32bit (86x), hence you need to download the correct plugin version. Download Compare-plugin v.2, from: Version
  3. Unzip Compare-plugin in temporary folder.
  4. Import plugin from the temporary folder.Notepad++ Import PluginsNotepad++ Import Plugins
  5. The plugin should appear under Plugins menuNotepad++ Compre MenuNotepad++ Compre Ui

It is also possible to drag and drop the plugin .dll file directly in plugin folder:
64bit: %programfiles%\Notepad++\plugins
32bit: %programfiles(x86)%\Notepad++\plugins