4

我正在编写一个 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))
4

2 回答 2

3

我不确定是否有 Python 特定的答案。我看到的 py-nxt 帖子似乎指向操作系统。

使用密码启动此后台进程(在您的计算机上)对您有帮助吗?

bluetooth-agent 1234 &

我发现首先使用以下方式与 NXT 配对很有用:

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

因此,我找到了 MAC 地址:

hcitool scan

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

于 2014-04-28T12:36:12.157 回答
0

在 Windows 上,我只需要进入蓝牙设置并与设备配对,在 Windows 上输入密码,然后在 NXT 上输入。它从来没有显示一个屏幕说它已经配对,似乎卡住了配对,但它确实有效,我能够连接到 nxt-python。

于 2016-06-09T16:05:44.593 回答