你好,对话框,
我有自定义服务和它的特征为我们的应用程序创建。你能告诉我,我们可以写入定制特性的数据的限制是什么?我们如何确定这种限制?在DA1469x_custom_service示例中,特征属性值被定义为最大50字节。“#定义CHARACTERISTIC_ATTR_VALUE_MAX_BYTES(50)”。那么,我们如何知道可以写入自定义特征的最大数据是什么呢?
提前谢谢。
问候,
Prasanna
嗨Prasanna,
抱歉,我可能错过了这张票。
应该使用ble_gap_mtu_size_set() API来设置最大协议单元大小,这将用于与对等体交换MTU事务。
最大支持的MTU大小是512字节。蓝牙SIG定义的最小支持MTU大小,当使用LE安全连接时是65字节,否则是23字节。MTU大小的改变应该在创建BLE属性数据库之前发生。否则,任何已经定义的属性数据库将被删除。
请看看DA1469x功耗外设软件示例。
谢谢,PM_Dialog
你好PM_Dialog,
当我们想要发送超过512个字节的时候是什么情况。例如,当我们想要执行一次握手时,TLS消息将消耗更多字节。能否增加MTU,对于这种应用有什么替代方案?
谢谢。
根据BLE规范(3.2.9长属性值):“一个属性值的最大长度应该是512字节”
这意味着不可能声明一个超过512字节的特征。当前ATT协议支持的最大字节数为512字节。
ATT报文所能包含的最大字节数由ATT协议MTU (maximum Transmission Unit, MTU)决定,MTU是连接设备在ATT协议MTU交换操作中所同意的。DA1469x设备支持251字节的DLE (Data Length Extension), SDK默认开启。
谢谢你的澄清。它是有帮助的。
嗨Prasanna,
抱歉,我可能错过了这张票。
应该使用ble_gap_mtu_size_set() API来设置最大协议单元大小,这将用于与对等体交换MTU事务。
最大支持的MTU大小是512字节。蓝牙SIG定义的最小支持MTU大小,当使用LE安全连接时是65字节,否则是23字节。MTU大小的改变应该在创建BLE属性数据库之前发生。否则,任何已经定义的属性数据库将被删除。
请看看DA1469x功耗外设软件示例。
谢谢,PM_Dialog
你好PM_Dialog,
当我们想要发送超过512个字节的时候是什么情况。例如,当我们想要执行一次握手时,TLS消息将消耗更多字节。能否增加MTU,对于这种应用有什么替代方案?
谢谢。
嗨Prasanna,
根据BLE规范(3.2.9长属性值):“一个属性值的最大长度应该是512字节”
这意味着不可能声明一个超过512字节的特征。当前ATT协议支持的最大字节数为512字节。
ATT报文所能包含的最大字节数由ATT协议MTU (maximum Transmission Unit, MTU)决定,MTU是连接设备在ATT协议MTU交换操作中所同意的。DA1469x设备支持251字节的DLE (Data Length Extension), SDK默认开启。
谢谢,PM_Dialog
你好PM_Dialog,
谢谢你的澄清。它是有帮助的。
问候,
Prasanna