搞了一个下午终于把这个弄清楚了;查了下网络资料基本也没什么相关的,这里就自己写个和大家分享下吧。虽然在XP系统下实现起来比较方便,但由于本人研究方向的原因,还是试着通过Linux系统来实现。这里用到的GPS设备是Nokia的LD-3W,支持NMEA协议;蓝牙适配器是一个IVT的USB适配器;系统是2.4核Debian(有点年限了)。
首先要做的是安装蓝牙模块,这个之前在搞蓝牙连手机,实现拨号上网的时候已经做过了。(这个可以去下,比较方便的;或者直接用apt-get,yum之类的)
然后运行"hcitool scan"下,发现GPS设备,记录MAC地址。不过此前应该确保蓝牙适配器的接口是运行的。输入hciconfig查询(我这个是usb的蓝牙)
串行的话和之前用手机拨号上网的原理一样,利用rfcomm来作为虚拟的仿真串行链路。利用"rfcomm bind /dev/rfcomm0 <MAC> 1"命令来进行绑定。此时最好先设置下pin值。是在/etc/bluetooth/pin里的,改成0000,这个是Nokia LD-3W的值,这样配对可以比较方便。
其实,此时已经可以进行相关的应用了。配置下minicom的设备口为/dev/rfcomm0,波特率调整为4800,就可以了。当然,利用gpsd()还可以把这台计算机设置成能发布gps数据的服务器,其他客户端可以连接。该服务器可以用apt-get或yum下载,默认的端口为2947.具体一些配置命令可以参加相关站点。其支持除NMEA以外的协议。
在结合地图或者kimset之类的软件可以绘制地图也可以实现路径记录等等,比买一个专业的车载设备实惠的多;最主要的是,还可以让其他蓝牙手机,PDA等手持设备使用,携带也比较方便。利用gpsd还可以实现多人共享gps接收器,适合多辆车自驾游。上述这些我玩过一部分,有兴趣的朋友还可以进一步交流。
出处。GuanweiYu在此谢谢您对本人成果的尊重。
作者:GuanweiYu