2015-03-05 2 views
1

Можете ли вы использовать ibeacon (маяк) для отправки уведомлений на смартфон от 10 дюймов или менее (25 см или менее)? Может ли близость быть ближе к NFC? Вам понадобится интервал сканирования маякового радиосигнала, равный 100 мс, или у вас есть интервал сканирования ближе к 1 секунде?Может ли ibeacon (маяк) имитировать близость NFC для отправки уведомлений?

ответ

2

Теоретически вы можете сделать это, используя API-интерфейс диапазона маяков и измерить предполагаемое расстояние до маяка. Но есть несколько практических проблем, которые сделают его менее надежным, чем NFC:

  1. Оценка расстояния по маякам на основе RSSI сигнала Bluetooth, который имеет много вариаций из-за шум , многолучевость и затухание от препятствий. Эти эффекты меньше на близком расстоянии, но на 10 см. Ваша оценка может варьироваться от 0 до 20 см.

  2. Из-за вышеизложенного, оценки расстояний обычно сглаживаются с использованием 20-секундного среднего значения RSSI. На Android это можно настроить с помощью Android Beacon Library, но на iOS CoreLocation это не так. Это означает, что для оценки расстояния потребуется 20 с, чтобы полностью сходиться на 10 см после приближения мобильного устройства к маяку.

Интервал сканирования вы упоминаете не настраивается на прошивке - начиная обновления заблокированы на 1Гц. Android более гибкий. Что более важно, так это скорость передачи маяка, которая должна быть как можно быстрее - не менее 10 Гц. Это сделает оценки расстояний более надежными из-за более статистических выборок измерений RSSI.

Опять же, проблема №2 является самой большой проблемой для iOS. Вы можете избежать этого, не используя API iBeacon и вместо этого используя другой стандарт маяка, например AltBeacon, который позволит вам использовать API CoreBluetooth вместо CoreLocation API. (iOS блокирует вас от просмотра iBeacons с помощью CoreBluetooth). Однако этот подход требует, чтобы вы написали специальный код для анализа маяка и оценки расстояния.

Смежные вопросы