Since I can't find an answer despite a robust Google effort, I'm sure this must be an incredibly stupid question...
I'm playing with three Bluetooth modules, one an HC-05, another embedded in a Soma Smart Shades blind motor, and a 3rd embedded RPi Bluetooth module, trying to figure out how to get the HC-05 (connected to an Arduino Nano) to talk directly to the blind motor without needing to use the HCI & HomeBridge code via the RPi. I.e. use the HC-05/Arduino combo to simply emulate the 4 or 5 commands I need to send to the Soma blinds device without needing to use the whole RPi/HomeBridge enchilada.
My question is this: how does a Bluetooth master know at which data rate to initially talk to an arbitrary slave device (i.e. one it has not connected with before)? Default commands for HC-05 are at the 38400 rate, and default on-line data rate is 9600, but they can both be changed manually. The HCITools program on the RPi can return various inquiry and scan data, but I see nothing returned from any device about its presently-configured (i.e. on-line) data rate.
I ask because while the RPi can "inquire" and get data from both the HC-05 and the Soma blind transceiver, I cannot get the Soma transceiver to respond to the HC-05 module via a connect/scan/inquiry command, and I'm thinking that until I confirm that the current Soma blind transceiver on-line data rate is 9600 (or not), I'm just wasting my time.
For example, if the Soma blind device has been set for on-line data at 19200, how would the HC-05 ever find out? The RPi seems to be able to figure it out, so I'm thinking that there must be a well-known convention that deals with this, but I sure can't find it. Does it perhaps simply run through all the data rates until it gets a valid response? If so, I would have hoped that it would display any data rate-finding result in the inquiry response...
Thanks for any insight...