Хай живе Wi-Fi позиціювання в Enterprise

Wi-Fi позиціювання не працює взагалі? Зовсім ні!
Мої колеги після прочитання попередньої статті «Чому не злітає позиціонування на основі Wi-Fi» вирішили, що воно взагалі не працює і з ним не варто зв'язуватися. Це абсолютно не так!

У цій статті я хочу розповісти, як працює позиціонування в умовах власної корпоративної Wi-Fi мережі, яка побудована за вимогами передачі даних і голосу (але не для позиціонування).

Wi-Fi позиціювання «до кімнати»
Так, Wi-Fi не так вже й добре пристосована до позиціонування: численні перевідбиття, перешкоди і багато іншого. А коли починаєш додавати інструменти, що підвищують точність, цінник починає стрімко рости!
Але, припустимо, Wi-Fi у Замовника вже є, він не готовий витрачатися на окрему інфраструктуру для сервісу позиціонування (розставляти окремі сенсори, роздавати мітки) і навіть не хоче модернізувати існуючу Wi-Fi мережу, призначену для передачі даних (збільшувати кількість точок доступу (далі-ТД), розставляти їх по периметру, ставити модулі моніторингу).

На що Замовник може розраховувати? З високою часткою ймовірності він може розраховувати на точність «до кімнати». Під точністю «до кімнати» в даному випадку я розумію діапазон в межах 10 метрів.

Збільшити точність позиціонування можливо, але вимагає зусиль і грошей (що, втім, не всіх зупиняє).

Хай живе Wi-Fi позиціювання в Enterprise!
Кому взагалі може знадобитися Wi-Fi позиціювання з точністю «до кімнати»? Може бути це тільки іграшка адміністратора? Цієї точності недостатньо для роботи з повідомленнями, спливаючими на смартфоні при перетині віртуальної кордону.

Моя думка, що основний драйвер покупки Wi-Fi позиціювання «до кімнати» — це робота в зв'язці з бездротовою системою виявлення і запобігання вторгнень (wIPS) або у зв'язці з системою моніторингу.

Для системи wIPS цей сервіс, я вважаю, необхідний і, по-хорошому, повинен бути її складовою частиною (що найчастіше і трапляється). Для системи моніторингу це так само досить важливий сервіс, що допомагає отримати уявлення про розташування перешкод, кількість та місцезнаходження своїх і сторонніх клієнтів, зокрема, для усунення несправностей.

У зв'язку з цим я вважаю, що поряд з системою моніторингу і wIPS в будь Wi-Fi мережі корпоративного класу повинен бути присутнім сервіс позиціонування.

Це нам треба розщедритися на Cisco Hyperlocation або інші дорогі рішення?
Перед тим, як переходити до аналізу складних і дорогих рішень, типу Cisco Hyperlocation, варто оцінити, як працює стандартне Wi-Fi позиціювання. Під «стандартним» в даному випадку я розумію найпоширеніший варіант: коли беруть звичайну Wi-Fi мережа для передачі даних та/або голосу) і додають один недорогий сервер для прорахунку позиціонування (без додавання модулів моніторингу, антен, переміщення точок).

Самий кращий стенд – це власна корпоративна мережа!
Подумав я і «накотив» сервіс позиціонування на свою власну корпоративну мережу. Мережа будувалася за вимогами передачі даних і голосу, але не позиціонування. Пілотної зоною я вибрав частина другого поверху. Нижче представлений план приміщення пілотної зони з нанесеними точками доступу і розмірів приміщень.

image

Обладнання існуючої бездротової мережі:

— контролер бездротового доступу Cisco WLC 2504 (далі WLC), версія ПЗ 8.0.132.0;
— офісні точки доступу без додаткових модулів 802.11 a/b/g/n MIMO 3х4 Cisco Aironet 3602I-R-K9 з вбудованими антенами;
— система управління Cisco Prime Infrastructure, версія ПЗ 3.0.0.0.78 з PI 3.0.3 Update 01 (далі PI).

Що було додатково встановлено для того, щоб з'явився сервіс позиціонування:
— Cisco CMX, версія ПЗ 10.2.2-339 (далі CMX).

Наскільки наша мережа «звичайна»
«Звичайна Wi-Fi мережа» — поняття широке. Тому я покажу (не без гордості) результати проведеного радиообследования в пілотній зоні, а ви вже будете вирішувати, наскільки воно прийнятне. Вимірювання проводилися в обох діапазонах (2.4 ГГц і 5ГГц) за рівнем в -67dBm і SNR 25. Нижче наведу малюнок одного виміру в діапазоні 5ГГц з кордоном по рівню -67dBm.

image

На навантаженій мережі тест продуктивності (за допомогою програми iperf) показав близько 50-80Мбит/с в діапазоні 5ГГц в середині робочого дня під великим навантаженням.

Налаштування CMX
Так як плани приміщень разом з розташуванням точок доступу вже були заведені в PI, то мені потрібно було розгорнути віртуальну машину CMX та імпортувати в нього карти разом з розташуванням ТД і даними про загасання стін.

Із стінами є невеликий нюанс. Імпортуються тільки товсті стіни (heavy walls, вони ж thick walls, 13dB). Я намалював товсті стіни тільки по периметру будівлі, так як в нашому офісі всі стіни всередині будівлі не підпадають під визначення «товсті».

Можна ще вказувати жорстко зону, де можна і де не можуть перебувати клієнти (для того, щоб виключити клієнтів в повітрі за вікном другого поверху приміром, крім того це може істотно поліпшити точність, як в моєму випадку), але я вирішив цього не робити, щоб оцінити, як CMX відпрацює в цій ситуації товсті стіни, прокреслені по периметру.

Щоб обмежити кількість відображуваних пристроїв, я налаштував фільтр:

— Відображаються тільки підключені пристрої (тобто сторонні клієнти взагалі не відображаються);
— Відображаються тільки пристрої з рівнем сигналу -85dBm і більше.

Для тестів я залишив відображення інтерференції і міток.

Стендові випробування

Вимірювання точності позиціонування

У PI є такий цікавий інструмент (Inspect Location Readiness), який досить прямолінійно, без будь-яких вимірювань, що відображає зону, «готову» для позиціонування. Виглядає вона приблизно так:

image

Зрозуміло, що цю інформацію можна тільки брати до уваги, але ґрунтуватися на ній не можна. У CMX є вбудована функція вимірювання точності позиціонування (location accuracy test), яка вже заміряє фактичну точність позиціонування: на плані приміщення вказується реальне місце бездротового Wi-Fi клієнта (далі Клієнт) і CMX документує дані власних вимірів, вираховує точність. Для вимірювання точності позиціонування я використовував власний смартфон. Я заздалегідь вибрав близько 5 точок в пілотній зоні (за межами периметра ТД, між ТД, в коридорі тощо). У кожній точці я добивався, щоб CMX зробив не менше п'яти вимірювань. Нижчий результат, який я отримав для пілотної зони:

image

Основні моменти:

— Точність позиціонування у всіх точках була в межах 10 метрів (99,2% випадків);
— Середня точність позиціонування – 4.21 метра;
— Точність позиціонування в 50% випадків становила до 3.85 метра.
Можна спробувати порівняти ці результати з офіційним керівництвом Cisco по Wi-Fi позиціювання:
— Accuracy of less than or equal to 10 meters, with 90 percent precision
— Accuracy of less than or equal to 5 meters, with 50 percent precision

Точність позиціонування укладається в зазначені межі, при чому не тільки по периметру ТД, але і по периметру всієї пілотної зони і це дуже добре. При цьому точки розставлялися без обліку вимог по позиціонуванню!
Я пов'язую такі результати зокрема з хорошою конфігурацією будівлі: довге вузьке будівля, по периметру якого проходить товста стіна, що не дозволяє Клієнтам сильно «вивалюватися» за його межі.

Але все виявилося не настільки райдужно.

Зовсім трохи про частоту оновлення позиції
Ще до тестів я виявив, що мій смартфон набагато частіше деяких інших пристроїв оновлює свою позицію в CMX. Для того, щоб розібратися, чому так відбувається, я досліджував трафік від смартфона і від інших Клієнтів. Як з'ясувалося, мій смартфон робив активне сканування певних SSID допомогою probe request. Ці запити надсилались послідовно на всі канали, що призводило до того, що на всіх ТД була актуальна інформація про потужності (RSSI) сигналу смартфона. Як я з'ясував, це стандартний алгоритм роботи активних міток Wi-Fi (вони прокидаються, посилають послідовно на всі канали запити і засипають). Але в даному випадку це були просто забиті вручну профілі бездротових мереж, які я видалив перед проведенням тестів.

Це призвело до такого результату:

— Якщо смартфон перебував на одному місці і не генерував активно трафік, то його місце розташування оновлювалося дуже рідко: CMX є такий параметр, як «last seen», тобто коли останній раз Клієнт був видний, так ось, він доходив у мене до декількох хвилин (в межах 5 – 10 хвилин).
— Коли на смартфоні були забиті профілі SSID, виробляють активну сканування, цей параметр був у межах 10 – 15 секунд.
— Якщо я починав активно генерувати трафік, то параметр «last seen» так само був у межах 10-15 секунд.
— Якщо ж я переміщався від точки до точки, то результат був дещо інший. Позиція оновлювалася, але точність цієї позиції була набагато меншою від заявленої. Пов'язано, я думаю, це було з тим, що завмер RSSI оновлювався тільки для певної ТД, а позицію треба було оновлювати, але так як даних про RSSI було зібрано недостатньо, точність була набагато гіршою.

Більш докладно цей ефект я хочу розглянути в окремій статті, яка буде присвячена частоті оновлення позиції.

Вимірювання точності позиціювання при переміщенні
Система позиціонування не тільки відображає поточне місцезнаходження, але також може показати історію переміщення за день (client movement history playback), що може бути корисно при усуненні несправностей та розслідуванні інцидентів.

Але в нашому випадку я буду використовувати цей інструмент для інших цілей, а саме оцінки точності позиціонування при переміщенні.

Щоб бути максимально неупередженим, я не став ходити якимись спеціальними колами по офісу, а просто взяв історію свого переміщення зі смартфоном за день.

Ось так виглядає план другого поверху з нанесеними клієнтами. Синіми гуртками відображені ТД, всередині кіл – кількість авторизованих Клієнтів. Зелені точки – це Клієнти.

image

В системі дуже зручний пошук Клієнтів. Клієнта можна будь-яким символам MAC адреси, імені користувача, SSID. Фільтрація йде автоматична кожного введеного символу. Свій смартфон я знайшов з трьох букв.

image

Моя позиція вказана досить точно, я перебуваю в лівому відсіку А-03 (а не в другому відсіку, як показано). Ширина відсіку – 5 метрів, так що точність цілком нічого. Якщо навести курсор на Клієнта, то схематично відображається, на яких ТД є завмер RSSI (який береться до уваги).

image

Після того, як Клієнт обраний, можна переходити до історії переміщень.

image

Що відразу цікаво: час підключення 9.31 – це час приходу в офіс (можна відстежити час приходу!), точність позиціонування в цей час була навіть краще (лівий відсік А-03). В районі 10 годин я пішов в район кімнати B-32. І ось тут починається саме дивне: на карті це відображено як досить хаотичне переміщення Клієнта:

image

Хоч і загальний напрямок переміщення вгадується, але я переміщався явно не по периметру будівлі. Пов'язаний такий ефект, як я думаю, як раз з тим, що я описав трохи раніше: завмер RSSI обнавляется тільки на певній ТД (до якої йде роумінг), CMX змушена оновлювати позицію, але точність її вкрай мала. Ймовірно, CMX виштовхнув б Клієнта за межі будівлі, якби не промальовані товсті стіни, в яких «грузне» Клієнт (а якщо не промальовувати стіни, треба обов'язково промальовувати регіони позиціонування). Як пом'якшувальну обставину можна взяти до уваги те, що у відсіку «В» покриття гірше і, отже, позиціонування теж. А які результати в пілотній зоні? Далі я повернувся в кімнату А-03. Потім в районі 12.30 я пішов до колеги в зону А-16, тут можна було прикинути як раз точність позиціонування в пілотній зоні.

image

В даному випадку відображення пройшло більш чітко, але на зворотному шляху мене все одно побросало по периметру. Я думаю це може бути пов'язано як з активністю смартфона, так і з більш щільним покриттям безпосередньо в цьому відсіку.

Цікавий факт: переміщення клієнта не прив'язане до одного поверху, а об'єднується між усіма приміщеннями. Приміром, я виявив, що в районі трьох годин спустився на перший поверх (пішов обідати).

image

А ще система відображає різні перешкоди і мітки
Є ще такий приємний момент, можуть відображатися не тільки Wi-Fi клієнти, але і перешкоди і мітки (за рахунок вбудованого в ТД аналізатора спектра). У переговорній Альфа у нас стоїть зараз для демонстрації пристрій на основі стандарту IEEE 802.15.4 (ZigBee). Система позиціонування його знайшла, визначила тип і навіть з дуже хорошою точністю відобразила його місце розташування!

image

Це дуже зручно для усунення несправностей і дослідження інцидентів. Мало хто займається періодичним радиообследованием. А цей інструмент дозволяє, не встаючи з крісла, виявляти перешкоди з точністю до кімнати і проводити з ними всі необхідні заходи (легалізувати, прибирати тощо).

Загальні висновки
Які висновки можна зробити:

1. Точність позиціонування в Wi-Fi мережах, призначених під передачу даних/голос в загальному випадку буде перебувати в межах 10 метрів у 90% вимірів (точність «до кімнати»).
2. Питання точність позиціонування треба обов'язково розглядати в тандемі з питанням частоти оновлення позицій. Точність стаціонарного Клієнта і точність переміщається Клієнта можуть сильно відрізнятися. Тобто потрібно розуміти, як і з якою швидкістю може переміщатися Клієнт.
3. Потрібно розуміти, який тип трафіку і як часто повинен (і може) генерувати необхідний Клієнт.

А що далі?
При підготовці даного матеріалу я отримав відповіді, так і нові питання, головний з яких – це частота оновлення Wi-Fi позиціювання. З цієї причини в наступній статті постараюся більш детально розглянути це питання.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.