Python蓝牙密码/密码Linux

我正在编写一个Python脚本,用Raspberry Pi来控制我的Mindstorms NXT。 我的问题是,NXT有一个蓝牙密钥。 您可以更改密码,但不能删除密码。

我想知道如何使用密码将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 

如果您还没有尝试过Linux的rfcomm相关位,这里有一个值得的参考。

在Windows上,我只需进入蓝牙设置,并与设备配对,在Windows上输入密钥,然后在NXT上输入。 它从来没有显示过一个屏幕说明它已经配对,看起来有困难的配对,但它确实工作,我能够连接到nxt-python。