Python Bluetooth Passkey / Password Linux

Я работаю над скриптом Python для управления Mindstorms NXT с помощью малины Pi. Моя проблема в том, что NXT имеет ключ доступа Bluetooth. Вы можете изменить ключ доступа, но не удалить его.

Я хочу знать, как вы можете подключить сокет PyBluez к устройству с ключом доступа.

Это текущая программа:

import bluetooth import socket target_name = "Jerry" target_address = None print "performing inquiry..." nearby_devices = bluetooth.discover_devices() print "found %d devices" % len(nearby_devices) for bdaddr in nearby_devices: if target_name == bluetooth.lookup_name( bdaddr ): target_address = bdaddr break if target_address is not None: print "found target bluetooth device with address ", target_address else: print "could not find target bluetooth device nearby" bluesock= socket.socket(socket.AF_BLUETOOTH, socket.SOCK_STREAM, socket.BTPROTO_RFCOMM) bluesock.connect((target_address, 1)) 

Я не уверен, что есть ответ на Python. Поступы py-nxt, которые я видел, казалось, указывали на ОС.

Помогает ли вам запуск этого фонового процесса (на вашем компьютере) с помощью ключа доступа?

 bluetooth-agent 1234 & 

Я нашел полезным сначала связать с NXT, используя:

 hcitool cc 00:16:53:0A:17:16 

Таким образом, я нашел MAC-адрес с:

 hcitool scan 

Если вы еще не пробовали связанные с rfcomm биты для Linux, здесь стоит обратиться сюда .

В Windows мне просто нужно было войти в настройки Bluetooth и соединиться с устройством, введя ключ доступа в Windows, а затем в NXT. Он никогда не показывал экран, в котором говорилось, что он был сопряжен, казалось бы, застрял в спаривании, но он действительно работал, и я смог подключиться к nxt-python.