为什么在使用低功耗蓝牙时必须停止蓝牙?

Why must bluetoothd be stopped while using Bluetooth Low Energy?

我实现了一个 BLE 外设。该设备基于 Ubuntu OS。

我的应用程序在 Node.js 下运行。它使用 bleno (https://github.com/noble/bleno) 宣传其 BLE 服务。

根据网站上的自述文件,为了提供 BLE 服务,守护进程 bluetoothd 必须停止并可选择禁用。

这个说法似乎是正确的,因为我的应用程序只有在这个守护进程停止后才能按预期工作。

我很好奇为什么必须停止 bluetoothd 守护程序。我在网上找不到任何解释。

带有 bluetoothd 的 BlueZ 是 built-in 默认的 Linux 蓝牙系统。 KDE 和 Gnome 用户实用程序使用它。关贸总协定 https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/gatt-api.txt 处还有一个 API。

现在,bleno 是一个 "hack",它本身实现了蓝牙主机,因此需要完全接管 hci 控制器。为了不干扰bluetoothd,必须停止bluetoothd。