I am currently working on hobby project where I would like to determine the distance of a Bluetooth enabled mobile device from a wall within a room. The idea is to detect if a mobile phone device (this will avoid the need to give things like IR leds, rfid tags or ultrasound transmitters) is a front of a wall (6m long) and then identify the user based on the unique id (bluetooth address) and enable the user to control the contents on the wall and the contents while be moved more to the position of the mobile phone e.g. roughly following it.
Now I am came up with the idea to hang multiple Bluetooth devices on predefined locations within this room and a front of the wall. Bluetooth devices are coming in three classes one, two and three. Most mobile devices with Bluetooth support are using Class 2 meaning the maximum distance of the phone with other "beacons" can be ~10 meters. Only I am having a problem if it's really feasible. What I am currently now are:
1. Most mobile phones are Class 2 Bluetooth devices (maximum of 10 meters)
2. Maximum connected devices are seven
3. Once the Bluetooth device is connected/"paired" the Received Signal Strength Indicator (RSSI) value can be resolved. Values are in the dBm unit (logarithmic).
4. The indoor environment means less interference of RF (or there should be a lot of WiFi access points microwaves around in the building -- first analysis showed they weren't any)
5. I should be able to calculate the distance of the mobile phone from the "beacon" by using the logarithmic aspect of the RSSI because the value gets lower the farther away the phone is. In combination with mathematics like triangulation or goniometry
6. By using a predefined list of "possible" dBm values we can "fingerprint" the position of the phone within the room -- this might improve the accuracy of the position
My suggested positions for the bluetooth beacons are:
* ------ WALL ------------------- *
| * |
* *
| |
-------------------=------
----------
-
Now my question is are these assumptions correct and is feasible to create this? Are their any project regarding this available or better solutions to achieve the goals (see above) ? I think it is feasible, but the calculated position won't be super precise but good enough for the earlier mentioned id.