Search code examples
javaandroidgeolocationbluetooth-lowenergyiot

How to determine geolocation


I have a problem that is quite difficult to solve for me. In fact, we are trying to build a program to help people with disabilities(visually impaired). An android application which aims to communicate their position and which will allow them to tell them the path to follow if they want to go from point a to point b in the school. Example: Ivan is on the second floor and wants to go to office 215. A voice command allows him to indicate his destination and the application takes care of the rest. We tried to test on one floor while waiting (install the sensors in a corridor, and try to see how these sensors work) these sensors should tell the position of the phone in real time, but we are having trouble determining the position in real time of the phone. Does anyone here have an idea how to solve this problem? adroid studio java

There is an application that determines its location relative to three bluetooth sensors, the signal strength received by the smartphone is not constant with interference, how can I solve this problem


Solution

  • I don't have the in depth knowledge or experience to give you a complete answer, but I've had a limited amount of exposure having worked on a similar project recently and so can offer some (very) limited insight. There are many companies who have attempted to make accurate indoor positioning work using ble beacons and as far as I'm aware they pretty much all come up against the same problems. The accuracy of positioning can't be relied on because the signal strength (used to measure distance) fluctuates for various reasons. This is usually down to environmental reasons which cause the signal to be weakened by blockages between beacon/receiver and even to reflect off of surfaces and cause "ghost" signals.

    One approach that has helped with accuracy in some cases is a technique known as "RSSI Fingerprinting" combined with machine learning. I would suggest you read up on this area to see if you can find info that would help.