【发布时间】:2016-05-14 01:00:00
【问题描述】:
我需要从我的 Linux 设备上的 Bluez 5.37 向手机发送一个长通知(比如说 10Kb)。
我的实现基于src/shared/gatt-server.c。
我在 Bluez 中找不到这样的示例。 src/shared/gatt-server.c、bt_gatt_server_send_notification() 严格将数据包修剪为 MTU-1 并丢弃其余部分。我必须为此需要一个输出队列,例如gatt-client.c。 bt_gatt_client_read_long_value() 看起来像是我需要的一个示例,但对于长特征读取。
- 有没有办法发送与大多数蓝牙 4.0 安卓手机兼容的长通知?它requires a bit of collaboration on the phone side - sending a ATT_READ_BLOB_REQUESTS,AFAIS。
- 或者是否有通用的打包库可以处理 20 字节大小的数据包?
- 我能想到的另一种方法是创建另一个特征,将通知消息用于短消息,呃,通知“嘿,有一条长消息,从该特征读取它”。
哪种方式更好?是否存在这三种方式中的任何一种的示例?
【问题讨论】:
标签: bluetooth bluetooth-lowenergy bluez