Как сказал @TJD, вам нужно убедиться, что вы привязываете правильный порт для нужной вам услуги.
>>> from bluetooth import *
>>> from pprint import pprint
>>>
>>> devices = discover_devices()
>>> devices
['xx:yy:tt:zz:44:BD', '00:yy:72:zz:bb:aa']
Затем в качестве второго шага попытайтесь найти службу на устройстве, к которому хотите подключиться.
>>> service = find_service(address='00:yy:72:zz:bb:aa')
>>> pprint(service)
[{'description': None,
'host': '00:yy:72:zz:bb:aa',
'name': 'Headset Audio Gateway',
'port': 12,
'profiles': [('1108', 258)],
...},
{'description': None,
'host': '00:yy:72:zz:bb:aa',
'name': 'Dial-Up Networking',
'port': 1,
'profiles': [('1103', 256)],
'protocol': 'RFCOMM',
...}]
На основании этой информации вы можете подключиться к службе, работающей на устройстве. В соответствии со спецификацией сервиса / профиля вы отправляете сервисные команды и получаете информацию с устройства. Например. в приведенном выше списке вы видите «Audio Gateway Headset» и список профилей с номером «1108», который является сокращенным UUID для услуги. Теперь вы можете искать команды для этого профиля, и он должен работать.