2015-01-14 1 views
0

Я нашел сообщение о том, как распределить все маяки и найти ближайший. Я хорошо это работаю. Но теперь я хочу сделать то же самое для группы нескольких маяков. Я предполагаю, что регионы - лучший способ сделать это с помощью библиотеки AltBeacon. У меня нет проблем с совместимостью Apple/iBeacon.Возможно ли обнаружить ближайшую область (нескольких маяков) в библиотеке AltBeacon?

Я смотрю на создание простой домашней масштабированной системы зонирования, где есть группа маяков для каждой комнаты.

Я работаю из справочного приложения. Я не настоящая разработчик, поэтому мои усилия сильно основаны на примерах. Я понятия не имею о структурах Java. Выяснить, где разместить некоторые примеры кода, было сложно для меня.

На данный момент я ввел код в раздел didRangeBeaconsInRegion, но он запускает все области, которые я создал (1 за номер). Я понятия не имею, как отслеживать состояние через несколько прогонов этого раздела кода?

Я полагаю, что если регионы не могут быть использованы для этого, то некоторый тип массива местоположения вместе со статусом «массив» для отслеживания состояния каждого маяка и оценки местоположения на основе верхних записей следующий лучший вариант?

TIA!

ответ

0

В домашнем приложении большинство, если не все маяки, обычно находятся в зоне действия. Регионы, вероятно, не помогут, потому что даже если вы организуете свои маяки в регионах, ваше мобильное устройство сообщит, что оно находится во всех регионах одновременно.

Что бы я сделал, это установить третий маяковый идентификатор (то есть ID3 или «второстепенный») для каждого маяка, чтобы оно было одинаковым значением для каждой комнаты. (например, используйте 1 для кухни, 2 для гостиной и т. д.). Затем используйте только один регион, который соответствует всем маякам.

В вашем диапазоне обратного вызова выясните, какой маяк ближе всего, сравнивая поле расстояния каждого маяка. (Самый низкий из них самый близкий.) Наконец, посмотрите на значение ID2 ближайшего маяка, чтобы выяснить, в какой комнате вы находитесь.

+0

К сожалению, это не отвечает на мой вопрос. Хотя я понимаю суть определения одного маяка, это не дает мне представления об обработке нескольких маяков - независимо от их обнаружения. Я, скорее всего, уменьшу потребление энергии маяками, чтобы они не могли так легко перекрываться. Но все же возможность взглянуть на группы маяков, чтобы выяснить ближайшую «группу», кажется очень полезной. Опираясь на один маяк, только увеличивает вероятность неправильного использования. – usernotdev

+0

Поймите, что если вы передаете несколько маяков, и вы настроили один регион, который соответствует всем им с помощью «нового региона» («myGlobalRegion», null, null null), 'didRangeBeaconsInRegion' будет включать в себя список всех видимых маяков , – davidgyoung

+0

Понял. Я могу сделать это сейчас. Но я хочу улучшить точность, используя несколько маяков в комнате, что и приводит к моему вопросу. Мне нужно знать, какие маяки связаны с той комнатой, поэтому я надеялся использовать для этого регион UniqueID. Но звучит так, будто вы говорите мне об этом (как будто это не реально), поэтому мне просто нужно посмотреть на другие идеи о том, как связать группы маяков с комнатой. – usernotdev