我目前正在按照Nordic Semiconductors的说明尝试将BLE节点连接到Raspberry 3模型B。 我在节点上使用Zephire OS。
通过$ echo "connect XX:XX:XX:XX:XX:XX 2" > [...]/6lowpan_control
建立连接后,我试图将连接更新事件发送到我的节点(句柄64):
$ sudo hcitool lecup --handle=64 --min=24 --max=24
但是此命令返回以下错误:
Could not change connection params: Connection timed out(110)
使用 hcidump 检查时,得到以下输出:
$ hcidump -x
[....]
< HCI Command: LE Connection Update (0x08|0x0013) plen 14
40 00 18 00 18 00 07 00 80 0C 01 00 01 00
> HCI Event: Command Status (0x0f) plen 4
LE Connection Update (0x08|0x0013) status 0x00 ncmd 1
< ACL data: handle 64 flags 0x00 dlen 26
L2CAP(d): cid 0x0040 len 22 [psm 0]
14 00 7B 3B 3A 02 85 00 00 50 00 00 00 00 01 01 B8 27 EB 40
9B 06
> ACL data: handle 64 flags 0x02 dlen 12
L2CAP(d): cid 0x0005 len 8 [psm 0]
16 A7 04 00 40 00 01 00
> HCI Event: Number of Completed Packets (0x13) plen 5
handle 64 packets 1
> HCI Event: LE Meta Event (0x3e) plen 10
LE Connection Update Complete
status 0x22 handle 64
interval 48.75ms, latency 0.00ms, superv. timeout 420.00ms
> HCI Event: Disconn Complete (0x05) plen 4
status 0x00 handle 64 reason 0x22
Reason: LMP Response Timeout
我的节点最初保持连接状态(并且可以ping通),但是几秒钟后,我收到了我尚未发送的带有这些参数的 LE Meta事件(48.75 ms,0.0ms,420ms)然后 LMP响应超时和我的节点断开连接。
我也试图按照this的建议通过sudo hcitool cmd
发送原始命令:
sudo hcitool cmd 0x08 0x13 0x40 0x00 0x18 0 0x18 0 0 0 0x60 0 0x30 0 0x30 0
但是我的节点不断断开连接。
我在做什么错?有人可以解释为什么我无法将事件发送到我的节点吗?
谢谢克里斯