Pull to refresh

Comments 33

Спасибо за статью. Не до конца понял как именно Вы храните отпечатки.
В обычном списке, перебирая все постоянно, при каждом перемещении. Для прототипа этого хватило, а в реальности нужно было бы строить граф ближайших и проверять только те, что «могут быть рядом», что позволило бы обрабатывать сетки произвольного размера.
UFO landed and left these words here
Вполне может быть. Впрочем, нейронная сеть нужна там, где нет других, более прямых, алгоритмов. Тут они, как показал прототип, есть.

Но не исключаю, что нейронной сетью получится удобнее.
UFO landed and left these words here
На самом деле да. Вот статья в которой описан подобный подход для навигации — https://www.dropbox.com/s/003tjf6uc42cis5/nav.pdf?dl=0
Там, правда, в качестве источника информации используются Wi-Fi точки, но маячки точно также в него вписываются.
Нужно пробовать. Статья статьей, а в реальной жизни там все ох как плавает.

Но я верю, что это может сработать, направление крайне перспективное.
Ну, описанный в статье подход с определением помещений точно работает, я проверял ;)
Прошу прощения за нубский вопрос: а маяки что-то могут узнать про устройство или это строго в одну сторону работает?
В простейшем случае — только в одну. Но, в теории, если в качестве маяков умные железки, то они тоже могут что-то получить. Я таких в руках не держал, точно не скажу. 99% того, что на рынке — такого точно не умеет.
Из моего опыта, сами маячки ничего знать не могут, потому что они умеют только транслировать сообщения. Всё.
Данная технология, в принципе не предполагает отпарвку маячку чего либо, потому что маячок автономен и не связан с сетью.
Это, в конце-концов, bluetooth-устройство. Думаю, можно придумать что-нибудь, чтобы поиметь информацию об окружающем мире.
Об окружающем мире и маячке пожалуйста. Вы и сейчас можете узнать температуру маячка, каккую то статистику, типа времени работы, количество отправленных сообщений, у некторых даже есть акселерометры и прочее. Но это его датчики.
А вот о пользователях сейчас ни один маячок не знает, это просто не нужно.
UFO landed and left these words here
А какие конкретно маячки использовали и какова их приблизительная стоимость?
Я пробовал несколько разных вариантов. Страндартные — Estimote, Kontakt. Эти две компании выпускают хорошие, умные маячки, которые долго живут и на которых хорошо тестить приложения.

Для реального использования они очень дорогие, поэтому мы просто искали предложения на рынке и покупали пробные партии, если устраивало качество — брали больше, нет — смотрели следующих. Китайцев, российских сборщиков — просто кого смогли найти.

Конкретную компанию, на которой остановились — не скажу, не я этим занимался, мне просто привезли две коробки биконов, чтобы я их сконфигурировал.
Здравствуйте. Мы планируем использовать Estimote Indoor SDK. Если вам пришлось с ним иметь дело — какое ваше мнение о точности данного решения?
Если я правильно понимаю, они работаю примерно также, как я описал во второй части статьи. Сами биконы у них хорошие, мощные, хоть и дорогие.

Точность будет зависеть от расстановки биконов, времени их эксплуатации, скорости передвижения. В моих опытах она была ±пара метров (чего достаточно в длинных коридорах или среднего/большого размера помещениях).

Думаю, что можно рассчитывать на точность от 3–4 до 1–2 метров, в зависимости от конфигурации.
Про стоимость. Маяки «для разработки» могут стоить по $10–$30 за штуку. Для реального использования нам удалось найти что-то в пределах $5–$10.

Но мы брали малыми партиями (50–100 штук), если покупать их десятками тысяч, уверен, что можно найти за несколько долларов за штуку.

Совсем дешево не получится, увы, они совсем не бесплатные. И чем качественнее нужны — тем дороже.
Спасибо за статью и проделанную работу!

Тут же хочется ловить все биконы подряд. Но, к сожалению, чтобы нотификацию обработать, нужно написать соответствующее приложение и занести в него параметры конкретного бикона (или конкретного типа биконов, для этого обычно используется UUID, которые у всех нужных биконов одинаковый). То есть нельзя просто так взять и повесить, например, рекламный бикон, чтобы он висел и пиликал всем проходящим. Нужно заставить поставить приложение, которое слушает только те биконы, на которые настроено (настроить на все-все-все тоже нельзя, так как startMonitoringForRegion не даст добавить бесконечное количество регионов)

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

Это один из основных недостатков технологии iBeacon. Вам нужно заставить пользователя устанвоить приложение.
В случае если нет приложения для всего торгового центра, пользователю предлагается ставить приложения для магазинов, 5, 10, а то и 50. Никто не поставит 50 приложений.
Даже если есть приложение охватывающее весь торговый центр, что тогда? Ставить приложение для каждого торгового центра?
Кстати из-за органичений, не факт что получится в одном приложении охватить огромные торговые центры, но кмк, и так понятно что это безсмысленно.

Для устранения этих недостатков и были придуманы Eddystone маячки и концепция Physical Web, о чём я недавно писал в своей статье на хабре:
Physical web. Bluetooth маячки. Eddystone. Google's beacon platform
Вам бы не пришлось писать приложения для каждой платформы, а пользователям не пришлось бы их устанавливать.

Чтобы избежать «дребезга» и большого количества нотификаций

Пиликать и пушить сообщения, уведомления вообще зло и не уважение к пользователям. Только взаимодействие по требованию. Опять же, посоветую ознакомиться со статьей и концепцией Physical Web.

Сами биконы — ломаются. Если закупать их много (и это более-менее необходимость для почти всех вариантов использования), то приходится экономить, следовательно, биконы выходят из строя и их нужно заменять. Нет ничего проще, но после замены нужно перепроставлять соответствие конкретному бикону данных (рекламного текста, или координат). Как следствие, в разработке нельзя обойтись только приложением и биконами. Приходится создавать сервер, который должен хранить соответствие информации биконам, а приложению требуется регулярно обновлять данные.

Это тоже большая проблема, когда вам реально нужно развернуть и мониторить большое количество маячков. Но и для таких случаев уже есть разные решения. Одно из них Google's beacon platform, о нём я подробно писал недавно на хабре.

P.S. слово "биконы" как то режет слух, это же маячки, как по смыслу, так и при переводе.
Главное разочарование в том, что навигация получается крайне неточная

И для этой проблемы уже есть решения. Об этом я расскажу в своей следующей статье.
Я показал, как этого можно добиться, используя эту технологию. :-) Впрочем, я с удовольствием попробую другие технологии навигации внутри помещений. Разобрав iBeacon по кусочкам, хочется перейти к более совершенным вариантам.

Так что с нетерпением жду статьи.
Eddystone — отличное развитие этой идеи. Как раз развлекаюсь с ними, но хочется попробовать их в больших проектах, как и биконы.

P. S. Я использую термин биконы, а не «маячки», как это не произвольные маяки, а элементы технологии iBeacon, не более того. :-) Да и среди тех, кто использует технологию, термин вполне устоялся.
Я немного не понял (даже после прочтения вашей статьи) как Eddystone устраняет все недостатки. Если он настроен на передачу URI, то решается проблема множества приложений, так как их заменяет браузер. Если же он настроен как часть Google's beacon platform, то какая разница как он себя представляет (Eddystone, iBeacon, etc), если необходимо отдельное приложение, которое будет соединяться с облаком и вытягивать метаданные по идентификатору маячка? Кроме того, насколько я понимаю, база маячков будет создаваться опять же под конкретное приложение, соответственно, если у каждого торгового центра свое приложение, то придется ставить их все.
Так в большинстве случаев, даже когда маячков много, достаточно транслировать URL, ведь он не меняется, а контент или приложение вы можете менять свободно. Это случай подходит и для торгового центра, вы единожды присваиваете им URL и расставляете маячки, всё. Для таких случаев есть промышленные маячки, которые питаются от сети.

В случае с Google's beacon platform, да, нужно приложение. Но в этом случае вы не просто транслируете ID, запись в beacon registry может содержать информацию о статусе, предполагаемой стабильности, широте и долготе, уровне внутри здания, Google Places API Place ID, текстовое описание и т.д. Эти записи, например, помогают решать часть проблем связанных с навигацией. Google's beacon platform полностью решает проблемы мониторинга маячков.
Опять же, в виде вложений можно передавать ссылки на внешние приложения и контент, который вы можете изменять по необходимости.
Google's beacon platform хорошо подходит для случаев когда у вас уже есть популярное приложение и вы хотите расширить его функционал, добавить в него возможность взаимодействовать с маячками. Когда вам нужна не публичная реализация для внутреннего использования. Или когда маячков действительно много(тысячи) и разбросаны они на огромной площади, например целые районы или города.

Кстати, интересно, сколько именно маячков было задействовано в данном случае? Надеюсь автор ответит.
Кстати, интересно, сколько именно маячков было задействовано в данном случае? Надеюсь автор ответит.

До сотни на мероприятие.
Eddystone — отличный стандарт, но для больших проектов в любом случае нужны решения на подобие Google's beacon platform.

Т.е. "биконы" это только iBeacon'ы? Почему именно элементы технологии iBeacon? Есть ведь еще AltBeacon, PayPal beacon, Estimote Stickers (nearables), Eddystone и этот список ещё можно продолжать. Пожалуй они все маячки или биконы.
По сути, всё, в том числе iBeacon, это спецификации протокола, а технология тут Bluetooth low energy.

Да и среди тех, кто использует технологию, термин вполне устоялся.

Согласен, я то Вас прекрасно понимаю =). Но статьи на хабре мы пишем не только для тех кто уже использует подобные технологии. Для многих слово бикон лишено смысла, что затрудняет понимание.
Кмк, слово маячок, не просто явлется нормальным переводом английского слова beacon, но и отражет хоть какой то смысл, по аналогии, со словом радиомячок.
Спасибо за статью. Подскажите пожалуйста, по какому принципу Вы расставляли биконы? Около каждого "интересного места" только один бекон, или несколько рядом стоящих, чтобы улучшить fingerprinting?
На GeekPicnic — по одному, там fingerprinting не использовался.
Для тех, кто хочет попробовать как ibeacon & eddystone работают в реалиях — посмотрите проект http://letmeget.ru — там это все реализовано и уже работает в двух ТРК СПб и МСК.
Only those users with full accounts are able to leave comments. Log in, please.