在J2ME应用程序和用Python编写的桌面应用程序之间建立蓝牙连接(最好使用pybluez)?

2024-05-21 04:06:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试在我的J2ME应用程序(使用JSR-082api)和用Python编写的桌面应用程序(使用pybluez蓝牙API)之间建立蓝牙连接。但是,我找不到合适的蓝牙通信协议来配对它们。在

在pybluez中,连接到服务器的方式如下:

addr, port = "01:23:45:67:89:AB", 1
sock = bluetooth.BluetoothSocket(bluetooth.RFCOMM)
sock.connect((addr, port))

但是在JSR-082 bluetooth API中,创建服务器的方法如下:

^{pr2}$

或如下:

L2CAPConnectionNotifier connectionNotifier = 
    (L2CAPConnectionNotifier) Connector.open("btl2cap://localhost:" + 
    "0000000000000000000000000000ABCD;name=JSR82_ExampleService");
streamConnection = connectionNotifier.acceptAndOpen();

在pybluezapi中我们使用端口号,在JSR-082api中我们使用url。那我该如何建立蓝牙连接呢?有没有一种方法可以使用JSR-082api中的端口号创建服务器?在


Tags: 方法服务器api应用程序port桌面sockaddr
1条回答
网友
1楼 · 发布于 2024-05-21 04:06:29

使用JSR-82,您可以基于UUID创建一个服务器。您需要执行SDP搜索来确定远程服务的“端口”(实际上是RFCOMM的信道号,或者L2CAP的PSM信道号)。因此,在pybluez中,您需要调用bluetooth.find_service()(如图here),检查返回的每个服务,并选择具有匹配UUID的服务(bluez中的“服务id”)。在

相关问题 更多 >