2015-02-02 5 views
1

Я пытаюсь справиться с Estimote/Android-SDKLink HereКак изменить мощность Оценочные маяки?

Я побежал демо, который находится на GitHub и он находит меня все датчики (6 штук). Но расстояние неверно. Мой главный вопрос - как изменить мощность датчика, поэтому он активен на расстоянии 70 метров. Я хочу спросить расстояние в 5 метров, за которым он недоступен. И как рассчитать расстояние? Пожалуйста, смотрите мой код до сих пор:

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()); 

          } 
+2

'Utils.computeAccuracy (beacon) <= 0.1' указывает на то, что вас интересует только крайняя близость к маяку, и в этом случае может быть хорошей идеей снизить мощность вещания до минимума: 30 дБм. – heypiotr

ответ

4

Вы можете использовать метод writeBroadcastingPower в Android SDK для изменения мощности, и, таким образом, диапазон, маяка. Имейте в виду, что он не устанавливает никаких твердых границ диапазона сигналов, потому что радиоволны просто не работают таким образом (вы не можете сказать, что радиоволна перестанет распространяться дальше после покрытия определенного расстояния). Рассмотрим лампочку: она делает определенную область яркой, но сам свет движется гораздо дальше, рассеивается. То же самое с маяками. У нас есть длинный пост в блоге Estimote, который объясняет связь между диапазоном и мощностью более подробно: http://blog.estimote.com/post/106913675010/how-do-beacons-work-the-physics-of-beacon-tech

Cheers.