08-11-2019, 12:17 PM
@dillman
That's a huge clue.
1) that it connects when moOde doesn't is a puzzler since in both cases the Raspbian Bluez subsystem is doing the discovering, pairing, and connecting. With the plain old Raspbian you could use bluetoothctl and related tools to analyze the handshaking process.
2) what is the Raspbian app in which the controls "were able to change audio tracks"? I wonder what it's doing to receive and interpret the AVRCP profile packets, assuming that's the profile in play.
The general programmer's dilemma with Bluetooth is that it is a crufty big-as-houses spec with many details left to what we in the standards business used to call "implementer agreements". As well, it provides for some 30 different profiles which define how it can be used in specific cases. The Advanced Audio Distribution Profile (A2DP) used in moOde is just one. The Audio/Video Remote Control Profiles is a different one, but then there's also the Human Interface Device Profile (HID), the Hands-Free Device Profile (HFP), etc. Different software is needed to implement the different profiles.
To mangle a popular analogy, the Bluetooth spec gets you in the right church, a Profile might get you in the right pew, but the implementer agreements get you singing in the right key.
Regards,
Kent
Quote:connecting to my car with just plain old Raspbian OS, it connected to my cars bluetooth, and my steering wheel controls were able to change audio tracks.
That's a huge clue.
1) that it connects when moOde doesn't is a puzzler since in both cases the Raspbian Bluez subsystem is doing the discovering, pairing, and connecting. With the plain old Raspbian you could use bluetoothctl and related tools to analyze the handshaking process.
2) what is the Raspbian app in which the controls "were able to change audio tracks"? I wonder what it's doing to receive and interpret the AVRCP profile packets, assuming that's the profile in play.
The general programmer's dilemma with Bluetooth is that it is a crufty big-as-houses spec with many details left to what we in the standards business used to call "implementer agreements". As well, it provides for some 30 different profiles which define how it can be used in specific cases. The Advanced Audio Distribution Profile (A2DP) used in moOde is just one. The Audio/Video Remote Control Profiles is a different one, but then there's also the Human Interface Device Profile (HID), the Hands-Free Device Profile (HFP), etc. Different software is needed to implement the different profiles.
To mangle a popular analogy, the Bluetooth spec gets you in the right church, a Profile might get you in the right pew, but the implementer agreements get you singing in the right key.
Regards,
Kent