通过蓝牙将 Raspberry Pi 作为智能手机连接到汽车信息娱乐屏幕

通过蓝牙将 Raspberry Pi 作为智能手机连接到汽车信息娱乐屏幕

我正在尝试通过蓝牙将我的 Raspberry Pi 连接到我的汽车信息娱乐屏幕。扫描手机时,它仅识别具有正确的手机蓝牙设备类别 (CoD) 的设备,因此我将其更改为:

sudo hciconfig hci0 类 0x5a020C

现在它已被识别并与我的车成功配对。它要求我提供代码并且它匹配。我的 Pi 显示已连接,但配对后立即断开连接。在我的屏幕上,我看到它已断开连接。即使我信任车载屏幕蓝牙MAC地址。

通过 bluetoothctl 信息,我可以通过蓝牙查看汽车的配置文件/服务,并且它具有以下 UUID:

0x1101 AudioSource
0x110b AudioSink
0x110c A/V_RemoteControlTarget
0x110d AdvancedAudioDistribution
0x110e A/V_RemoteControl
0x111e Handsfree
0x1200 PnPInformation

安装pulseaudio、pulseaudio-module-bluetooth和ofono后,我的Raspberry Pi有以下UUID:

0x1112 Headset AG
0x1801 Generic Attribute Profile
0x110e A/V Remote Control
0x1800 Generic Access Profile
0x1200 PnP Information
0x110c A/V Remote Control Target
0x110a Audio Source
0x110b Audio Sink Handsfree
0x111e Handsfree
0x1108 Headset

它不像我的屏幕或我真正的智能手机那样具有高级音频分发配置文件(A2DP),并且是我可以看到的屏幕上唯一缺少的配置文件。

当我在汽车屏幕中选择“连接”时,我会在 Pi 上的 bluetoothctl 上收到消息,以授权服务 0x110e 和 0x110d,即使我这样做了,它也会立即断开连接。我看到

  1. 您是否需要在 Pi 的 UUID 列表中包含蓝牙配置文件 A2DP 才能连接?

    1.1.是否可以安装一个软件包来在 Pi 上添加该配置文件?

    1.2.是否可以将 ESP32 用作手机?既然我读了一些可以有A2DP吗?

  2. 是否还有其他问题导致立即断开连接?

我从第 65 页获得了 UUID 参考:https://btprodspecationrefs.blob.core.windows.net/signed-numbers/Assigned%20Number%20Types/Assigned_Numbers.pdf

我在 Pi 3b+ 和 Pi 4 上使用 Raspbian Buster Lite 和 Full 进行了测试。

谢谢。

相关内容