340 likes | 582 Views
BluEyes Bluetooth Localization and Tracking. Ei Darli Aung Jonathan Yang Dae-Ki Cho Mario Gerla. outline. BluEyes Introduction Related Works Experiment Results System Model Conclusion. introduction. Multiple localization technology available GPS Wi-Fi
E N D
BluEyesBluetooth Localization and Tracking • Ei Darli Aung • Jonathan Yang • Dae-Ki ChoMario Gerla
outline • BluEyes Introduction • Related Works • Experiment Results • System Model • Conclusion
introduction • Multiple localization technology available • GPS • Wi-Fi • Can we use Bluetooth to localize and track?
incentive • Retailers 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.
outline • BluEyes Introduction • Related Works • Experiment Results • System Model • Conclusion
radar • RF-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 model • Create 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 • 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.
cricket • A decentralized location support system • Uses a combination of RF and ultrasound to provide the location support service
cricket 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 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 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... • 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 • 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 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.
outline • BluEyes Introduction • Related Works • Experiment Results • System Model • Conclusion
rssi 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 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 • 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.
outline • BluEyes Introduction • Related Works • Experiment Results • System Model • Conclusion
system 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.
assumptions • 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 schema • Sensors • (ID, Distance, RSSI) • Average • (Distance, Avg)
sensor node • Scans slave devices and collects RSSI values continuously • Periodically sends (sensor MAC, slave MAC, RSSI, timestamp) grouped by slave MAC
processing 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 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 distance • 5 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
display • For each distinct slave • Get the calculated distance from each sensor node • Translate the two distances into global coordinates • Take the average
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
outline • BluEyes Introduction • Related Works • Experiment Results • System Model • Conclusion
conclusion • Progress 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
conclusion • Work in progress: • Server processing of live RSSI samples • Implement auto-regression for data sample smoothing • Display the calculated slave node location