2

我正在尝试使用笔记本电脑上的 python-bluez 和手机上的 android-bluetooth API 将我的笔记本电脑(作为客户端)连接到我的 android 手机(作为监听器)。

我在手机上使用以下代码:

BluetoothServerSocket tmp = badapter.listenUsingRfcommWithServiceRecord(
    badapter.getName(), MY_UUID);
BluetoothServerSocket bserversocket = tmp;
if(bserversocket != null)
{
    BluetoothSocket acceptsocket = bserversocket.accept(timeout);   
}
//timeout is set to about 15 sec
if(acceptsocket != null)
{
    out.append("got the connection...\n");   
}

以及用于我的笔记本电脑客户端的python中的以下内容:

from bluetooth import *

btooth_addr = "38:EC:E4:57:1F:1B"

sock = BluetoothSocket(RFCOMM)
sock.connect((btooth_addr, 2))

print "Connected"
sock.close()

侦听器超时而未确认来自笔记本电脑的任何连接,而发送者继续在不同端口上的所有尝试上打印“已连接”。

问题是我不知道也不能设置安卓手机正在监听的端口/通道,而且我需要填写一个端口号作为“连接”的第二个参数(这个片段中的 2) .

请帮帮我 - 我此时的唯一目标是让电话确认连接尝试。

4

1 回答 1

1

查看用于建立客户端连接的 pybluez 文档(源代码)

您可以使用find_service为提供的蓝牙地址和 UUID 获取正确的端口。然后像在代码中一样连接您的套接字,将硬编码的端口值替换为正确的端口值。

不要忘记投票!

于 2012-05-22T09:58:23.797 回答