- Альтернатива GPS: контроль местоположения по GSM и WiFi
- В статье:
- Отличия LBS и GPS
- Принципы работы LBS мониторинга
- GSM мониторинг
- Определение местоположения по Wi-Fi сетям (WPS)
- Показатель уровня принимаемого сигнала
- Fingerprinting
- Time of Flight
- Доступность данных для LBS мониторинга
- Поддержка LBS в GPS трекерах
- Wi-Fi и GSM мониторинг в приложении X-GPS Трекер
- Установка радиуса определения LBS
- Телефон как GPS-приемник для другого телефона или планшета на Android (Wi-Fi)
- Настройка Wi-Fi между телефонами
- Настройка телефона-передатчика
- Настройка телефона-приемника
- Устранение обрывов связи
- How to get Location with Wifi in Android?
- 1 Answer 1
Альтернатива GPS: контроль местоположения по GSM и WiFi
LBS (Location-based services) позволяет определять местоположение объекта без использования стандартных сервисов таких как GPS, ГЛОНАСС, Beidou и других.
LBS мониторинг является довольно широким термином и содержит в себе несколько технологий поиска. В данной статье мы обратимся только к определению локации по GSM сети и Wi-Fi точкам.
В статье:
- Отличия LBS и GPS
- Принципы работы LBS
- Где берут данные для LBS мониторинга
- Как LBS работает в GPS трекерах
- WiFi и GSM локация в мобильных приложениях
- Настройка радиуса определения LBS локации
Отличия LBS и GPS
Определение меcтоположения по Wi-Fi и GSM сетям как правило обладет более низкой точностью, чем GPS. Преимещуством данных систем является возможность работы в неидеальных условиях. Например, GSM сигнал не требует чистого неба для идеальной работы. Его сложнее заблокировать и легче поймать, даже если устройство находится в здании или в подземных постройках. Wi-Fi точки обеспечат более точное отслеживание внутри зданий.
Использование LBS требует меньше энергии, позволяя обменять идеальную точность данных на более длительную работу устройства без подзарядки. При перевозке грузов на длительные расстояния, важнее иметь приблизительное местоположение, но на протяжении всего пути.
LBS также могут быть использованы как запасной вариант, на случай выхода из строя GPS антенны или модуля.
Принципы работы LBS мониторинга
GSM мониторинг
Большинство трекеров и мобильных устройств используют GSM сеть для передачи данных. Инфраструктура провайдеров услуг может быть использована для получения данных о местоположении объекта.
Данный метод отслеживания основан на принципе, что любой включенный GMS модуль будет передавать данные на ближайшую базовую станцию, переключаясь по мере движения между ними. Если устройство может считать данные базовой станции (Cell ID, MCC, MNC, LAC), эти данные могут быть сверены с внешними базами данных для получения местоположения объекта.
Такой метод называется Cell of Origin .
Он является самым дешевым и простым для использования, так как не требует модификации устройств или инфраструктуры.
Cell of Origin показывает только местоположение базовой станции, а не самого устройства. Таким образом, если 2 устройства подключены к одной базовой станции, они покажут одинаковое местоположение, даже если не находятся рядом.
Точность этого метода определения зависит от плотности расположения базовых станций. В городах и развитых зонах точность может доходить до 50-100 метров, а в деревнях и незаселенных местностях – до нескольких километров.
Более сложные системы могут высчитывать расстояние между устройством и базовой станцией. Как правило, подобные системы стоят довольно дорого и не легки в эксплуатации из-за необходимости модификации оборудования. Один из таких методов поиска называется E-OTD (Enhanced Observed Time Difference, Наблюдаемая разность времени прибытия сигнала ).
Метод основан на измерении и сравнении интервалов времени прохождения сигналов от нескольких базовых станций до мобильного телефона абонента. Для работы метода базовые станции, принимающие сигнал, должны быть оснащены блоком LMU (Location Measurement Unit).
Метод OTD обеспечивает точность ~125 метров.
Определение местоположения по Wi-Fi сетям (WPS)
WPS использует беспроводные точки доступа для расчета местоположения. Система наиболее часто встречается в мобильных устройствах и хорошо подходит для отслеживания объектов и сотрудников внутри зданий.
Показатель уровня принимаемого сигнала
Первый способ основан на Показателе уровня принимаемого сигнала (RSSI). Принимающее устройство вычисляет уровень сигнала, исходящего от нескольких точек доступа. Полученные данные обрабатываются для вычисления расстояния до каждой из точек.
Вычисления могут быть выполнены самим устройством или переданы для обработки в сторонние сервисы.
Fingerprinting
Второй метод, Fingerprinting, основан на RSSI . При известном местоположении устройства для каждой локации замеряется уровень сигнала всех точек доступа. Полученные уровни складываются в код, который записывается в базу вместе с местоположением. Если в будущем устройство попадет в то же самое место, но не будет иметь доступ к сети, – местоположение будет вычислено по совпадающему коду.
Точность данного метода довольно высока (~1,3-2 метра), но данный метод тяжел в организации, поскольку требует хранилища данных. К тому же он очень чувствителен к изменениям окружающей среды – строительные работы или простая перестановка мебели могут изменить уровень принимаемого сигнала и тем самым изменить код локации.
Time of Flight
Третий, более простой в организации метод, называется Time of Flight. ToF определет местоположение основываясь на временных метках, записанных беспроводными интерфейсами при передачи пакетов. Данный метод имет точность от 2 до 4 метров и широко используется для отслеживания объектов внутри зданий.
Прицип работы схож с РАДАРами, но берет за основу самые обычные пакеты данных и подтверждения.
Диаграмма показывает отправки пакета с данными (DATA) на принимающее устройство и ожидание получения пакета с подтвеждением (ACK). d является задержкой генерации подтверждения со стороны устройства. t_p — время распространения сигнала между отправителем и получателем (считается одинаковым для пути в обе стороны). t_ack — время отправки пакета с подтверждение (ACK). ToF соотносится с t_measured.
WPS хорошо работает для отслеживания внутри помещений, но зачастую оказывается сложнее для внедрения, чем GSM.
Доступность данных для LBS мониторинга
Данные по сетям Wi-Fi как правило не находятся в открытом доступе. Большинство владельцев крупных баз данных не предоставляют бесплатной выгрузки.
В противоположность, локации базовых станции известны и можно найти множество открытых источником информации. Наиболее популярными сервисами являются Mozilla Location Services и OpenCell ID , вместе их базы содержат данные более 50 миллионов базовых станций.
Карта покрытия базовых станций и Wi-Fi точек доступа сервисом Mozilla представлена ниже.
Поддержка LBS в GPS трекерах
Наличие и уровень поддержки LBS функционала во многом зависит от производителя устройства. Некоторые производители позволяют передавать данные GSM вышки постоянно (MCC, MNC, LAC, CID), некоторые устройства передают эти данные только по SMS или GPRS запросу.
Wi-Fi и GSM мониторинг в приложении X-GPS Трекер
Navixy предоствляет собственное решение для мобильных сотрудников. Наши приложения для Android и iOS имеют возможность обработки как GPS, так и LBS данных.
В отличие от стандартных трекеров, мобильные приложения X-GPS Трекер передают уже обработанные данные. Обработка производится встроенными сервисами телефона – Apple Core Location или Google Fused Location, в зависимости от версии ОС.
Для корректной работы LBS необходимо интернет соединение.
Установка радиуса определения LBS
Выставление радиуса определения LBS зависит от местности, в которой находится устройство, и количества базовых станций или точек Wi-Fi. Если устройство находится в сельской местности и не может определить местоположение, рекомендуется увеличить радиус определения LBS , чтобы дальние базовые станции также способствовали определению местоположения устройства.
В городе, где сотовая сеть имеет плотную застройку базовых станций, радиус действия LBS необходимо держать на маленьком уровне, так как ближних базовых станций будет достаточно для определения местоположения и точность при этом будет высока.
Надеемся, что статья была вам полезна. Если вы хотите задать вопрос, поделиться мнением или предложить тему для будущих материалов, оставляйте комментарии ниже или переходите в наши социальные аккаунты Facebook , Linkedin и Twitter .
Телефон как GPS-приемник для другого телефона или планшета на Android (Wi-Fi)
Раньше на сайте уже публиковались статьи, как настроить соединение по Bluetooth между двумя Android-устройствами или между Android-устройством и компьютером с Windows для передачи данных GPS. Для связи использовалось приложение GPS over BT. В настоящей статье показано, как можно настроить подобную передачу GPS-данных по Wi-Fi с помощью приложения GPS Tether от разработчиков Lucky Always.
Оно полезно для тех, у кого нет или не получается настроить связь по Bluetooth (GPS Tether наряду с Wi-Fi поддерживает Bluetooth-соединение). К тому же хочется отметить, что передача данных по Wi-Fi происходит быстрее и, благодаря этому, данные о местоположении обновляются чаще.
Существует несколько приложений для передачи данных GPS по Wi-Fi, как платных, так и бесплатных. На наш взгляд, наиболее простым в настройке и использовании показалось именно приложение GPS Tether. К тому же оно бесплатное, единственное, разработчики заявляют, что оно не работает на планшетах Amazon Fire с заводской прошивкой. В описании также упоминается, что приложение должно работать на Android 4.2 (Jelly Bean) и выше.
Настройка Wi-Fi между телефонами
Перед использованием приложения GPS Tether необходимо настроить Wi-Fi сеть между устройствами. Зайдите в настройки сетей Wi-Fi телефона-передатчика, сконфигурируйте и запустите беспроводную точку доступа. Данная функция присутствует во всех современных Android-телефонах. Укажите имя и пароль точки доступа, сохраните и активируйте ее.
Подключитесь на телефоне-приемнике к созданной Wi-Fi сети, используя установленный ранее пароль.
Настройка телефона-передатчика
Включите функцию GPS на телефоне-передатчике, откройте приложение GPS Tether и на вкладке Sharing (Раздача) нажмите на иконку WiFi Hotspot Sharing (Раздача через точку доступа Wi-Fi).
Настройка телефона-приемника
Откройте GPS Tether на телефоне-приемнике, переключитесь на вкладку Receiving (Получение) и нажмите на иконку «WiFi Hotspot Receiver» (Приемник точки доступа Wi-Fi). Приложение выдаст предупреждение, что нужно включить функцию фиктивных местоположений (Mock Locations) в настройках Android. Нажмите на кнопку «DEVELOPER SETTINGS», чтобы сразу попасть в нужный раздел настроек из приложения.
Найдите в списке пункт «Выбрать приложение для фиктивных местоположений», откройте его и в списке доступных приложений выберите GPS Tether.
Нажмите на кнопку назад на телефоне для возврата в приложение и снова нажмите на иконку «Wi-Fi Hotspot Receiver», чтобы она стала цветной.
Запустите любое удобное для Вас приложение навигации и используйте его как обычно. Настроенная таким образом навигация тестировалась в некоторых популярных приложениях для Android:
Устранение обрывов связи
Если связь между телефонами периодически теряется, проверьте настройки беспроводной сети на предмет опции автоматического отключения Wi-Fi в спящем режиме устройства.
Также запретите системе Android закрывать на обоих телефонах приложение GPS Tether, работающее в фоновом режиме. На телефонах Xiaomi это можно сделать через просмотр последних открытых приложений (короткое нажатие аппаратной кнопки меню).
Нажатие на замок рядом с приложением предотвращает его закрытие системой Android в спящем режиме телефона.
Оцените статью: 5,00 из 5 (голосов: 2)
How to get Location with Wifi in Android?
I Want get location with Wifi and work in Google map, and it’s not work for me but Gps is okay and not problem. my code:
locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); if (locationManager != null) < boolean gpsIsEnabled = locationManager .isProviderEnabled(LocationManager.GPS_PROVIDER); boolean networkIsEnabled = locationManager .isProviderEnabled(LocationManager.NETWORK_PROVIDER); if (gpsIsEnabled) < locationManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 5000L, 10F, (android.location.LocationListener) this); >else if (networkIsEnabled) < locationManager.requestLocationUpdates( LocationManager.NETWORK_PROVIDER, 5000L, 10F, (android.location.LocationListener) this); >else < // Show an error dialog that GPS is disabled. >> else < // Show some generic error dialog because something must have gone // wrong with location manager. >
1 Answer 1
Say, can I setup «request Location Update» for GPS_PROVIDER and NETWORK_PROVIDER (or PASSIVE_PROVIDER) to same function call like this:
// SETUP Location Manager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this); locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this); locationManager.requestLocationUpdates(LocationManager.PASSIVE_PROVIDER, 0, 0, this);
In this case, I get only GPS data.