我目前正在开发一个.NET应用程序,它需要跟踪我们的位置。我使用外部GPS设备通过COM端口作为位置跟踪器连接到我的镭。我有我的设备工作,但我找不到伪造GPS信号的方法。我不知道是否有GPS仿真器可以通过COM端口提供GPS信号。
如果有人有此领域的经验,请给我一些指导。我将非常感激。谢谢
答案 0 :(得分:2)
以下是如何创建测试用例以实现您要执行的操作的链接。 http://geoloqal.com/support/geotargeting-geolocation-documentation/apis/test-cases/createtestcase/
它不是通过COM端口完成的,而是基于REST API的。
答案 1 :(得分:1)
如果您使用设备附带的自定义SDK / API,则很难通过com端口发送伪信号并正确解释它们。
如果你可以证明一些额外的代码 ,你可以通过考虑通过创建一个特定的代码来解决你的应用程序代码与GPS设备特定代码的关系。界面如
public interface ILocationInformationServices {
LocationInfo GetLocationInfromation { get; }
}
然后你可以有两个上述接口的实现,一个通过com端口调用GPS模块,另一个将返回一些随机值(假GPS模块)
一旦有了这两个实现,就可以在应用程序中对 ILocationInformationServices 进行编码。
如果您想使用实际的GPS模块,您可以实现调用com端口的类
ILocationInformationServices locationInfoSvc = new MyGPSModule(“com1”);
当你想测试时,你会使用假的
ILocationInformationServices locationInfoSvc = new MyFakeGPSModule();
希望这有助于你
答案 2 :(得分:1)
Chintanas溶液很好,应该足够了。如果你还想要外部gps模拟:
写一个简单的peogramm,读取预先记录的NMEA文件,可以解析2-3个重要的NMEA消息(GPRMC,GPGGA),设置一个定时器(1s)并用新的时间戳写出2-3个句子,(和新的校验和),到特定的COM端口。
从该端口,你的应用程序像往常一样读取nmea。
答案 3 :(得分:1)
在过去使用GPS应用程序时,我经常以此为借口用笔记本电脑进入树林中间,然后在那里写下我有良好GPS信号的代码。
如果您无法做到这一点,或者您所在地区有大量蚊虫,我建议使用Franson GPSGate。它可以通过虚拟COM端口模拟GPS,也可以做一些方便的事情,比如将GPS信号分成多个端口,或者播放录制的GPS日志。