我目前正在开发一个.NET应用程序,它需要跟踪我们位置的位置。我使用外部GPS设备通过COM端口连接到我的latop,作为位置跟踪器。我有我的设备工作,但我不能找到一种方法来伪造GPS信号。我不知道是否有GPS模拟器能够通过COM端口提供GPS信号。
如果有人有这方面的经验,请给我一些指导。我将不胜感激。谢谢
发布于 2013-06-23 03:23:51
这里是如何创建测试用例以实现您正在尝试做的事情的链接。http://geoloqal.com/support/geotargeting-geolocation-documentation/apis/test-cases/createtestcase/
它不是通过COM端口完成的,而是基于REST API。
发布于 2013-06-21 10:28:04
如果您使用的是设备附带的自定义SDK/API,则很难通过com端口发送假信号并正确解释它们。
如果您可以证明一些额外的代码是合理的,那么您可以考虑通过创建如下接口将您的应用程序代码与特定于设备的代码解耦,从而实现一种更简洁的方法
public interface ILocationInformationServices {
LocationInfo GetLocationInfromation { get; }
}然后,您可以有上述接口的两个实现,一个将通过com端口调用GPS模块,另一个将返回一些随机值(伪GPS模块)
有了这两个实现之后,就可以在应用程序中针对ILocationInformationServices.进行编码了
如果要使用实际的GPS模块,则需要实例化调用com端口的类
ILocationInformationServices locationInfoSvc = new MyGPSModule(“com1”);当你想测试的时候,你会用假的
ILocationInformationServices locationInfoSvc = new MyFakeGPSModule();希望这能对你有所帮助
发布于 2013-06-21 17:51:11
Chintanas的解决方案很好,应该足够了。如果您仍然需要外部gps模拟:
编写一个简单的peogramm来读取预先记录的NMEA文件,它可以解析2-3个重要的NMEA消息(GPRMC,GPGGA),设置一个计时器(1),并将带有新时间戳(和新校验和)的2-3个句子写到特定的COM端口。
您的应用程序照常从该端口读取nmea。
https://stackoverflow.com/questions/17219950
复制相似问题