Bluetooth를 통해 Raspberry Pi를 자동차의 인포테인먼트 화면에 연결하려고 합니다. 전화기를 스캔할 때 전화기에 맞는 Bluetooth 장치 클래스(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(Advanced Audio Distribution Profile)가 없으며 화면에서 볼 수 있는 유일한 누락 프로필입니다.
자동차 화면에서 "연결"을 선택하면 Pi의 bluetoothctl에서 서비스 0x110e 및 0x110d를 승인하라는 메시지가 표시되고, 그렇게 해도 즉시 연결이 끊어집니다. 나는 보았다
연결하려면 Pi의 UUID 목록에 Bluetooth 프로필 A2DP가 있어야 합니까?
1.1.Pi에 이 프로필을 추가하기 위해 패키지를 설치할 수 있습니까?
1.2. ESP32를 휴대폰으로 사용할 수 있나요? 이제 일부 내용을 읽었으니 A2DP가 있을 수 있나요?
즉각적인 연결 끊김을 일으키는 다른 문제가 있습니까?
65페이지에서 UUID 참조를 얻었습니다.https://btprodspecationrefs.blob.core.windows.net/signed-numbers/Assigned%20Number%20Types/Assigned_Numbers.pdf
Raspbian Buster Lite 및 Full을 사용하여 Pi 3b+ 및 Pi 4에서 테스트했습니다.
감사해요.