我有一块运行 Linux Ångström 的板子。现在我不想在我的程序中获取 GPS 数据。所以我设置了一个 gpsdeamon,他从调制解调器获取他的 gps 信息。守护进程运行良好,如果我远程登录到 localhost:2947(这是 gpsd 的标准端口),我会从守护进程中获取一堆 json 字符串,如下所示:
{"class":"TPV","tag":"GGA","device":"/dev/ttyUSB2","mode":3,"lat":51.282822633,"lon":11.404333250,"alt": 327.500}
所以 gpsd 似乎设置正确。
但是在我的 C-Programm 中,我无法连接到这个端口,我也不知道为什么。我的代码如下所示:
#include <gps.h>
struct gps_data_t *gpsdata = 0;
int main() {
if(gps_open("localhost", "2947", gpsdata)<0){
fprintf(stderr,"Could not connect to GPSd\n");
return(-1);
}
/* some more stuff */
}
问题是,函数 gps_open() 总是返回 -1。所有库似乎都已正确安装。你有什么想法,我可以尝试使它工作吗?