Holux Bluetooth GPS Module And 的Raspberry Pi

29

在过去,我有一台Acer N50 Premium PDA。对于在那里的年轻人来说,这就像一部智能手机,但是却没有电话,电容式触摸屏,内存,应用程序,GPS或电池寿命。我主要将其用作连接到Holux GPSlim236蓝牙模块的基于TomTom的卫星导航设备。

该模块在抽屉中放置了至少五年,我决定看看是否可以在Raspberry Pi上使用它。令人惊讶的是我没有’不需要充电,因为五年后它仍然可以正常运行。它使用当时标准的诺基亚电话电池。

好乐士GPSlim236这是我使用的硬件:

  • 好乐士GPSlim236蓝牙GPS模块
  • PoundWorld蓝牙模块
  • Raspberry Pi B型(Rev 2)
  • 电源供应
  • 新鲜的Raspbian SD卡
    (2013-09-25-wheezy-raspbian)

这是这些实验之一,一旦我整理了许多不同博客和论坛的片段,Google便给了我所有答案。

虽然我’m using a specific GPS device 我不’t see why it wouldn’假设它们都将以标准NMEA格式发送串行数据,则不能与任何蓝牙GPS模块一起使用。让我知道它是否适用于其他单位。

第1步– Initial Setup

从SD卡上的新Raspbian映像开始,然后将其与蓝牙加密狗一起插入Pi。通过连接到网络为Pi通电,因为我们需要访问Internet。

由于这是全新的SD卡,请运行以下命令:

sudo raspi-config

并扩展SD卡分区以填充备用卡空间。然后运行:

sudo apt-get update
sudo apt-get upgrade

确保一切都是最新的。这将需要一段时间(5-10分钟),因此这是喝咖啡的好机会。为了形成Pi与设备之间的链接,我们需要安装一些额外的软件包:

sudo apt-get -y install bluez-utils gpsd客户端

回答“Y” when prompted. “bluez-utils”提供了一些蓝牙工具,“gpsd-clients”是用于处理和显示数据的工具的集合。

正如我们’安装了很多新文件,重新启动是个好主意:

sudo reboot

第三步– Get MAC Address

使用Holux模块上的Pi通电开关,并给它60秒的时间来寻找卫星。我们需要知道模块的MAC地址,所以运行:

hcitool扫描

几秒钟后,您应该得到响应:

Scanning ...
        00:0B:0D:6F:B5:D4       HOLUX GPSlim236

这将为您提供设备的MAC地址。就我而言“00:0B:0D:6F:B5:D4”我记下了。

步骤4– Connect To 的GPS Module

接下来,我们需要运行以下命令将Pi连接到远程蓝牙设备:

rfcomm connect 0 00:0B:0D:6F:B5:D4 &

的&最后告诉命令在后台运行并返回命令提示符。请记住使用您的MAC地址!运行时,它会在屏幕上回显进程ID。几秒钟后,它将显示一些文本:

Connected /dev/rfcomm0 to 00:0B:0D:6F:B5:D4 上 channel 1
Press CTRL-C for hangup

您可能需要按Enter键以返回到命令提示符。不要按“CTRL-C”!

要测试连接,我们可以运行:

cat /dev/rfcomm0

如果连接正常,您应该会看到一些GPS数据(NMEA格式)从GPS模块进行流式传输。按CTRL-C返回命令提示符。

第5步– GPSD Daemon

接下来是“gpsd”守护程序。此过程在后台运行,并转换NMEA消息供客户端使用。

gpsd -b /dev/rfcomm0

的b switch tells it to 上ly read messages and not attempt to send anything back to the GPS receiver.

第6步– Terminal Client

在这一阶段,您的GPS模块应该正在通过蓝牙将数据流传输到Pi。为了以更具可读性的方式显示此数据,我们可以使用gpsd软件包随附的客户端之一。尝试:

cgps -s

如果一切都按计划进行,您应该会看到一些想法:

CGPS客户端

要返回命令提示符,您可以按CTRL-C。

步骤7– GUI Client

一旦您’已经使cgps工作,您可以尝试GUI客户端xgps。输入以下命令启动GUI:

startx

通过单击桌面图标打开一个LXTerminal窗口。然后使用以下命令运行客户端:

xgps

您应该看到类似以下内容的内容:

XGPS客户端

如果它’一切正常,您仍然在阅读本文,恭喜!

步骤8–重启后重新连接

重新启动后,您将失去蓝牙链接,并且必须从步骤4开始重复该过程。’很无聊。通过编辑系统文件,我们可以使Pi在启动时重新连接。

sudo nano /etc/bluetooth/rfcomm.conf

删除rfcomm0 {}块前面的#个字符并编辑设置,以得到如下结果:

rfcomm0 {
        # Automatically bind the device at startup
        bind 是;

        # Bluetooth address of the device
        device YOUR_DEVICE_MAC_ADDRESS;

        # RFCOMM channel for the connection
        channel 1;

        # Description of the connection
        comment "My GPS Module";
}

记住将绑定设置为“yes” and replace “YOUR_DEVICE_MAC_ADDRESS”与您设备的MAC地址。

使用CTRL-X,Y,然后输入以保存并退出nano文本编辑器。重新启动后,您现在可以从第5步开始运行gpsd。

更进一步,您可以让gpsd在启动时自动运行。为此运行:

sudo dpkg-reconfigure gpsd

这将弹出一个向导,该向导将gpsd配置为自动启动。您将需要输入一些详细信息,例如串行端口位置(/ dev / rfcomm0)和命令行开关(-b)。我没’对USB设备不感兴趣,所以我告诉它忽略这些设备。

当您重新启动Pi时,它应连接到GPS设备并允许您立即启动客户端。

步骤9– Other Clients

一旦您’在掌握了基础知识之后,您就可以开始探索所有其他乐意从gpsd进程读取数据的应用程序。 FoxtrotGPS是值得一试的应用程序。可以使用以下命令安装:

sudo apt-get -y install foxtrotgps

然后使用运行:

foxtrotgps

它从OpenStreetMap加载地图,并显示您当前的位置以及速度和高度。

最后的想法

Pi上可能还有很多其他GPS客户端。您对它们的处理取决于您的想象力。

LXDE下的Raspberry Pi GPS客户端

更新

我看到以下消息,说明以下设备可以使用本教程:

  • 戴尔BT-309 GPS
  • Emtac D1598蓝牙GPS
  • 好乐士GPSlim236 GPS
  • 好乐士GR-230
  • Holux M-241 GPS数据记录仪
  • Navicore SiRF III蓝牙GPS
  • RoyalTek RBT-2300 GPS
  • QStarz BT-Q816 GPS

如果你’我已经尝试过了,并且它适用于您的设备,请告诉我,我将更新此列表。

分享。

29条留言

  1. 嗨,
    很好的指导,只是注意到rfcomm命令需要以root身份运行,否则我得到一个“permission denied” error.

    还使用用于Axim X50 / X51 PDA的戴尔品牌BT-309 GPS对此进行了测试’和Belkin F8T012蓝牙适配器,尽管GPS无法’不能解决我认为是LOS问题的卫星信号。

  2. 安德烈亚斯

    我不’无法访问运行蓝牙的GPS接收器,所以我想知道是否可以使用通过蓝牙(/ dev / rfcomm0)接口的标准串行GPS接收器(4800 8N1)。为此,我只需要两件附加硬件,即在Pi上插入LogiLink USB加密狗(最好是在运行lsusb的情况下再次检查它的存在),以及在ybay上廉价购买的HC-06蓝牙至串行适配器。而且有效。这是我必须采取的其他步骤的简短摘要。由于GPS接收器的固定速度为4800,因此我也必须将HC-06蓝牙重新配置为串行适配器,也必须配置为4800(默认值为9600)。为此的命令是“AT+BAUD3”与9600 8N1一起发送。的“hcitool scan”命令找到了HC-06,并发布了其MAC地址。要检查USB加密狗确实可以与我运行的HC-06对话“sudo l2ping MAC地址”. 的result doesn’看起来与通常的ping有很大不同。由于HC-06带有密码(1234),因此我必须运行“sudo bluez-simple-agent hci0 Mac地址”这提示我输入该密码。现在我准备奔跑了“sudo rfcomm connect 0 Mac地址&”如上所述。顺便说一句。 gpsd可以杀死运行“sudo kill -9 ‘pidof gpsd'”。感谢您所做的一切!!!

  3. 感谢出色的教程,它确实帮助我走了最后一步(获得数据连接)。

    Confirmed working 上 Altina GBT-709 receiver, identifies itself as BT_GPS 上 the hcitool扫描.

    • 你好

      我知道’距您回答此问题已有一段时间,但我需要知道一切是否对您有用,或者您是否做了某种工作?

      我有相同的gps设备,rfcomm工作正常,但gpsd不’t working, he’无法捕获通道上正在传输的数据。

      谢谢!

  4. 简·布鲁姆(Jane Bloom)

    GPS lim 236天线失灵。 Weet iemand wie die nog in voorraad heeft。 B.v.b.米恩·丹克简·布鲁姆(Jane Bloom)

  5. 兰斯·穆斯韦尔

    刚刚用Pi发射了一个带有CSR蓝牙加密狗的古老iBT-GPS装置,就可以正常工作。最令人惊讶的是,GPS装置在盒子里已经存在至少10年了,电池仍然可以充电!

    非常感谢您的提示。

  6. 使用以下方法将PI连接到android手机时效果很好‘gps to 蓝牙’应用(已在多个设备上测试)
    的app used was btGPS.v2

  7. 约翰尼斯·罗斯(Johannes Roth)

    我在过去十年里一直用在棚子里的过时的CoPilot蓝牙GPS接收器尝试过– worked a treat!

发表评论

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.