Just recently picked up a SparkFun Purpletooth Jamboree BC127 Development Board
I then upgraded the firmware to the latest provided here Melody v6.1.5.
What i am having trouble with is enabling AVRCP only mode/profile.
I just need to be able to control the music playing on the target device (Android Cell Phone). I do not need A2DP streaming from the cellphone to the BC127.
My application is…the cellphone is connected to a BT speaker and plays audio there. I am trying to also connect the BC127 to the cellphone, BUT only to be able to use it as a remote to control the media functions (Play, pause, track fwd/bck, volume +/-).
When i set only the AVRCP profile, the BC127 doesn’t connect to the cellphone. If i try to add the HID profile, a connection is made, i can see the BC127 connected to the phone, but as an HID device. If i attempt to send a “MUSIC 11 PLAY” over UART, an error 0x0013 is returned. Oddly enough…some of the buttons on the dev board work to control the music functions (Pause, FWD, BCK. Volume, and play do not work).
Can someone help point me in the right direction? I thought just enabling the AVRCP profile would be enough, but it doesn’t seem so.
Here are some logs. This section is under normal operating circumstances of the BC127. Everything works as expected and the Bluetooth pairing succeeds on both BC127 and my Android phone. A2DP and AVRCP work as expected. This photo shows the BT connecting on the phone is successful (https://www.dropbox.com/s/gmx740sozyqc71z/Screenshot_20180522-103156_Settings.jpg?dl=0).
==========================WORKING_SCENARIO===========================
restore
BlueCreation Copyright 2017
Melody Audio V6.1.5
Build: 1496939390
Ready
version
BlueCreation Copyright 2017
Melody Audio V6.1.5
Build: 1496939390
Bluetooth address 20FABB018174
Profiles: A2DP AVRCP HFP BLE SPP PBAP MAP
Codecs: SBC
OK
config
AUDIO=0 0
AUDIO_ANALOG=15 15 1 OFF
AUDIO_DIGITAL=0 44100 64 100A00 OFF
AUTOCONN=0
AUTO_DATA=OFF OFF OFF
BALANCE=100 100
BATT_CONFIG=OFF 145 4250 1500 150
BC_SMART_CONFIG=68E3 28F0 89F7 D93C
BEACON_DATA=0 00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF 04 D2 16 2E EE
BLE_CONFIG=0 OFF 40 ON
BLE_CONN_PARAMS=128 12 6 40 0 400 50 400 400 61 400 400
BT_VOL_CONFIG=A A 10 1
CLASS_1=OFF
CMD_TO=20
COD=240404
CODEC=0 OFF
CONN_TO=0
DEEP_SLEEP=OFF
DEVICE_ID=0001 0002 0003 0004 0005 0006 0007 0008
DISCOVERABLE=2 0
ENABLE_BATT_IND=ON
ENABLE_CAPSENSE=OFF
ENABLE_LED=ON
ENABLE_SPP_SNIFF=OFF 0 0 0 0 0
GPIO_CONFIG=ON 0 255
HFP_CONFIG=OFF ON OFF OFF OFF
HIGH_SPEED=OFF OFF
LOCAL_ADDR=20FABB018174
MAX_REC=2
MM=OFF OFF 0 OFF OFF OFF OFF OFF
MUSIC_META_DATA=OFF
MUSIC_OLD_AVRCP=OFF
NAME=BC-018174
NAME_SHORT=BC18174
PIN=0000
PROFILES=2 0 2 0 2 1 2 1 0 0 1 0
REMOTE_ADDR=000000000000
SPP_UUID=00 00 11 01 00 00 10 00 80 00 00 80 5F 9B 34 FB
SSP_CAPS=3
TWS_CONFIG=OFF 1 2
UART_CONFIG=9600 OFF 0
USB_HOST=OFF
VREG_ROLE=1
OK
list
OK
status
STATE CONNECTED[0] CONNECTABLE[ON] DISCOVERABLE[ON] BLE[IDLE]
OK
inquiry
PENDING
INQUIRY B4BFF62D7E84 "Gr3at0n3" 5A020C -74db
INQUIRY B4BFF62D7E84 "Gr3at0n3" 5A020C -82db
INQUIRY B4BFF62D7E84 "Gr3at0n3" 5A020C -74db
INQUIRY B4BFF62D7E84 "Gr3at0n3" 5A020C -77db
INQUIRY B4BFF62D7E84 "Gr3at0n3" 5A020C -75db
INQUIRY B4BFF62D7E84 "UNKNOWN" 5A020C -85db
INQUIRY B4BFF62D7E84 "Gr3at0n3" 5A020C -75db
INQUIRY B4BFF62D7E84 "Gr3at0n3" 5A020C -73db
INQUIRY B4BFF62D7E84 "UNKNOWN" 5A020C -85db
INQUIRY E4A4719BB4EF "jbujold-LT" 0C010C -88db
INQUIRY E4A4719BB4EF "jbujold-LT" 0C010C -71db
INQUIRY B4BFF62D7E84 "Gr3at0n3" 5A020C -75db
INQUIRY E4A4719BB4EF "jbujold-LT" 0C010C -78db
INQUIRY E4A4719BB4EF "jbujold-LT" 0C010C -74db
INQUIRY E4A4719BB4EF "jbujold-LT" 0C010C -81db
INQUIRY B4BFF62D7E84 "Gr3at0n3" 5A020C -75db
INQU_OK
open B4BFF62D7E84 avrcp
PENDING
PAIR_PENDING
PAIR_OK B4BFF62D7E84
OPEN_OK 11 AVRCP B4BFF62D7E84
AVRCP_PAUSE 11
OPEN_OK 10 A2DP B4BFF62D7E84
ROLE_OK B4BFF62D7E84 M
OPEN_OK 13 HFP B4BFF62D7E84
ROLE_OK B4BFF62D7E84 M
status
STATE CONNECTED[1] CONNECTABLE[ON] DISCOVERABLE[OFF] BLE[IDLE]
LINK 10 CONNECTED A2DP B4BFF62D7E84 SUSPENDED SBC SNK 44100
LINK 11 CONNECTED AVRCP B4BFF62D7E84 PAUSED
LINK 13 CONNECTED HFP B4BFF62D7E84 IDLE NB
OK
music 11 play
OK
A2DP_STREAM_START 10
AVRCP_PLAY 11
music 11 pause
OK
AVRCP_PAUSE 11
A2DP_STREAM_SUSPEND 10
close all
OK
CLOSE_OK 11 AVRCP B4BFF62D7E84
CLOSE_OK 13 HFP B4BFF62D7E84
CLOSE_OK 10 A2DP B4BFF62D7E84
This section…i restore and unpair, and enable only the AVRCP profile. Although the BC127 reports that it is connected to my Android phone…the phone itself does not see a connection. It does pair with the BC127, but actual BT connection fails with error “Can’t connect to BC18174”. This photo was taken AFTER the BC127 reports a successfully AVRCP connection after issuing the “open” command (https://www.dropbox.com/s/bl6mf9vccif2bmr/Screenshot_20180522-103639_Settings.jpg?dl=0).
============================FAIL_SCENARIO=========================
restore
BlueCreation Copyright 2017
Melody Audio V6.1.5
Build: 1496939390
Ready
list
LIST B4BFF62D7E84 HFP A2DP AVRCP
OK
unpair B4BFF62D7E84
OK
restore
BlueCreation Copyright 2017
Melody Audio V6.1.5
Build: 1496939390
Ready
version
BlueCreation Copyright 2017
Melody Audio V6.1.5
Build: 1496939390
Bluetooth address 20FABB018174
Profiles: A2DP AVRCP HFP BLE SPP PBAP MAP
Codecs: SBC
OK
config
AUDIO=0 0
AUDIO_ANALOG=15 15 1 OFF
AUDIO_DIGITAL=0 44100 64 100A00 OFF
AUTOCONN=0
AUTO_DATA=OFF OFF OFF
BALANCE=100 100
BATT_CONFIG=OFF 145 4250 1500 150
BC_SMART_CONFIG=68E3 28F0 89F7 D93C
BEACON_DATA=0 00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF 04 D2 16 2E EE
BLE_CONFIG=0 OFF 40 ON
BLE_CONN_PARAMS=128 12 6 40 0 400 50 400 400 61 400 400
BT_VOL_CONFIG=A A 10 1
CLASS_1=OFF
CMD_TO=20
COD=240404
CODEC=0 OFF
CONN_TO=0
DEEP_SLEEP=OFF
DEVICE_ID=0001 0002 0003 0004 0005 0006 0007 0008
DISCOVERABLE=2 0
ENABLE_BATT_IND=ON
ENABLE_CAPSENSE=OFF
ENABLE_LED=ON
ENABLE_SPP_SNIFF=OFF 0 0 0 0 0
GPIO_CONFIG=ON 0 255
HFP_CONFIG=OFF ON OFF OFF OFF
HIGH_SPEED=OFF OFF
LOCAL_ADDR=20FABB018174
MAX_REC=2
MM=OFF OFF 0 OFF OFF OFF OFF OFF
MUSIC_META_DATA=OFF
MUSIC_OLD_AVRCP=OFF
NAME=BC-018174
NAME_SHORT=BC18174
PIN=0000
PROFILES=2 0 2 0 2 1 2 1 0 0 1 0
REMOTE_ADDR=000000000000
SPP_UUID=00 00 11 01 00 00 10 00 80 00 00 80 5F 9B 34 FB
SSP_CAPS=3
TWS_CONFIG=OFF 1 2
UART_CONFIG=9600 OFF 0
USB_HOST=OFF
VREG_ROLE=1
OK
list
OK
status
STATE CONNECTED[0] CONNECTABLE[ON] DISCOVERABLE[ON] BLE[IDLE]
OK
set profiles=0 0 0 0 1 0 0 0 0 0 0 0
OK
write
OK
reset
BlueCreation Copyright 2017
Melody Audio V6.1.5
Build: 1496939390
Ready
version
BlueCreation Copyright 2017
Melody Audio V6.1.5
Build: 1496939390
Bluetooth address 20FABB018174
Profiles: AVRCP
OK
config
AUDIO=0 0
AUDIO_ANALOG=15 15 1 OFF
AUDIO_DIGITAL=0 44100 64 100A00 OFF
AUTOCONN=0
AUTO_DATA=OFF OFF OFF
BALANCE=100 100
BATT_CONFIG=OFF 145 4250 1500 150
BC_SMART_CONFIG=68E3 28F0 89F7 D93C
BEACON_DATA=0 00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF 04 D2 16 2E EE
BLE_CONFIG=0 OFF 40 ON
BLE_CONN_PARAMS=128 12 6 40 0 400 50 400 400 61 400 400
BT_VOL_CONFIG=A A 10 1
CLASS_1=OFF
CMD_TO=20
COD=240404
CODEC=0 OFF
CONN_TO=0
DEEP_SLEEP=OFF
DEVICE_ID=0001 0002 0003 0004 0005 0006 0007 0008
DISCOVERABLE=2 0
ENABLE_BATT_IND=ON
ENABLE_CAPSENSE=OFF
ENABLE_LED=ON
ENABLE_SPP_SNIFF=OFF 0 0 0 0 0
GPIO_CONFIG=ON 0 255
HFP_CONFIG=OFF ON OFF OFF OFF
HIGH_SPEED=OFF OFF
LOCAL_ADDR=20FABB018174
MAX_REC=2
MM=OFF OFF 0 OFF OFF OFF OFF OFF
MUSIC_META_DATA=OFF
MUSIC_OLD_AVRCP=OFF
NAME=BC-018174
NAME_SHORT=BC18174
PIN=0000
PROFILES=0 0 0 0 1 0 0 0 0 0 0 0
REMOTE_ADDR=000000000000
SPP_UUID=00 00 11 01 00 00 10 00 80 00 00 80 5F 9B 34 FB
SSP_CAPS=3
TWS_CONFIG=OFF 1 2
UART_CONFIG=9600 OFF 0
USB_HOST=OFF
VREG_ROLE=1
OK
list
OK
status
STATE CONNECTED[0] CONNECTABLE[ON] DISCOVERABLE[ON] BLE[OFF]
OK
inquiry
PENDING
INQUIRY E4A471A1738A "UNKNOWN" 0C010C -71db
INQUIRY E4A471A1738A "jchavez-lt.corp.netcomm.com.au" 0C010C -72db
INQUIRY B4BFF62D7E84 "UNKNOWN" 5A020C -72db
INQUIRY E4A4719BB4EF "jbujold-LT" 0C010C -75db
INQUIRY B4BFF62D7E84 "Gr3at0n3" 5A020C -75db
INQUIRY B4BFF62D7E84 "Gr3at0n3" 5A020C -77db
INQUIRY B4BFF62D7E84 "Gr3at0n3" 5A020C -73db
INQUIRY B4BFF62D7E84 "Gr3at0n3" 5A020C -74db
INQUIRY B4BFF62D7E84 "Gr3at0n3" 5A020C -74db
INQUIRY B4BFF62D7E84 "Gr3at0n3" 5A020C -82db
INQUIRY E4A471A1738A "jchavez-lt.corp.netcomm.com.au" 0C010C -71db
INQUIRY B4BFF62D7E84 "Gr3at0n3" 5A020C -73db
INQUIRY B4BFF62D7E84 "Gr3at0n3" 5A020C -70db
INQUIRY B4BFF62D7E84 "Gr3at0n3" 5A020C -74db
INQUIRY E4A4719BB4EF "jbujold-LT" 0C010C -73db
INQUIRY E4A4719BB4EF "jbujold-LT" 0C010C -75db
INQU_OK
open B4BFF62D7E84 avrcp
PENDING
PAIR_PENDING
PAIR_OK B4BFF62D7E84
OPEN_OK 11 AVRCP B4BFF62D7E84
AVRCP_PAUSE 11
status
STATE CONNECTED[1] CONNECTABLE[ON] DISCOVERABLE[OFF] BLE[OFF]
LINK 11 CONNECTED AVRCP B4BFF62D7E84 PAUSED
OK
music 11 play
ERROR 0x0013
music 11 pause
ERROR 0x0013
Not sure that Android requires A2DP for AVRCP to work…If so, how do devices like this work?
This is essentially what i’m trying to emulate with the BC127. I have one of these little remotes and can connect it to my phone to control the media, while my phone streams over A2DP to a bluetooth wireless speaker. Is it possible that these devices use the HID profile instead?
I did similar thing to what you had above i.e. the phone sees the dvice paird but it does not delcare it is connected for media or phone calls, it is just paired. I do not think the unit is going to be able to just send the pause, play, volume, etc commands and control the handset as there is nothing linking the commands going over the air to the audio stream on the handset. It is implied by the fact that there can only be a single stream coming out of the handset but it is not explicitly specified so it would have to be an assumption by the firmware on the handset which is unlikely to happen.
I suspect the BC127 can only control the audio stream of what is going to it.
Re the comment about the Satechi device, what does it come up as on the handset/tablet? It may well be a HID rather than doing it over AVRCP.
So i got the phone to recognize the bc127 as a keyboard. 1 step closer to my end goal lol. Only problem now is that i can’t seem to send any key presses. I tried some of the examples from the Melody 6 User Guide. Nothing really works. Not sure why. After the “SEND_RAW” command, it just stay in “PENDING” mode…
BlueCreation Copyright 2017
Melody Audio V6.1.5
Build: 1496939390
Ready
version
BlueCreation Copyright 2017
Melody Audio V6.1.5
Build: 1496939390
Bluetooth address 20FABB018174
Profiles: HID
OK
config
AUDIO=0 0
AUDIO_ANALOG=15 15 1 OFF
AUDIO_DIGITAL=0 44100 64 100A00 OFF
AUTOCONN=0
AUTO_DATA=OFF OFF OFF
BALANCE=100 100
BATT_CONFIG=OFF 145 4250 1500 150
BC_SMART_CONFIG=68E3 28F0 89F7 D93C
BEACON_DATA=0 00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF 04 D2 16 2E EE
BLE_CONFIG=0 OFF 40 ON
BLE_CONN_PARAMS=128 12 6 40 0 400 50 400 400 61 400 400
BT_VOL_CONFIG=A A 10 1
CLASS_1=OFF
CMD_TO=20
COD=540
CODEC=0 OFF
CONN_TO=0
DEEP_SLEEP=OFF
DEVICE_ID=0001 0002 0003 0004 0005 0006 0007 0008
DISCOVERABLE=2 0
ENABLE_BATT_IND=ON
ENABLE_CAPSENSE=OFF
ENABLE_LED=ON
ENABLE_SPP_SNIFF=OFF 0 0 0 0 0
GPIO_CONFIG=ON 0 255
HFP_CONFIG=OFF ON OFF OFF OFF
HIGH_SPEED=OFF OFF
LOCAL_ADDR=20FABB018174
MAX_REC=2
MM=OFF OFF 0 OFF OFF OFF OFF OFF
MUSIC_META_DATA=OFF
MUSIC_OLD_AVRCP=OFF
NAME=BC-018174
NAME_SHORT=BC18174
PIN=0000
PROFILES=0 0 0 0 0 0 0 0 1 0 0 0
REMOTE_ADDR=000000000000
SPP_UUID=00 00 11 01 00 00 10 00 80 00 00 80 5F 9B 34 FB
SSP_CAPS=3
TWS_CONFIG=OFF 1 2
UART_CONFIG=9600 OFF 0
USB_HOST=OFF
VREG_ROLE=1
OK
list
LIST B4BFF62D7E84 HID
OK
unpair B4BFF62D7E84
OK
open B4BFF62D7E84 HID
PENDING
PAIR_PENDING
PAIR_OK B4BFF62D7E84
OPEN_OK 17 HID B4BFF62D7E84
close all
OK
CLOSE_OK 17 HID B4BFF62D7E84
set cod=000540
OK
get cod
COD=540
OK
open B4BFF62D7E84 HID
PENDING
OPEN_OK 17 HID B4BFF62D7E84
SEND_RAW 17 8
PENDING