自bluez 5.44以来,bluez utils(包括hcitool等)中包含的rfcomm二进制文件被认为是不推荐的,从现在起只包含在AUR提供的bluez utils-compat包中。
是否有类似的命令行应用程序来使用rfcomm内核模块将蓝牙设备绑定到串口,还是从现在起必须使用PyBluez或类似的lib?
如果后者恰好是这种情况,您会推荐哪一个Python 3库?
如果有人知道,请告诉我,为什么这么多的蓝军-功利品被认为是不合时宜的。我什么也找不到。
ArchWiki建议使用新的D总线配置文件1 API实现rfcomm功能。
发布于 2018-08-19 13:28:54
我最近发现了布吕兹工具项目,该项目的目标是使用Bluez当前的D总线api实现丢失的功能。
Bluez-在ArchLinux上可以从社区存储库获得工具。我还没有测试这个和github页面的状态,它仍然处于测试阶段。但是根据文档,bt系列应该能够取代以前的bluez rfcomm,bt适配器+bt代理+bt设备具有hcitool的功能。
发布于 2018-12-05 22:24:09
我找到了另一个可能的解决办法。我是通过挖掘某人的git集线器回购发现的。这使用内置在套接字模块中的python3。
前提条件:
也就是说,可以使用rfcomm这一点。
$python3
>>> import socket
>>> sock = socket.socket(socket.AF_BLUETOOTH, socket.SOCK_STREAM, socket.BTPROTO_RFCOMM)
>>> adapter = '00:11:22:33:44:55' #<adapter address>
>>> device = '55:44:33:22:11:00' #<device address>
>>> sock.bind((adapter, 1))
>>> sock.connect((device, 1))
## If not pinned it will ask you. You can use/adapt the bluez simple-agent for headless pinning
>>> sock.send(b'hello\n')
>>> sock.recv(100)
>>> sock.close()发布于 2017-09-05 05:17:35
关于这个问题,我想指出:
..。只有一个文件,不需要编译整个bluez项目。其中xyz是下载的布吕兹tar.xz源代码的版本(现在是5.46)。在下载之前,首先要检查自己的bluetoothd -v并下载匹配的源代码。bluez-libs只是编译成功的依赖关系。
我需要armv7 (raspberry 2)的rfcomm,没有rfcomm包,这是唯一的方法,但它工作得很好。
仍然不知道为什么rfcomm被废弃,没有很好的选择,以及如何与蓝牙对话,因为它是串行端口的其他方式。因为即使你是蟒蛇专家加上DBUS专家..。(就像上面提到的项目的所有者可能是)..。仍然只有fifo是这样提供的,而不是在/dev/.所有其他程序(比如arduino)都可以看到和使用。
https://unix.stackexchange.com/questions/352494
复制相似问题