The fingerprinting is the process that builds a database of ambient radio signals (radio fingerprints) and/or camera images (visual fingerprints) for a target venue and it is the most important step during the deployment of Accuware Indoor Navigation, Accuware Indoor Tracking and Accuware Wearabouts. The fingerprinting process is also known as “site survey”. The fingerprints database resulting from this process correlates specific locations in the venue with the ambient radio signals detected and/or images captured. The quality of the location-to-ambient-signals correlation established during the fingerprinting process, directly affects the system’s positioning accuracy. Therefore, it is essential to understand what is the idea behind the fingerprinting process and what is a fingerprint.

What is a fingerprint

Radio fingerprints

A radio fingerprint is a collection of radio signal identifiers and their corresponding Received Signal Strength (RSS) detectable at a specific, known physical location (identified by latitude, longitude and level). The Accuware Indoors App for iOS can be used to detect the following types of radio signals:

Fingerprints are collected using a device with the Accuware Indoors App installed, during the fingerprinting process. The fingerprints collected are uploaded in a database to the Accuware server. Every fingerprint taken is “attached” to a physical location on the floor plan, and ideally combines readings from all detectable radio signals at that physical location, with varying signal strength (RSS) from each one of them.

Example

Below you can find a JSON with 2 fingerprints (id 0 and id1) collected by an iOS device with ID UBLB3UF56V9D. The first fingerprint contains the RSS and IDs of 3 iBeacons while the second fingerprint contains the RSS and IDs of 2 iBeacons:

Visual fingerprints

The Accuware Indoors App for iOS can’t be used to collect camera images (visual fingerprints)!

What is the idea behind the fingerprinting process?

Key to a successful fingerprinting is taking each fingerprint at a known location, which means a location whose latitude, longitude and level are known. Location coordinates can be provided by floor plans aligned on geo-located building pictures, at the corresponding level. This is why it’s important to have in place good quality floor plans.

Once floor plans are uploaded to the Accuware dashboard a smartphone or tablet with Accuware Indoors App installed on it can download them. The Accuware Indoors App enables defining routes directly on the floor plans. Each route is a sequence of locations between a beginning and an end point. Once a route is defined, the Accuware Indoors App automatically collects the fingerprints at periodic intervals. At the end of each route, the data is uploaded to the Accuware server. This process must be repeated for each route, on each level of the venue. This is what it takes to build the fingerprints database. The fingerprints database resulting from this process correlates specific locations in the venue with the ambient radio signals that can be detected in those locations.

It should be clear by now that the area where the fingerprinting is performed should have abundant ambient radio signals as explained inside the previous pages.

Choose a device for the fingerprinting

The fingerprinting can be performed using any of these Apple devices with at least iOS 7:

  • at least iPhone 4s
  • at least iPad (3rd gen)
  • at least iPad mini
  • at least iPod touch (5th gen)

WARNING: please keep in mind that the technical specifications of the device chosen to perform the fingerprinting process (a one-time process) are different from the technical specifications that must be available on the devices that will have to benefit from the Accuware Indoor API/SDK or from the Accuware Wearabouts App.

Check the Internet connection

A  valid Internet connection (Wi-Fi or cellular data) is needed by the Accuware Indoors App inside the entire area where the fingerprinting will be performed in order to:

  • download the floor plan necessary to perform the fingerprinting process.
  • visualize the Google Map underlying the floor plan.
  • upload the radio fingerprints.
  • download the location computed by the Accuware server OR download the database of fingerprints from the Accuware server.

If you are using a Wi-Fi Internet connection these are the requirements that MUST be met:

  • Accessible domains:
    • s3.amazonaws.com
    • its.accuware.com
  • Ports (opened outbound): 53/tcp (DNS), 80/tcp (HTTP) and 443/tcp (HTTPS)

In some cases, the traffic to and from the Accuware Indoors App is blocked by a proxy server or a firewall on the corporate network. This blockage prevents the Accuware Indoors App from working smoothly. Please work with your system administrator to ensure the ports and domains above are accessible.

Prerequisites

These are the prerequisites that MUST be met before proceeding:

  • you have an Apple device with the technical specifications described in the previous paragraph.
  • there is a valid Internet connection as explained in the previous paragraph.
  • you have a set of Accuware credentials received through the Accuware Activation email.
  • you have a floor plan (or another reference system) as explained in the Reference system page.
  • you have followed all the steps inside the page Plan an installation.

Step 0 – Activate your Bluetooth

The first thing that you have to do is to activate the Bluetooth chip of the device that you will use for the fingerprinting process and disassociate the Bluetooth from any other Bluetooth device in the environment (e.g. headsets, speakers etc..).

Step 1 – Install the Accuware Indoors App

Accuware provides a mobile app for iOS designed for performing the fingerprinting and it is available from iTunes. To install the Accuware Indoors app on your Apple device:

  • Tap the App Store button on your device (or click this link from the device).
  • Tap the Search button from the bottom portion of the screen.
  • Type Accuware Indoors, and tap on search.
  • Tap on the Accuware Indoors App and tap on INSTALL.
  • Type your Apple ID and password.
  • Wait for the app to load and install.

Step 2 – Configure the Accuware credentials

Once the Accuware Indoors App is installed and active, the Map view will appear on the screen of your device (you are now in the VIEW LOCATION mode):

  • Press the Settings button on the upper left side.
  • Inside the ACCUWARE ACCOUNT section, enter:
    • your username (as provided in the Accuware Activation email).
    • your password.

You don’t have a set of credentials:

  • please submit a support request using this form.
  • or test the Accuware Indoors App in EVALUATION mode following the instructions in this page. Please keep in mind that:
    • the Rear Camera can’t be tested with the Indoors App in EVALUATION mode.
    • the TRACKING mode can’t be tested with the Indoors App in EVALUATION mode.

  • Inside the SITE AND LEVELS section, enter your Site ID (as provided in the Accuware Activation email) and 0 for the Level ID. If you have multiple levels (created inside the Accuware dashboard), please separate them with a space character. If you enter Level IDs that do not contain a floor plan OR Level IDs that do not exist you will receive the error: Floor plan fetch completed, no floor plan retrieved.
  • Press the Done on the upper left side and the floor plans will be fetched (according to the levels chosen inside the settings of the App).
  • You will be asked if the Accuware application can use information about your current location. Tap ALLOW.

Step 3 – Setup the Accuware Indoors App

By clicking again on the Settings button (on the upper left side of the main screen) you will be able to access all the settings of the Accuware Indoors App. Please read the information below carefully before proceeding with the fingerprinting.

3.1 – Settings

INDOORS MODE

This is a switch that allows you to change the method used to compute the indoor location of the devices:

  • Tracking: the indoor location is computed remotely by the Accuware server pattern-matching the snapshot of the radio signals detected in real-time (and sent to the Accuware server) against the database of radio fingerprints created during the fingerprinting of the site.
  • Navigation (used by default): the indoor location is computed on the device by the Accuware Indoors App pattern-matching the snapshot of radio signals detected in real-time against the database of fingerprints created during the fingerprinting of the site (and downloaded locally on the device). The computed location may be improved thanks to the optional usage of the built-in sensors of your device (accelerometer, gyroscope, compass).
    • The location is visualized on the main map of the the Accuware Indoors App.
    • The location is computed on the device and can NOT be accessed remotely! If you want to track remotely these devices, when using the Accuware Indoors SDK set in NAVIGATION mode, you have to develop on your side a small function to send the location computed on the device to your server.

Should I choose TRACKING or NAVIGATION mode? The choice depends on the objective of your project. If you are not sure about the choice please look at this page. Please keep in mind that the mode chosen (TRACKING or NAVIGATION), does not have an impact on the fingerprinting process!

BEACON MODE

This is the most important setting of the App and it allows to choose the type of fingerprints (radio signals and/or images) collected during the fingerprinting process and used to compute the indoor location of the devices:

  • iBeacon (default: on) – collect the radio signals transmitted by iBeacons.
  • Rear camera (default: off) – capture the images from the rear camera of the device. NOTES:
    • the Rear Camera is not used when the “Indoors Mode” setting is NAVIGATION.
    • the Rear Camera can’t be used for the fingerprinting process. It is used only for the positioning process in TRACKING mode IF a database of visual fingerprints has been previously created using the Accuware Indoors App for Android!

IBEACON CONFIGURATION

The first thing that you need to do is to:

  • enable the switch related to one or more iBeacons vendors.
  • or if you have iBeacons from a different vendor you need to enter the UUIDs of the iBeacon vendor inside the Proximity UUIDs field. If the iBeacons are from multiple vendors (with different UUIDs) then you can enter multiple UUIDs separating them with a space character. UUIDs are long strings like this one: D0306CA4-FA3F-499A-8035-DD1248D8C55E

How to discover the UUID of the iBeacons inside the environment: this can be done by using any of the many 3rd party application available on iTunes when searching: iBeacons.

IMAGE STORAGE OPTIONS

The following switches describe how the system should handle the storage of the images uploaded in real-time during the positioning process – this setting is not relevant when the “Indoors Mode” setting is NAVIGATION

  • Store (default: off): the information about the images (and the viewable images if Link is selected) are stored on the Accuware cloud server.
  • Link (default: off): the viewable images are stored on the Accuware cloud server and can be accessed through a link when calling an API.
  • Auto-Age (default: off): the information about the images (and the viewable images if Link is selected) are stored on the Accuware cloud server for a limited amount of time (24-48 hours) and then destroyed.

DISPLAY OPTIONS

  • Automatic Level Selection (default: on): enable or disable the automatic switch of the level. This is useful when you have more than one level and the fingerprinting has been performed on all the levels. When walking from one floor to another, it could take several seconds for the Accuware Indoors engine to reflect this change inside the App. Anyway after no more than 4-5 steps inside the new floor, the blue-dot is shown on the new floor.
  • Animated Position Update (default: on): enable or disable the smooth movements of the location shown (blue dot) in VIEW LOCATION mode.
  • Use Tile Layer (default: off): this switch is useful to optimize the visualization of large floor plans when they look blurry. If the quality of your floor plan is not good enough to allow you to perform the fingerprinting process: enable this switch, get in touch with us and we will enable the Tile Layer option server side allowing you to see a floor plan with a higher quality.
  • Use Small Icons (default: off): when enabled the fingerprinting markers and the blue dot are displayed with a smaller size.
  • Floor Plan Visibility (default: visible): this allows you to choose the level of visibility of your floor plan. You can choose TRANSPARENT if you want to use the indoors maps made available by Google during the fingerprinting process and when viewing the location in the main map view. You can find more information about this matter in the Reference System page.

NAVIGATION MODE OPTIONS

  • Use Legacy filter Mechanism (default: off) – when this option is active (and the Indoors Mode is NAVIGATION), the Indoors engine uses the previous version of the positioning algorithm which is not as good as the latest version  because it makes use  of the built-in sensors of your device (accelerometer, gyroscope, compass) which are not very reliable sometime.
  • Stay Offline While Navigating (default: off) –  Leave this option disabled unless differently instructed by the technical support. Enabling this option without the correct files on your device will lead to an error.
    • When this options is OFF (and the Indoors Mode is NAVIGATION) the Internet connection is required for a short time at the beginning of navigation session in order to download the fingerprints and metadata from the servers.
    • When this option is ON (and the Indoors Mode is NAVIGATION) the Internet connection is no longer required at the beginning of a navigation session. The Indoors engine uses the fingerprints and metadata files uploaded to the device memory.
  • Show Compass Calibration Tool (default: off):  choose to enable or disable the calibration circle that appears when you need to calibrate the compass.

TRACKING MODE OPTIONS

  • Movement Detection (default: on): when enabled and when the Indoors Mode is set to TRACKING, if the device is not moving, then the location is stabilized (less jumpy) thanks to the check on the accelerometer of the device.

FINGERPRINTING

  • Show Tutorial (default: on): choose to enable or disable the tutorial prompt that is shown when you are starting the fingerprinting process.
  • Show Guide (default: on): choose to enable or disable the animated dot that can assist you to walk at a steady pace while fingerprinting a level. The speed of the dot is only a suggestion. If you walk faster or slower than the dot, it does not matter. The fingerprinting will be successful as long as you walk in a steady pace and straight lines, and tapping on the way points when reached.

MISCELLANEOUS

  • App Version: this is the version of the App. Please report this version to us when asking for support.
  • Indoors Device ID: this is your device unique identifier necessary when you want to track remotely the location of the device on the Accuware dashboard or using the Accuware API. This pMac (pseudo MAC address) contains a total of 12 characters beginning with a “U” (e.g. U6K2AI8VSIF4).
  • Contact Us: click this button if you want to send an email to the Accuware Support team.

3.2 – Debug panel – Positioning mode

Anytime, in Positioning mode (the mode enabled by pressing the cross-hair icon), by long pressing on the floor plan area for more than 5 seconds, you can enable or disable the debug panel. This additional panel is very useful to visualize in real-time several statistics regarding the radio signals detected. The debug panel provides these information:

First line: #of location updates, level ID, latitude, longitude, precision

Second line:

  • (i)Beacon: # of iBeacon scans | # of iBeacons in last scan | Average duration [ms] an iBeacon scan takes
  • (C)amera: # of images scans| # of  failed camera updates during this session| # of images in the last scan | Average duration [ms] a camera scan takes
  • (L)ocation updates: # of location updates during this session | # of failed location updates during this session | Average period [ms] of location updates

# of iBeacons is always 0: it could be that:

  • the Bluetooth chip is not enabled on your device
  • or there are no iBeacons inside the area.
  • or the iBeacons are not transmitting their identifier or are simply turned off
  • or the UUID set inside the Settings of the App is wrong
  • your iOS version is not compatible with the iBeacons standard (at least iOS7 is required)
  • the iBeacons scanning capabilities are not working due to the fact that the device has been upgraded from iOS 6 to iOS 7. In this case in order to enable the iBeacons detection you need to hard reboot your device by pressing the home and the power button together and keep them pressed for 10 seconds. To check if your iOS device is able to detect iBeacons you can install this App from iTunes.

Step 4 – Fingerprinting process

The fingerprinting process is made of 2 steps that need to be repeated until the area of interest is covered:

  1. definition of a route: during the first step you have to define a route along which the fingerprints will be collected.
    • A route is drawn over the floor plan previously uploaded.
    • A route must match as much as possible one of the paths normally followed by users/visitors when they move inside the environment.
    • A route is defined by tapping the interface of the Accuware Indoors App to place markers on the floor plan: at the start point, at each point where there will be a change of direction (way points), and finally, at the end point.
  2. collection of the radio signals: during the second step, you have to walk along the route defined and the Accuware Indoors App will automatically collects the ambient radio signals detected along the route.

Once the fingerprinting has been performed (the fingerprints have been collected) on your first route, we strongly suggest to read the page Evaluate the fingerprinting to determine if any action has to be taken in order to improve the quality of the fingerprinting process (so you don’t have to perform the fingerprinting again for the whole site later on because something was not set properly from the very beginning). A gradual evaluation is especially important for large venues where doing the fingerprinting process from scratch can be time consuming.

IMPORTANT: as just explained, the 2 steps above need to be repeated until the area of interest is covered. You can (and you have to) collect the fingerprints on multiple routes. Never ever perform the fingerprinting defining one unique long route for that covers the whole site.

How to perform the fingerprinting

The accuracy with which a device’s location can later be determined is a function of the quality of the fingerprints data collected. Poor quality data will produce noticeable jumpiness and low accuracy. Therefore, good route planning and a disciplined approach for collecting data and verifying its quality is essential for optimal performance. This is why the fingerprinting must be performed following some simple but important rules listed here:

  • length of the routes – define routes of a reasonable length (no longer than 50 meters) with way points in correspondence of key locations (e.g corners, doors etc..). This kind of reference points will be of great help during the fingerprinting. You can (and you have to) collect the fingerprints on multiple routes. Never ever perform the fingerprinting defining one unique long route for that covers the whole site. 
  • type of routes – define routes that are close, as much as possible, to the paths that are/will be normally followed by the owners of the devices that will benefit from the indoor location/tracking capabilities (all the areas people can be found on). Routes must be planned to adequately cover the entire area of interest, including atriums, hallways, and any nooks and crannies such as staircases and storage rooms, as required. Please do not define routes that cover areas of no interest.
  • walking speed –  the fingerprinting must be performed by walking on the routes at regular speed.
  • number of passes on the routes – each route MUST be walked 2 times: once in each direction. There is the Invert button inside the Accuware Indoors App that can be used to invert a chosen route. There is no need to walk on a route more than twice (back and forth).
  • multi-floor buildings: the fingerprinting must be performed on all the levels in which you want to offer indoor location/tracking capabilities. Each one of the levels must have its floor plan previously uploaded according to the information inside the Reference System page.

Multiple Apple devices can perform the fingerprinting process at the same time using the same set of Accuware credentials contained in the Activation email (or using a new sets of credentials created by following the instruction in this page). However keep in mind that it is not possible to share the routes chosen for the fingerprinting among different devices. For this reason our suggestion is to assign the fingerprinting process to only one person with one device. This person must be completely aware of how the fingerprinting process works.

Step 4.1 – Definition of a route

  • At the venue, press the Fingerprinting button on the upper right side. Even if it could sounds obvious: the fingerprinting can not be performed remotely!
  • If you entered more than one level inside the Settings, it is time to choose the first level that you want to train by pressing the Levels icon on the right side of the lower bar.
  • Tap on the floor plan on the starting point of your route. A green dot will appear.
  • If you want to change the location of that point, long-press on it, till it becomes orange, and move it to the desired location.
  • If you want to remove the point,  tap it to select it, and press the garbage icon and choose YES to Clear that point.
  • After you set your starting point, you need to set your optional way points and the end point of your route. You set them by clicking on the relevant locations as many times as needed, according to the path that you want to follow:
    • Red dot: is the end point of the route.
    • Blue dots: are the way points.
  • If you want to change the location of a point, long-press on it, till it becomes orange, and move it to the desired location.
  • If you want to change the location of a line between two points, long press that line, and then long press the connecting point that was created till it becomes orange, to move that line.
  • If you want to remove a point, tap on it, and press the garbage icon and choose Yes to Clear that point.
  • If you want to clear ALL your route points/markers, do not tap on any specific point. Simply press the garbage icon and choose YES to delete all the points. This action will not erase the fingerprints already sent to the Accuware server. The route points/markers ARE NOT the fingerprints but they are the routes along which the fingerprints are collected!

Step 4.2 – Collection of the radio signals

The collection of the radio signals can start once a route is defined. Standing at the path’s start, the user enables the collection of the fingerprints, and starts walking at a steady pace while data are automatically collected, moving in sequence from one marker to the next, tapping each marker when passing by it, until reaching the end. Routes MUST be walked along the stated lines between markers, reaching markers in the correct order. Straying away from the direct lines between markers, skipping markers or visiting them in the wrong order will compromise fingerprinting results. Fingerprints are taken automatically by the Accuware Indoors App, scanning the radio signals in the environment at set intervals (that depends on the device specifications). Every fingerprint is time-stamped. Fingerprints collected between two markers are assumed to be evenly distributed in time between them. This is why it is key to move at a steady pace. Geographic correlation between fingerprints and the actual location where they were taken is set by assuming that fingerprints were obtained while moving between two consecutive markers at a constant speed. Intermediate locations are interpolated. A key feature of the interpolation process is that the location of each fingerprint is estimated based on the time it takes to move between two markers whose coordinates are known. This is why it is very important to follow the routes as closely as possible as they appear on the screen, and to tap each marker in the correct order (without stopping) as soon as the physical location they represent is reached. At the end of each route, the user is prompted to save the collected fingerprints or discard them. If accepted, the route’s data is uploaded to the server.

Here is in detail what needs to be done to collect the radio signals:

  • Press the Action icon on the lower left side of the bottom bar.
  • Read the Tutorial prompt carefully and press OK to continue.
  • STEP 1 – Move to the green starting point, and point toward the first way point (or end point if your route is a straight line without way points).
  • STEP 2 – Tap the green dot and start walking in a straight line with a steady pace towards the next point (way point or end point). Follow the blue guide dot. Fingerprints are taken automatically by the App, scanning at set intervals based on the device’s scan rate.
  • STEP 3 – When you arrive at a way point, you have to tap on it while continuing walking normally in a steady pace and in a straight line towards the next way point or the end point. Follow the blue guide dot. Please DON’T STOP when you reach a way point and you tap on it, otherwise the result of the fingerprinting will be compromised!
  • STEP 4 – When you arrive to the end point tap it and stop walking. A prompt will appear to with the following options:
    • “Yes” – if you want to upload the fingerprints collected along the route. If you try to upload the fingerprints and you don’t have an the Internet connection you will get an error message. Anyway don’t worry: at the same time a Cloud icon will appear and you will be able to upload the accumulated fingerprints later on. If you have been able to collect a good set of fingerprints you MUST walk the same route in the opposite direction. To do this:
      • Click on the Invert icon.
      • Start again from STEP 1.
    • “No, discard” – if you don’t want to upload the fingerprints collected along the route (e.g you found an obstacle while walking the route that forced you to stop). Those fingerprints will be discarded and can not be restored in any way. You can collect the fingerprints on the same route by following these steps:
      • Press the Action icon on the left side of the lower bar.
      • Repeat from the STEP 1.
    • “Later” – if you want to upload the fingerprints collected but you don’t have an Internet connectivity available. A Cloud icon will appear and you will be able to upload the accumulated fingerprints later on. Despite the fact that the upload of the fingerprints can be postponed, we suggest to upload the fingerprints step-by-step without postponing the upload of the whole set of fingerprints collected. If you have been able to collect a good set of fingerprints you MUST walk the same route in the opposite direction. To do this:
      • Click on the Invert icon.
      • Start again from STEP 1.

Great! You have been able to collect the fingerprints on your first route in 2 directions. At this point we strongly suggest to read the next section Evaluate the fingerprints to check the quality of the fingerprints just collected for your first route, to determine if anything should be done to improve the quality of the fingerprinting process. Doing a first evaluation of the fingerprinting at this stage is a must, because it allows to check if something is not working as it is supposed to work and avoiding in this way to perform the fingerprinting again for the whole site later on, because something was not set properly at the very beginning. A gradual evaluation is especially important for large venues where doing again the fingerprinting process from scratch can be time consuming.

Once you are done with the evaluation of the fingerprints collected on the first route you can collect the fingerprints for the entire site. To do so you need to:

  1. click on the Action icon (the one with the thunder)
  2. ​Click on the Garbage icon ​ and you should see this prompt “Delete ALL route points?“. Press Yes. If you see a prompt with title “Clear Level” then you are about to cancel ALL the fingerprints! Press No and click on the Action icon.
  3. ​Once done you can defin​e the new route as explained in side the paragraph 4.1 – Definition of a route.

Fix a mistake made during the fingerprinting process

If you made a mistake during the collection of the fingerprints there are chances to you can fix them without too much troubles:

  • if you made a mistake during the collection of the first set of fingerprints…
    • …and the wrong fingerprints have been already uploaded to the Accuware server, then the best thing to do is to delete all the fingerprints collected and start from scratch following these instructions.
    • …and the wrong fingerprints have not been uploaded to the Accuware server, then you need to tap on all the markers on the screen and press NO when you will see the prompt that ask you if you want to Upload your fingerprints.
  • if you made a mistake during the collection of the fingerprints, you have already collected many good fingerprints
    • …and the fingerprints have been already uploaded to the Accuware server, then the best thing to do is to delete only the last set of fingerprints following these instructions.
    • ..and the wrong fingerprints have not been uploaded to the Accuware server, then you need to tap on all the markers on the screen and press NO when you will see the prompt that ask you if you want to Upload your fingerprints