- Телефон как GPS-приемник для другого телефона или планшета на Android (Wi-Fi)
- Настройка Wi-Fi между телефонами
- Настройка телефона-передатчика
- Настройка телефона-приемника
- Устранение обрывов связи
- Телефон как GPS-приемник для другого телефона или планшета на Android (Bluetooth)
- Предварительная настройка
- Настройка телефона-передатчика
- Настройка телефона-приемника
- Достоинства и недостатки работы с GPS-приемником другого телефона
- Используем свой телефон как внешний GPS приемник. GPS over BT в помощь!
- Передача GPS данных(NMEA) с Android на Windows
- Введение
- Что же надо было сделать?
- TCP/IP соединение
- NMEA данные с Android, получение и отправка
- NMEA данные на ПК
- Заключение
Телефон как 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:
- Google Maps – работает;
- Яндекс.Карты – работает;
- Waze – не работает.
Устранение обрывов связи
Если связь между телефонами периодически теряется, проверьте настройки беспроводной сети на предмет опции автоматического отключения Wi-Fi в спящем режиме устройства.
Также запретите системе Android закрывать на обоих телефонах приложение GPS Tether, работающее в фоновом режиме. На телефонах Xiaomi это можно сделать через просмотр последних открытых приложений (короткое нажатие аппаратной кнопки меню).
Нажатие на замок рядом с приложением предотвращает его закрытие системой Android в спящем режиме телефона.
Источник
Телефон как GPS-приемник для другого телефона или планшета на Android (Bluetooth)
В предыдущей статье было показано, как подключить по Bluetooth телефон на Android к компьютеру с Windows в качестве GPS-приемника. В настоящем руководстве изложен способ подключения телефона на Android к другому телефону или планшету на Android с той же целью.
Предварительная настройка
Для реализации передачи данных GPS по Bluetooth с одного Android-устройства на другое необходимо, чтобы гаджеты были сопряжены, поэтому настройте Bluetooth-пару на Ваших Android-устройствах.
Настройка телефона-передатчика
На телефоне-передатчике данных GPS установите и запустите приложение GPS over BT.
Программа должна автоматически выполнить поиск спутников, определить местоположение и передавать данные подключенному по Bluetooth телефону-приемнику.
Примечание: если у Вас не получится осуществить передачу данных GPS с помощью GPS over BT, попробуйте другие приложения, перечисленные в этой статье.
Настройка телефона-приемника
На телефоне-приемнике данных GPS перейдите в раздел «Настройки > Для разработчиков > Отладка», найдите пункт «Фиктивные местоположения» и активируйте его.
Примечание: Если в настройках нет пункта «Для разработчиков», его нужно активировать. Для этого зайдите в раздел «Настройки > Сведения о телефоне» и нажмите семь раз на пункт «Версия сборки».
Следующий шаг: установите на телефон-приемник и запустите приложение «Bluetooth GPS».
Это приложение будет получать данные GPS по Bluetooth от телефона-передатчика и предоставлять их операционной системе Android телефона-приемника.
В списке устройств выберите сопряженный по Bluetooth телефон-передатчик данных GPS и нажмите кнопку «Connect». Вы должны увидеть в полях ниже координаты и другую информацию о местоположении. Поставьте галочку рядом с надписью «Enable Mock GPS Provider», чтобы предоставить эту информацию системе Android и приложениям.
Запустите предпочитаемое приложение навигации, чтобы отслеживать свое местоположение (точнее местоположение телефона-передатчика координат GPS, подключенного по Bluetooth).
Достоинства и недостатки работы с GPS-приемником другого телефона
Достоинства: Экономия батареи основного Android-устройства, так как модуль Bluetooth потребляет намного меньше энергии, чем встроенный GPS-приемник. GPS координаты с подключенного телефона подхватывают почти все популярные Android-приложения навигации: Яндекс Карты, Navitel, Endomondo, OruxMaps (Google Maps — не работает ни отдельное приложение, ни карты через мобильный браузер, продолжают определять данные о местоположении по базовым станциям мобильной сети).
Недостатки: Работа с GPS-приемником подключенного по Bluetooth телефона отличается от работы с собственным GPS-модулем устройства, поскольку данные передаются по протоколу NMEA 0183, данные о местоположении обновляются с задержкой (по нашим оценкам примерно раз в 30 секунд или реже). При записи пути в популярном трекинг-приложении Endomondo хоть и отображается значок нормальной работы GPS, трек получается прерывистым.
Заключение: Полноценной работы в реальном времени на Android-устройстве с GPS-приемником подключенного по Bluetooth телефона, например для определения скорости, ждать не стоит, но как определение своего местоположения на карте — вполне рабочий способ.
Источник
Используем свой телефон как внешний GPS приемник. GPS over BT в помощь!
Всем привет! У многих наверняка есть ноутбуки и планшеты на Windows, где по каким-либо причинам необходимо подключение GPS, а внешний приемник покупать не хочется. И сегодня я расскажу как выйти из этой ситуации и настроить GPS-навигацию на таких переносных устройствах через обычный смартфон, который должен иметь GPS и Bluetooth. Все скрины кликабельны!
На смартфон требуется скачать с Google Play приложение под названием GPS over BT и устанавливаем его. Включаем блютус и GPS или делаем это в самом приложении после его запуска. На экране мы видим текущее точное время, координаты в двух формах, высота над уровнем моря, вашу скорость передвижения, азимут, расстояния.
Также если нажать кнопку меню, то можно перейти к просмотру спутников.
На ПК необходимо также наличие Bluetooth, иначе подсоеденить никак у вас не получится. Обычно в ноутбуках он бывает сразу.
Такой метод работает с таким навигационным софтом, как OziExplorer, SasPlanet, 2Gis, Google Earth и другими. А покажу я вам работу на примере САС Планеты и Озика.
Так, что-то я отвлекся от процесса 🙂 , связываем далее!
В компьютере щелкаем правой кнопкой на значок блютуса и в выпавшем меню нажимаем “Открыть параметры”
В открывшемся окне переходим во вкладку “СОМ-порты”
Теперь нам необходимо добавить сюда наш телефон. Напоминаю, блютус должен быть везде включен и устройства сопряжены. Жмем на кнопку “Добавить”. В новом открывшемся окошке выставляем флажком Исходящий тип добавляемого СОМ-порта. В списке пониже наше сопряженное устройство. В списках служб должна появиться надпись “BluetoothService”, на которую надо нажать, чтобы она выделилась. Жмем “ОК”
Это окошко закрывается и в списке COM-портов мы видим наш свежесозданный, которому присвоилось значение COM6. Запомните эту цифру. Она еще пригодится. Эти оба окна можно закрыть.
Открываем нашу любимую SAS Planet и переходим в настройки.
Там во вкладке GPS требуется выставить номер СОМ порта, в данном случае 6, GPS tybe должен стоять на значении СОМ. Скорость можно не трогать. Чтож, жмем на самую большую кнопку “GPS Вкл/Выкл”. Если все вышенаписанное было сделано правильно, вы увидите сразу в этом же окне справа обнаруженные спутники и передачу данных с ними. Справа в САС планете появится боковая панель, показывающая некоторые данные, те же самые, что и главный экран приложения на телефоне. Поздравляю! У вас теперь САС Планета напрямую работает через GPS. Удобно? Удобно!
Так она показывает местоположение на топокарте:
Вторая часто использующаяся программа у копарей – OZI Explorer. И в ней GPS таким же макаром тоже можно прикрутить! Как? Да очень просто! Заходим в настройки программы, переходим во вкладку “GPS”. Тут же недалеко есть кнопочка “Find GPS Port”
Жмем на нее и видим маленькое окно, где опять же требуется выставить параметры, иначе ничего работать не будет. GPS Type выставляем “Other”. Жмем на кнопку “Find GPS”. Система малость подумает, поварит и выдаст ниже на белом фоне лог, что нашел GPS в СОМ-порту №6. Можем это все дело закрыть.
Далее открываем карту, и кликаем по волшебной кнопке с молнией. И появилась стрелочка, указывающая на ваше местоположение. Теперь с этой прогой мы можем работать полноценно!
Источник
Передача GPS данных(NMEA) с Android на Windows
Введение
Под windows имеются приложения, которые нуждаются в NMEA сообщениях от GPS устройства, передаваемых по COM порту. Под Android’ом же есть возможность с помощью API генерировать подобные сообщения. В целом была идея доставить данные на виртуальный COM порт с Android’a. Если вам интересно как это удалось реализовать, прошу под кат.
Что же надо было сделать?
Реализовать требовалось следующее:
- Настроить TCP/IP соединение между устройством и ПК
- Получить NMEA данные на Android’e
- Передать их по UDP протоколу на компьютер
- Принять на компьютере UDP пакет и отправить его на COM порт
TCP/IP соединение
Соединение было организовано с помощью Revers wired tether, для этого на телефоне были, получены права root и с помощью программки android-wired-tether было создано TCP/IP подключение к ПК. Почему же не по WiFi? Да, такая возможность есть, можно на windows 7 создать виртуальный WiFi адаптер и к нему уже подключится с Android’a. Но мой адаптер Atheros AR5B95 через 5 минут подключения уводил систему в синий экран, поэтому и было решено создать подключение все же по проводу + по нему еще и зарядка устройства происходит, что не мало важно при работе GPS(оно прожорливо в плане питания).
NMEA данные с Android, получение и отправка
Данные на Android получались следующим кодом:
//NMEA listener
LocationManager LM = (LocationManager) getSystemService(Context.LOCATION_SERVICE); ((LocationManager)getSystemService(Context.LOCATION_SERVICE)).requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,new LocationListener() <
@Override
public void onLocationChanged(Location loc) <>
@Override
public void onProviderDisabled(String provider) <>
@Override
public void onProviderEnabled(String provider) <>
@Override
public void onStatusChanged(String provider, int status,Bundle extras) <> >);
LM.addNmeaListener(new GpsStatus.NmeaListener() <
public void onNmeaReceived(long timestamp, String nmea) <
SendNmea2UDP(nmea);
>>);
И передавались в метод SendNmea2UDP который отправлял их на UDP порт ПК:
public void SendNmea2UDP(String nmeastring)
<
message = nmeastring;
msg_length=message.length();
messageB = message.getBytes();
nmeapacket = new DatagramPacket(messageB, msg_length,local,server_port);
try
<
socket.send(nmeapacket);
>
catch(Exception e) <>
>
NMEA данные на ПК
Для получения данных и отправку их на COM порт со стороны компьютеры, было на C# написано простенькое приложение.
С помощью программки Virtual Serial Ports Emulator, было создано два связанных виртуальных COM порта, на один из которых приходили данные от программы на ПК, а на втором виртуальном COM порту их уже можно принимать любым положением, которое в них нуждается.
Заключение
Если кому интересен исходный код программ, то он тут на Android и Windows
В итоге можно запустить программу, которая понимает NMEA данные с COM порта:
В низу справа программка, которая принимает UDP с Android’a и передает NMEA далее на виртуальный COM порт. Программка upd2com отправляет на 3 порт, а к примеру в данном случае SASПланета принимает с 4 порта (организовано это с помощью VSPE). Красненькая точка это где я сейчас тестирую все это.
Спасибо за внимание, надеюсь, статья была вам интересна.
Источник