替代 bluez 中现已弃用的 rfcomm 二进制文件

eik*_*ike 10 tty bluetooth bluez python3

从 bluez 5.44 开始,包含在 bluez-utils(其中包括 hcitool)中的 rfcomm 二进制文件被认为已弃用,从现在开始只包含在 AUR 提供的 bluez-utils-compat 包中。

是否有类似的命令行应用程序使用 rfcomm 内核模块将蓝牙设备绑定到串行端口,或者从现在开始我是否必须使用 PyBluez 或类似的库?

如果碰巧是后者,您会推荐哪些 Python 3 库?

如果有人知道,请告诉我为什么这么多 bluez-utils 突然被认为已弃用。我找不到任何关于那件事的信息。

ArchWiki建议使用新的执行RFCOMM功能d-Bus的配置文件1 API

Asa*_*vic 0

我想注意这个问题:

  1. github 项目包含一些 rfcomm 功能。(基于 bluez 测试文件)。
  2. bluez 项目本身仍然包含 rfcomm.c 文件,可以使用以下命令轻松编译:

    gcc -lbluetooth rfcomm.c -orfcomm -DVERSION=xyz

...只需一个文件,无需编译整个 bluez 项目。其中 xyz 是下载的bluez tar.xz源代码的版本(现在是 5.46)。在下载之前,应该先检查自己bluetoothd -v并下载匹配的源。bluez-libs 只是编译成功的依赖项。

我需要用于armv7(树莓2)的rfcomm,并且没有用于rfcomm的aur包,这是唯一的方法,但效果很好。

仍然不确定为什么 rfcomm 被弃用,没有好的替代方案,以及如何与蓝牙通信,因为它是串行端口的其他方式。因为即使你是 python 专家加上 DBUS 专家...(就像上面提到的项目所有者可能是)...仍然只以这种方式提供 fifo,而不是 /dev/ 中的真正字符设备...所有其他程序(如 arduino) )可以查看并使用。

  • 1. 项目页面注明“只是为了避免重新实现一些使用这些工具的旧代码”,这意味着作者建议在新项目中使用 bluez 时采用不同的方法。2.我自己编译rfcomm的方法有很多,我正在寻找的是它被弃用的原因和支持的替代方案。 (2认同)