GPS-эмулятор для.NET-трекинга

В настоящее время я работаю над приложением.NET, которое требует отслеживания местоположения нашей позиции. Я использую внешнее устройство GPS, подключается к моему latop через COM-порт в качестве трекера местоположения. У меня работает мое устройство, однако я не смог найти способ подделать сигнал GPS. Я не знаю, есть ли эмулятор GPS, который может подавать сигнал GPS через COM-порт.

Если у кого-то есть опыт в этой области, пожалуйста, дайте мне несколько советов. Я был бы очень признателен. Спасибо

4 ответа

Вот ссылка на то, как создавать контрольные примеры для достижения того, что вы пытаетесь сделать. http://geoloqal.com/support/geotargeting-geolocation-documentation/apis/test-cases/createtestcase/

Он не делает это через COM-порт, но основан на REST API.

Решение Chintanas в порядке, должно быть достаточно. если вы все еще хотите внешнее моделирование GPS:
написать простую программу, которая считывает предварительно записанные файлы NMEA, которая может анализировать 2-3 важных сообщения NMEA (GPRMC, GPGGA), установить таймер (1 с) и записать 2-3 предложения с новыми метками времени (и новыми контрольная сумма), для конкретного COM-порта.

из этого порта ваше приложение читает nmea как обычно.

Работая над приложениями GPS в прошлом, я часто использовал это в качестве предлога для того, чтобы выходить в середину леса с ноутбуком и писать код там, где у меня был хороший сигнал GPS.

Если вы не можете сделать это, или у вас есть большая популяция комаров в вашем районе, я рекомендую Franson GPSGate. Он может имитировать GPS через виртуальный COM-порт, а также может делать такие удобные вещи, как разделение сигнала GPS на несколько портов или воспроизведение записанных журналов GPS.

http://gpsgate.com/products/gpsgate_client

Если вы используете пользовательский SDK/API, поставляемый с устройством, было бы трудно отправлять поддельные сигналы через com-порт и правильно их интерпретировать.

Если бы вы могли оправдать немного лишнего кода, вы можете стремиться к более чистому подходу, рассмотрев возможность отделения кода вашего приложения от кода, специфичного для устройства GPS, путем создания интерфейса, подобного

public interface ILocationInformationServices {
    LocationInfo GetLocationInfromation { get; }
}

Тогда у вас может быть две реализации вышеуказанного интерфейса, одна из которых будет вызывать модуль GPS через ком-порт, а другая будет возвращать некоторые случайные значения (поддельный модуль GPS).

Если у вас есть две реализации, в вашем приложении вы можете кодировать ILocationInformationServices.

Если вы хотите использовать настоящий модуль GPS, вы должны создать класс, который вызывает COM-порт

ILocationInformationServices locationInfoSvc = new MyGPSModule(“com1”);

И когда вы хотите проверить, вы будете использовать подделку

ILocationInformationServices locationInfoSvc = new MyFakeGPSModule();

Надеюсь, это поможет вам

Другие вопросы по тегам