bluetoothctl 创建 GATT 服务器 - 无法写入超过一个字节

问题描述 投票:0回答:1

我使用bluetoothctl(bluez v5.64)添加了服务和特性。我有一些问题:

  1. 我只能写一个字节。尝试写入“0x11 0x22”会导致 “无法写入本地属性/org/bluez/app/service0/chrc0”。见下文。

  2. 我在 gatt-api 中看到我可以在执行读/写时设置 mtu,该选项可以通过 bluetoothctl 使用吗?

  3. 不知道为什么属性信息不被尊重。知道为什么吗?

谢谢!

#list-attributes 本地

主要服务(句柄0x0029) /org/bluez/app/service0 00071100-f0d4-469d-afd3-605a6ebbdb13 供应商特定 特征(句柄0x002b) /org/bluez/app/service0/chrc0 0d271100-1111-469d-afd3-605a6ebbdb13 供应商特定

[/org/bluez/app/service0/chrc0]# 选择属性 0d271100-1111-469d-afd3-605a6ebbdb13 [/org/bluez/app/service0/chrc0]# 写入“0x1 0x2” 无法写入本地属性 /org/bluez/app/service0/chrc0 [/org/bluez/app/service0/chrc0]# 写入“0x3” [CHG] 属性 /org/bluez/app/service0/chrc0 (特定于供应商)已写入

属性信息0d271100-1111-469d-afd3-605a6ebbdb13 属性 0d271100-1111-469d-afd3-605a6ebbdb13 不可用

bluez bluetooth-gatt bluetoothctl
1个回答
0
投票

好吧,查看了bluetoothctl代码。似乎在创建特征(寄存器特征)时输入值设置了最大特征长度..

例如。

[蓝牙]#寄存器特性0xff12读、写、通知

[新]特征(句柄0x0000)

/org/bluez/app/service0/chrc0

0xff12

未知

[/org/bluez/app/service0/chrc0] 输入值:0x11 0x22 0x33 0x44 0x55

..

[/org/bluez/app/service0/chrc0]# 写入“0x3 0x6”

[CHG] 属性 /org/bluez/app/service0/chrc0(未知)已写入

© www.soinside.com 2019 - 2024. All rights reserved.