Лидер мобильной разработки в России
120,42
рейтинг
11 декабря 2014 в 13:26

Разработка → Трилатерация c помощью iBeacon tutorial

В конце октября в Москве прошла конференция мобильных разработчиков #MBLTDev, на которой я рассказывал про трилатерацию с помощью iBeacon.

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


Презентация

Сама технология iBeacon увидела свет немногим более года назад. За это время производители серьезно улучшили свои устройства и расширили их ассортимент. ТТХ стали стабильнее. Предлагаются разные типы питания и даже «одноразовые» маяки-наклейки. Apple выпустила несколько обновлений, закрывающих проблемы с iBeacon, и успела поругаться с Google на предмет использования протокола. Появились примеры внедрения. Причем при их перечислении можно не ссылаться на далекую Калифорнию, а рассказывать о двух кафе в Новосибирске (решалась проблема оплаты счета без ожидания официанта и проблема одновременного запроса счета большим количеством посетителей), музее-панораме «Бородинская битва» (аудиогид с картинками), РИФ, Мега Белая Дача и Шереметьево… Наконец, мой собственный опыт работы под флагом e-Legion по автоматизации больших жилых помещений.

Предыдущие выступления c #MBLTDev, которые мы выкладывали в нашем блоге, вы можете найти по ссылкам:
  1. «Современные способы аутентификации и безопасность iOS-устройств»
  2. «Kotlin для Android, или лёгкий способ перестать программировать на Java»
  3. «Автоматическое тестирование Android приложений c любовью»
  4. «Опыт использования MVVM в реальных проектах»
  5. «Реактивное программирование на Swift»
  6. «Core Data: особенности использования и синхронизация в iCloud»
Автор: @AlexChernyy
e-Legion Ltd.
рейтинг 120,42
Лидер мобильной разработки в России

Комментарии (12)

  • 0
    Очень интересная и актуальная тема (позиционирование внутри помещений). Некоторое время назад мы озадачились этим вопросом, iBeacon показался именно тем инструментом, который решает этот вопрос. Прошу прощения, если подниму вопросы, на которые были озвучены ответы в докладе, т.к. смотрел с некоторой перемоткой и мог просто пропустить.

    Сам по себе iBeacon, как я понимаю, предназначен не совсем для определения местоположения, сколько для «срабатывания события» при приближении к нему. Вы (да и не только вы) попытались применить к нему немного магии.

    1. В приведенном вами списке вначале статьи (про примеры внедрения в России) есть ли места, где именно трилатерация применяется?
    2. В начале видео вы упомянули о том, что аккумулятор очень быстро садится, если настроить неправильно. Речь шла о телефоне или о маяках?
    3. Сигнал от bluetooth-устройства с увеличением расстояния сильно страдает. Если же ко всему прочему в непосредственной близости будут ходить люди, работать устройства и так далее — точность вычислений будет сильно страдать. Из этого возникает вопрос — сколько в среднем может потребоваться «маяков» для, например, среднего по размерам торгового центра? Для более или менее приемлемых результатов.
    4. Как вы считаете, насколько перспективен iBeacon для решения такого рода задач?
    5. Как обстоят дела с не-iOS устройствами?
    6. Есть ли что-то, что можно потрогать уже сегодня? :)
    • +2
      Добрый вечер.

      В приведенном вами списке вначале статьи (про примеры внедрения в России) есть ли места, где именно трилатерация применяется?
      Да, в Шереметьево. Можете еще ознакомиться с тестовым примером от Estimote, если он еще не попался вам на глаза.

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

      Сигнал от bluetooth-устройства с увеличением расстояния сильно страдает. Если же ко всему прочему в непосредственной близости будут ходить люди, работать устройства и так далее — точность вычислений будет сильно страдать. Из этого возникает вопрос — сколько в среднем может потребоваться «маяков» для, например, среднего по размерам торгового центра? Для более или менее приемлемых результатов.
      Да, с увеличением расстояния сигнал страдает. Как страдает и от помех. Чтобы ответить на вопрос, нужно быть знакомым с результатами какой-то реальной нагрузки массами или сделать приличную модель. Боюсь, что сейчас вы не найдете ни первого, ни второго, хотя оба варианта более чем реальны. Будьте первым. Я серьезно. Судя по обстоятельности вопросов, у вас все шансы. Разложите маяки. Возьмите с GitHub алгоритм. Соберите людей. Я бы танцоров позвал и смотрел, как перемещаются два эталона под воздействием остальных. Линди хоп, танго, бальные. Все сгодится. Напишите о результатах. Что касается количества маяков, задача и технология новые, данных мало, но не думаю, что вам понадобится больше, чем 1 маяк на 10 квадратных метров. Для задачи входа в регион все выглядит довольно стабильно.

      Как вы считаете, насколько перспективен iBeacon для решения такого рода задач?
      Этот бантик, конечно, пришит немного сбоку. Я бы предпочел иметь датчики с более стабильным сигналом. Однако, и так можно получить приемлемый результат. Что будет дальше — время покажет. Возможно, мы увидим iBeacon 2.0. Возможно, появится в публичном доступе то, что обозначено на слайде «Обещания». Появится с документацией и примерами. И мы все такие, вот дела, жизнь-то налаживается. А пока работаем с тем, что есть.

      Как обстоят дела с не-iOS устройствами?
      Android вполне все умеет из описанного. Правда, сейчас наблюдаются политические войны между Apple и Google на тему использования iBeacon, но их я не могу прокомментировать. Не хотелось бы видеть два стандартна, чтобы не получилось, как на известном комиксе xkcd про стандарты.

      Есть ли что-то, что можно потрогать уже сегодня? :)
      Да вот же, кафе в Новосибирске. Я сам, правда, в Москве. Собираюсь в музей сразу, как приложение пройдет модерацию.
      • 0
        Спасибо за развернутый ответ и за ссылки (их них узнал, что, оказывается, есть отечественное решение). От себя могу добавить еще вот этих ребят, но у них используется не iBeacon, а Wi-Fi + StickNFind.

        Что касается Estimote, то у них на сайте написано, что
        At the moment, you can map only individual rooms. It works best in standard rectangular or square-shaped rooms. Future versions will allow for multiple rooms, non-standard shapes, etc.

        Please bear in mind that various surfaces can cause interference with Bluetooth signals, including glass and metal.

        The average accuracy is 0.5-1 meter but results may vary depending on configuration and the physical environment of your location.

        Выходит, что технология до сих пор еще не причесана и предназначена, пока что, для более или менее «правильных помещений в вакууме». Но все равно впечатляет. (Интересно, сколько занимает времени настройка таких помещений как аэропорт, где огромное кол-во маячков...)

        С танцорвами это вы, конечно, мощно. :) А вообще, странно, что Apple изначально не сделали эти маячки пригодными для задач определения положения. Не потянули? Или решили сначала прозондировать почву?

        П.С. Новосиб далековато, Москва зовет.
        • +1
          Выходит, что технология до сих пор еще не причесана и предназначена, пока что, для более или менее «правильных помещений в вакууме».
          Технологии чуть больше года и трилатерация не была изначально ее назначением. Пример Estimote несколько «читерский», я согласен.

          Интересно, сколько занимает времени настройка таких помещений как аэропорт, где огромное кол-во маячков...
          Есть способы групповой настройки, когда конфигуратор кладется на коробку и все маяки получают определенные числа: скажем UDID (здание) и Major (этаж). А Minor (помещение) потом проставляется для каждого отдельно. Относительно других подзадач эта не самая долгая.

          А вообще, странно, что Apple изначально не сделали эти маячки пригодными для задач определения положения. Не потянули? Или решили сначала прозондировать почву?
          Бог их знает. Строго говоря, Apple вообще не объяснила, что делать с технологией. Возможно, не хватило времени до презентации. Возможно, это было что-то вроде почившей Ping.
  • 0
    Докладчик в тапочках? :)
    Насколько я знаю, есть особые требования к биконам, которые используются для локации (rssi должен не сильно скакать)? Был ли опыт подбора оптимальных? Биконы какого производителя подходят ли этого лучше всего?
    • 0
      В моем случае биконы от Engitronic изготавливались под проект и была возможность корректировать все. Bunch дает настраивать мощность передатчика. Без всяких дополнительных условий вам доступны -23, -6, 0 и 4 dBm. Это полезно. В презентации есть ссылка на эксперименты по стабильности сигнала. Можно ознакомиться с полным содержанием экспериментов. Navigine использовали Kontank.io.
  • 0
    И все же. Можно подробнее о таможне? Похоже мне в скором времени тоже предстоит пройти через эту боль.
    • +1
      Мой личный опыт был довольно короткий и устарел на год, потому что именно тогда я составлял таблицу производителей маяков и делал тестовые заказы. Легче всего оказалось получить маяки от австрийской компании BlueCats, они пришли Почтой России, кажется, за 2 недели. Я забрал их в своем отделении, никто слова не сказал.

      С Estimote была беда. Меня измочалили. Я переписывался с таможенным представителем месяц, предоставляя все новые и новые данные. Мы дошли до фотографий стендов, на которых проводились испытания. Закончилось все заключением: требуется нотификация ФСБ, у вас ее нет, груз ввезти нельзя. Здесь нужно отметить несколько вещей. Во-первых, таможня во Внуково. Если вы в Москве, это упрощает дело. Во-вторых, личное присутствие может склонить весы в вашу пользу, на Хабре я читал положительный пример. В-третьих, если вы серьезно ввозите что-то, вам придется разобраться со всеми обстоятельствами, масштаб задачи обязывает, ничего не попишешь. В-четвертых, находил группу в Facebook, где менялись опытом по ввозу маяков. В-пятых, есть производители в России, с ними, понятно, никакого ввоза.

      Если коротко, то так.
      • 0
        Проблемы даже если заказать пару маяков для тестов? Как/где проще всего купить из России?
        • +1
          Проблемы даже если заказать пару маяков для тестов?
          Да, в моем опыте времен прошлой зимы проблемы были даже с заказом пары маяков для личных экспериментов.

          Как/где проще всего купить из России?
          Пожалуй, Bunch. Наверняка есть и еще варианты.

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

Самое читаемое Разработка