Search code examples
androidibeacon-androidestimoteandroid-ibeacon

How to change power Estimote beacons?


I'm trying to deal with Estimote/Android-SDK Link Here

I ran the demo, which is located on the github and it finds me all the sensors (6 pieces). But distance is incorrect. My main question is how to change the power of the sensor, which is why it is active at a distance of 70 meters. I want to ask a distance of 5 meters, beyond which it is not available. And how to calculate the distance? Please see my code so far:

 if (beconid.containsKey(beacon.getMinor()) && Utils.computeAccuracy(beacon) <= 0.1) {
                                Log.d("beaconslogg", " getMinor() " + beacon.getMinor() +
                                        "  getMajor() " + beacon.getMajor() +
                                        " getMacAddress  " + beacon.getMacAddress() +
                                        "   getProximityUUID   " + beacon.getProximityUUID() +
                                        "  getName   " + beacon.getName());

                            }

Solution

  • You can use the writeBroadcastingPower method in Android SDK to change the power, and thus range, of a beacon. Keep in mind though that it doesn't establish any solid boundaries of the signal range, because radio waves simply do not work that way (you cannot tell a radio wave to stop propagating further after covering a specific distance). Consider a lightbulb: it makes a certain area bright, but the light itself travels much further, dissipated. It’s the same with beacons. We have a lengthy post on Estimote blog explaining the relation between range and power in more detail: http://blog.estimote.com/post/106913675010/how-do-beacons-work-the-physics-of-beacon-tech

    Cheers.