You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SPRK+ Sphero蓝牙配对失败问题(Ubuntu 14.04及树莓派环境)

解决SPRK+ Sphero在ROS环境中蓝牙配对失败的问题

我之前折腾SPRK+和ROS的时候也踩过蓝牙配对的坑,结合你在VirtualBox Ubuntu 14.04(Indigo)和树莓派3(Stretch)遇到的情况,给你整理几个关键的排查和解决步骤:

  • 先确认蓝牙适配器支持BLE
    SPRK+用的是低功耗蓝牙(BLE)连接,老款蓝牙适配器可能不支持。你可以在终端执行hciconfig -a,检查输出里有没有LE Supported: Yes的条目。如果是VirtualBox环境,一定要把宿主机的蓝牙适配器通过USB直通分配给虚拟机,别用系统的蓝牙共享,而且要确保虚拟机里的蓝牙驱动正常加载。

  • 按完整流程用bluetoothctl操作
    你之前的命令只执行到一半,可能是流程没走对。正确的操作步骤应该是这样的:

    1. 打开蓝牙控制终端:bluetoothctl
    2. 开启蓝牙控制器:power on
    3. 启动设备扫描:scan on(等个3-5秒,直到看到SPRK+的设备名称和你的MAC地址F7:AF:AF:64:39:66)
    4. 停止扫描:scan off
    5. 先信任设备:trust F7:AF:AF:64:39:66
    6. 再执行配对:pair F7:AF:AF:64:39:66
    7. 配对成功后连接:connect F7:AF:AF:64:39:66
      ⚠️ 重点:配对的时候要按一下SPRK+球顶的按钮,触发它的配对模式,不然大概率会失败。
  • VirtualBox环境的特殊配置
    如果是VirtualBox里的Ubuntu 14.04,还要注意这几点:

    • 宿主机的蓝牙不能被其他程序占用(比如Windows系统的蓝牙要先关闭)
    • 升级蓝牙相关工具:sudo apt-get install bluez bluez-tools,Ubuntu 14.04默认的bluez版本比较老,可能对BLE支持不好,有条件的话可以升级到bluez 5.x版本(注意兼容性,升级前可以备份一下配置)
  • 树莓派3的蓝牙优化
    树莓派3的蓝牙和Wi-Fi容易互相干扰,你可以试试这些调整:

    1. 编辑蓝牙配置文件:sudo nano /etc/bluetooth/main.conf,找到或添加ControllerMode = bredr
    2. 重启蓝牙服务:sudo systemctl restart bluetooth
    3. 如果不需要Wi-Fi,可以临时关闭减少干扰:sudo ifconfig wlan0 down
  • ROS层面的验证
    配对连接成功后,你可以绑定rfcomm设备:sudo rfcomm bind 0 F7:AF:AF:64:39:66,然后启动sphero节点测试:

rosrun sphero_node sphero_node.py /dev/rfcomm0

如果还是失败,建议把bluetoothctl执行配对时的完整错误输出贴出来,这样能更精准地定位问题。

内容的提问来源于stack exchange,提问作者Sam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:37:35