BluEyesBluetooth Localization and Tracking
BluEyesBluetooth Localization and Tracking
Ei Darli Aung Jonathan Yang
Dae-Ki ChoMario Gerla
Ei Darli Aung Jonathan Yang
Dae-Ki ChoMario Gerla
outlineoutline
BluEyes Introduction
Related Works
Experiment Results
System Model
Conclusion
introductionintroduction
Multiple localization technology available
GPS
Wi-Fi
Can we use Bluetooth to localize and track?
incentiveincentiveRetailers carefully layout their store to ensure displays and paths are well designed to attract the attention of customers.
Studies show that putting displays in high traffic areas affect people’s buying patterns.
Bluetooth phones are so prevalent that they are a good candidate to track the paths a customer takes in a store.
Learning customer traces can help retailers decide where to put displays.
outlineoutline
BluEyes Introduction
Related Works
Experiment Results
System Model
Conclusion
radarradarRF-based wireless network system for locating and tracking users inside buildings.
Uses signal strength information gathered at multiple receiver locations to triangulate the user’s coordinates.
Two models for determining location of node
Empirical Model
Radio Propagation Model
empirical modelempirical modelCreate a global table that keeps information about the map. Stores the following tuple: (x,y,d,ssi,snri)
x, y - coordinate on map
d - direction (north, south, east, west)
ssi - signal strength according to each sensor i
snri - signal to noise ratio according to each sensor i
Compare live readings with learned readings stored in table to determine position
Radio Propagation Model
Radio Propagation Model
Uses a mathematical model of indoor signal propagation
Generates a set of theoretically-computed signal strength data similar to the data set in the Empirical Model.
Does not require the significant effort needed to construct the data set in the Empirical Model for each physical environment of interest.
cricketcricket
A decentralized location support system
Uses a combination of RF and ultrasound to provide the location support service
cricket beaconscricket beacons
Cricket uses beacons to publish information about the location through RF signal to listeners
A beacon is a small device which is mounted on a wall or ceiling
With each RF advertisement, beacon also transmit ultrasonic pulse concurrently
cricket listenerscricket listeners
A listener is a small device that listens to messages from beacons and infer its location using those messages.
It can be attached to any static or mobile device.
A listener provides an API to programs that are running on the node to allow them to know where they are.
how cricket listener infers locationhow cricket listener infers location
FACT: Speed of sound in air < speed of light (RF) in air
When listener hears RF signal, it turns on its ultrasound receiver and starts listening to the corresponding ultrasound signal.
Upon receiving the ultrasound signal, it calculates the time difference between the receipt of the first bit of RF info and the ultrasound signal to determine the distance to the beacon.
cricket is good but...cricket is good but...
Low cost: $10 per beacon and receiver
Decentralized
Space efficient
But it is a location support system, NOT a location tracking system.
previous bluetooth localization work
previous bluetooth localization work
Bluetooth provides three connection status parameters:
Link Quality (LQ)
Received Signal Strength Indicator (RSSI)
Transmit Power Level (TPL)
Devices cannot support more than a single Bluetooth connection, making triangulation difficult.
Reported RSSI values is of no use due to the lack of resolution and slow update rate.
previous bluetooth localization work
previous bluetooth localization work
Previous works show that RSSI gives no resolution to determining distance.
LQ does not vary much in short distances.
RX power level has superior correlation to distance.
outlineoutline
BluEyes Introduction
Related Works
Experiment Results
System Model
Conclusion
rssi samples vs distancerssi samples vs distance
RSSI samples taken at every meter for 20 meters.
PC used as slave on top graph.
Phone used as slave on bottom graph.
RSSI values fluctuate significantly even for the same device at a static location.
average rssi vs distanceaverage rssi vs distance
Contrary to previous studies, our results show negative linear trends for both devices.
Different bluetooth devices sense different RSSI values even at the same distance.
However, both devices show the same trend.
average rssi vs distance
average rssi vs distance
2 master nodes sensing same slave node.
Slave node placed at 5 meters away from both masters.
Average RSSI measurement on master nodes are almost the same.
RSSI measurement only varies across different slave devices, not master devices.
Master Node
Avg RSSI
1 -64.1875
2 -64.3696
outlineoutline
BluEyes Introduction
Related Works
Experiment Results
System Model
Conclusion
system modelsystem model
Database stores learned RSSI and range values (in meters)
Sensor (Master) nodes send data periodically to server
Server processes data and displays tracked device (Slave) location by comparing live samples with learned values.
assumptionsassumptions
2 sensor (Master) nodes and 1 slave node
Slave travels in a straight line between the two sensors which are placed 10 meters from each other.
Sensors only have learned RSSI data for up to 10 meters.
database schemadatabase schema
Sensors
(ID, Distance, RSSI)
Average
(Distance, Avg)
sensor nodesensor node
Scans slave devices and collects RSSI values continuously
Periodically sends (sensor MAC, slave MAC, RSSI, timestamp) grouped by slave MAC
processing at serverprocessing at server
Server runs with multiple threads while listening on a specific port
Whenever it receives data from a sensor node, calls processing() function
processing functionprocessing function
• For each device/distinct MAC
• Get average of the RSSI values
• Compare the average with averages from learned values ad get the closest “meter”
• Consider the closest “meter” AND ±1 meter
• For each meter_to_consider
•Avg_distance[i] = Calculate distance between the device RSSI values and learned values for the meter
• Winner = min(avg_distance[])
• Display(winner)
calculating distancecalculating distance5 samples from slave device => (x1’, x2’, x3’, x4’, x5’)
Learned values:
Each meter contains 4 tuples
Each tuple contains 5 learned RSSI values => (x1, x2, x3, x4, x5)
•For each tuple
•Distance = √((x1-x1’)2 + (x2-x2’)2 + (x3-x3’)2 + (x4-x4’)2 + (x5-x5’)2)
Return the average distance
displaydisplay
• For each distinct slave
•Get the calculated distance from each sensor node
•Translate the two distances into global coordinates
•Take the average
additional improvements
additional improvements
Use Auto-Regression to smooth the live RSSI samples based on past samples.
Use the filtered RSSI samples to find the best match “meter” and calculate the distance
outlineoutline
BluEyes Introduction
Related Works
Experiment Results
System Model
Conclusion
conclusionconclusionProgress thus far:
Researched current localization technology
Produced RSSI vs. Distance results different than related works in Bluetooth localization
Proposed a system model for localizing and tracking a Bluetooth device
Sensor nodes can pick up neighboring Bluetooth devices with RSSI values, MAC address, and timestamp.
Network communication between sensor nodes and back-end server implemented.
Set up back-end server database
conclusionconclusion
Work in progress:
Server processing of live RSSI samples
Implement auto-regression for data sample smoothing
Display the calculated slave node location
questionsquestions