В Bluetooth есть концепция профиля сервиса для прикладного уровня.Приложение на одноранговом узле 1, желающее общаться с одним и тем же приложением на одноранговом узле 2, должно быть доступным для обнаружения и подключения, причем мастер инициирует соединение.
Приложению присваивается уникальный идентификатор службы / приложения, чтобы одноранговые узлы могли обнаруживать друг друга,Если вы пишете пользовательское приложение самостоятельно, от вас ожидается, что вы создадите новый UUID, чтобы соответствующий протокол SDP мог выполнить необходимое обнаружение.
Вместо того, чтобы соединяться с помощью грубой силы с помощью BT_ADDR, вы по сути инициировали бы соединение черезпостепенное обнаружение службы, а затем соединение следует, как только базовый UUID идентифицирован.Это, конечно, предполагает, что вы бы выполнили процесс сопряжения раньше или что ваш стек нижнего уровня также будет включать процесс сопряжения.