Android: Find my iBeacon Position - android

I am working on iBeacon Application, which will detect my nearest iBeacon and connect to it & serve further process.
I am done with finding my nearest iBeacon and get its all properties like: UUID, Accuracy, Major, Minor, RSSI, Transmiter Power etc.
Now i want to search that, iBeacon is in which direction from my device wheather it is left/right/top/bottom or any other direction corners?
Below my nearest iBeacon search list.

Unfortunately, this is not possible:
Don't expect to be able to determine the direction to a beacon. Because beacons are typically omnidirectional transmitters, although you can estimate distance, you cannot estimate direction.
See: Fundamentals of Beacon Ranging

The thing you're trying to do is not possible using only one iBeacon. You are looking for something like trilateration which requires a minimum of 3 beacons. This might get you started Triangulate example for iBeacons

This technology works due to the fact that we know the coordinates originally iBeacon. To get the coordinates iBeacon you need to know at least their local coordinates. The application uses a local coordinate system on which iBeacons serve as reference points. If you do not know your coordinates and iBeacon then you will have nothing to calculate

Related

Find the distance to Eddystone beacon from the device using Android Beacon Library

I am developing an android application to find the distance from Eddystone beacon to the mobile device. I am using Android Beacon Library and following this example. when I locate my beacon nearly 1 meter away from my device, it shows like below. it shows small values and changes continuously. How to solve this and get at least nearly accurate value.
The "underestimate" shown in the question suggests one or more of the following may be true:
The Beacon has not been calibrated.
The receiving phone device model may have an unusually high measurement of signal strength requiring a device-specific adjustment of its distance calculation.
See here for more information on how to address these issues.
Even once you address the above, set your expectations properly. Bluetooth LE distance estimates are rough. They are useful for telling you if another device is within a couple of meters or many meters away. But they cannot tell you the precise distance to a bluetooth transmitter.

Find the nearest beacon

I am developing an application, that uses iBeacons. Its main feature is to detect the nearest beacon (distance does not matter, I need simply the nearest one) and present some content according to it.
On IOS it works like a charm, there is no question.
On Android I have strange experiences. I know, it is up to the hardware, bluetooth chip vendor etc. but even if a I tried a lot of things (averaging rssi, queing...), I can't make it stable. The beacons are some 3-5 meters away from each other, there are 8 pieces of them in a ~80 square meters room.
I use Android AltBeacon library. I can not detect the nearest beacon in a stable way: sometimes a Beacon, which is some 5 meters away from the device is 'nearer' by RSSI, than a beacon, which is right next to the device and so on. (beacons use the same TX power and advertising interval, altbeacon scanperiod is 250 msec)
What should I do to make it stable? What, when and how should I average rssi? Or should I do it at all? Or...?
Thank you very much!
The RSSI value will depend on a number of things beside the TX power, among them:
Multipath reflections: The 2.4 GHz will reflect from the walls, so if the reflection helps the distant beacon and attenuates the close beacon, then the distant beacon could get at stronger RSSI.
The placement of the antenna: Holding the phone the right way can make a big difference.
I can't say why iOS should work better then Android, but it could be that they have an averaging algorithm that works well. From my two points this is not a simple thing to get right.
To learn more about these issues I recommend reading Deploying iBeacon and Common Questions and Answers in Getting Started with iBeacon.

How to measure the distance between an iPhone acting like an iBeacon and an Android device

I'm using my iPhone as an iBeacon device, and on the other side I have an Android 4.4.2 device scanning for the Bluetooth LE iBeacon signal from the iPhone. I searched for a good and easy way to calculate the distance between iBeacons and my Android phone, but I couldn't find anything that can help me with this.
Could you help me on this matter?
It's impossible to measure beacon distance accurately, I'm afraid, which is why Apple's own code just says "Immediate", "Near", "Far" and "Unknown". The best you can do is set up a reconstruction of the conditions you expect then do trial and error tests to map signal strength to probable distance. Trust me: I've spent a lot of time trying to do beacon distance measurement using a range of hardware.
Remember that the LE in Bluetooth LE means "Low Energy" – this stuff really is designed to use as little power as possible. That means the signal from iBeacons gets interrupted by people, walls and other objects. So, if I'm holding a beacon in my hand and put my phone next to it, I'll get a strong signal. If I move the beacon behind my back, the signal strength will collapse. If I just turn around, that has the same effect (for the same reason).
If you want to go down the "best you can do" approach, you effectively have to recreate at least partially the environment where your app will be used. So, if your app will be used in an office, find an office and place some beacons around there. Same for being in a shop.
Then get your app out and measure beacon strength at various distances to the beacon, potentially with obstacles in the way. With some averaging, you end up with something like "at 1 metre my signal strength was X, at 5 metres it was Y, at 10 metres it was Z", etc, and you then feed that into your distance calculation. It is, effectively, an educated guess.
If you find any library that claims to do beacon distancing for you, it just means they've taken their own educated guess based on their own signal strength testing.
One tip: if you're able to, stick your beacons to the ceiling. This minimises the chance of obstacles (read: people) getting between your beacon and your app.
We built a distance estimation formula into the Android Beacon Library of the form: d=A*(r/t)^B+C, where d is the distance in meters, r is the RSSI measured by the device and t is the reference RSSI at 1 meter. A, B, and C are constants. You can read more about it here. To use it with the library, you range for a beacon and then simply call:
beacon.getDistance();
This returns a distance estimate in meters. The library code is open source, so if you don't want to use the library you can copy the formula and use it directly.
As #TwoStraws notes, distance estimates are pretty rough guesses of how far a beacon is away, and the results you get vary with lots of factors:
The gain of the antenna on the receiving device. (Every Android device model is slightly different)
The noise on the A/D converter inside the phone that measures bluetooth signal strength.
The radio noise in the room.
Any obstructions between the transmitter and receiver.
Any surfaces (especially metal) that reflect radio signals.
Just be sure you set your expectations properly. Distance estimates are good for deciding if a beacon is close or far, or whether one beacon is closer than another. But they are less useful for measuring absolute distance.

Is it possible to show directions and locations to estimote beacons from Android App?

I have been working with Estimote Beacons for Android App Development. I'm getting beacons range and distance from Android. But, i want to show the directions and location of specific beacon to the user to reach specific beacons. So, is it possible to show the direction and location of beacon in Android app to reach to specific beacon?
Getting directional information to a beacon is much, much more difficult than simply getting a distance estimate.
A beacon by itself does not provide any directional information. It is simply a radio transmitter with which you can use the strength of the signal to get a rough estimate of the distance.
It is possible to do full indoor location of a mobile device using multiple beacon transmitters at known locations. Only if you know the specific location of the mobile device vs. the location of beacons can you do what you suggest. Doing this, however, requires sophisticated custom software, non-trivial site surveys, and beacon locations that do not change.
Several companies offer systems that do this, but none are free or open source, and it most certainly is not a core beacon feature.

Does ibeacon require a calibration phase?

I'd like to know if iBeacons require a calibration phase (i.e, like Wi-Fi fingerprinting).
When trying to measure location based on Wi-Fi signal strength there's a need to do an arbitrary prior scan at the location you want to map.
I'd like to know if Iphone/Android already gets a fair coordinate based on ibeacons signal without a map phase.
If you want accurate distance estimates, then yes, it requires calibration.
However, it is not as temperamental as the wifi calibration. And often you can use the default calibration that comes with the particular iBeacon hardware.
For example my company, Radius Networks, makes a number of iBeacon hardware solutions and those are calibrated here in our lab. While environmental changes will effect that setting it often doesn't change things too drastically. For the most part the factory setting will be just fine for many use cases.
Obviously this is not the case if there is some drastic interference, such as installing the iBeacon behind a metal wall, or in a room that will be very crowded (people are notorious for absorbing RF). In those cases it would be best to recalibrate the beacon.
One difference to note about beacon calibration vs. something like wifi calibration, is that the beacon is configured to broadcast a calibration value. That value represents the expected RSSI that a phone will see at 1 meter away. That is then used to interpolate the distance estimate.

Categories

Resources