如何从GPS设备获取NMEA?

时间:2009-06-01 20:56:41

标签: gps nmea

我尝试使用诺基亚的N95来阅读GPS设备的当前位置。 我读过我需要我的设备将NMEA线路返回到串口,然后我将解析/分割它以获得我想要的东西但是我一直都不知道要写什么去串口以使设备返回NMEA?

喜欢AT的其他命令用于消息传递等...是否有任何特定命令发送到serialport以获取NMEA ???

7 个答案:

答案 0 :(得分:2)

我发现这个网站site似乎可以指导您完成所有需要做的事情。

答案 1 :(得分:1)

我不确定它在N95中是如何工作的,但是在我的HTC手机中,你无法向GPS设备发送命令以使其以某种方式运行。一旦我连接到GPS设备使用的串行端口,我就可以读取来自它的数据流,这恰好是NMEA数据。我找不到向设备发送命令告诉它如何表现的方法。

答案 2 :(得分:0)

之前我没有使用过那个特定的GPS设备,但是对于我来说,我只需打开端口就可以立即开始接收NMEA数据。

答案 3 :(得分:0)

我有一台N82,据我所知,它并不直接代表NMEA。我使用来自this page的脚本 - 特别是标题为“#将带有内部GPS的S60手机(例如你的N95)转换为蓝牙GPS” - 来获取NMEA字符串。

答案 4 :(得分:0)

Ahh oki所以我需要运行一些脚本。我想我应该为它购买一个特定的GPS设备。

哪种设备能以最便宜的方式完成我的工作?

答案 5 :(得分:0)

我从来没有专门使用过N95,但大多数GPS设备只要在启动时就会开始吐出NMEA,无论他们是否有锁。我不知道N95是如何设计的,但我敢打赌它可能不是为了让你能够从GPS获取原始的NMEA数据。你可能需要一些非常花哨的技巧才能做到这一点。

如果您不需要使用N95,您可能会发现更容易获得GPS模块并使用它。我总是从SparkFun购买我的。他们有一些很好的evaluation boards板和tutorials来帮助你入门。

答案 6 :(得分:0)

在Java ME中执行此操作的一种好方法是使用JSR 179: the Location API。您的应用需要创建LocationListener的实现,然后在默认的LocationProvider上设置它。当调用侦听器的locationUpdated方法时,请调用:

location.getExtraInfo("application/X-jsr179-location-nmea");

这将提供对NMEA句子的访问。

您可以使用Java ME commports机制通过串行端口发送它(使用:

System.getProperty("microedition.commports");

here所述。

希望这有帮助,

funkybro