我正在通过 node.js 使用 Nobel & bleno 从 Rasbian 连接到 BLE 外设,但出现问题并且无法建立连接。我尝试了多个不同的 BLE 加密狗,但它们都以同样的方式失败。目前我附有 CSR 4.0。 在 OS X、iOS 或 Android 上建立连接时效果很好。
这是 HCI 转储:
2015-11-22 18:36:54.732907 < HCI Command: LE Create Connection (0x08|0x000d) plen 25
bdaddr 00:12:6F:6B:C7:32 type 0
interval 96 window 48 initiator_filter 0
own_bdaddr_type 0 min_interval 6 max_interval 12
latency 0 supervision_to 200 min_ce 4 max_ce 6
2015-11-22 18:36:54.734511 > HCI Event: Command Status (0x0f) plen 4
LE Create Connection (0x08|0x000d) status 0x0c ncmd 1
Error: Command Disallowed
现在,当我尝试通过 hcitool lecc
或 gatttool
连接时,连接已建立 - 但尝试写入特征值失败,并显示 Characteristic Write Request failed: Attribute读/写之前需要身份验证
。这有关系吗?
我使用的是Linux raspberrypi 4.1.13+ #826 PREEMPT Fri Nov 13 20:13:22 GMT 2015 armv6l GNU/Linux
最佳答案
不幸的是,即使安全级别高或中等也无济于事。
问题是,我有一个来自 Central 的连接(RPi 是 Peripheral),并且我想连接到另一个 Peripheral,这会将 RPi 置于 Central 模式。显然这不适用于 BlueZ。 所以我最终使用了 2 个蓝牙适配器。
如果您正在寻找其他操作系统:Mac OS X 确实支持此功能。
我还被告知蓝牙 4.1 适配器可能适用于此。
关于raspberry-pi - HCI LE 连接——命令不允许,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34215032/