Gps и ноутбук как сделать


Введение


Под 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). Красненькая точка это где я сейчас тестирую все это.
Спасибо за внимание, надеюсь, статья была вам интересна.

Используемые источники


NMEA data
wired_tether_1_4.apk
Virtual Serial Port Emulator
UDP listener C# sample
Tethering и Reverse tethering
root HTC Desire with HBOT 0.93
Источник: https://geektimes.ru/post/121190/


Рекомендуем посмотреть ещё:


Закрыть ... [X]

Как из ноутбука сделать навигатор программа навигации для Оригинальные цитаты жизнь

Gps и ноутбук как сделать GIS-Lab: Как найти и создать точку с известными координатами
Gps и ноутбук как сделать Проблема с мобильными телефонами Самозащита от слежки
Gps и ноутбук как сделать Тюнинг своими руками: убираем 3G-модем внутрь ноутбука
Gps и ноутбук как сделать АВТОСПУТНИК 5. Бесплатная GPS-навигация для ноутбуков
Gps и ноутбук как сделать GPS-мониторинг бесплатно. Бесплатный GPS-мониторинг
Gps и ноутбук как сделать Подключение ГЛОНАСС /GPS-трекеров, смартфонов и
Геолокация в Windows 7 без GPS / Блог компании Microsoft Всего одна антенна для Wi-Fi, GPS, Bluetooth, LTE и WiGig MapFactor GPS Navigation (Windows 10) - скачать бесплатно Беспроводной GPS приёмник Garmin GPS 10 How To Make GPS Art Outside Online Pflegekorb бесплатный набор средств по уходу за

Похожие новости