Firefly开源社区

BLE问题

87

积分

0

威望

0

贡献

技术小白

积分
87
发表于 2021-1-13 10:47:44     
平台:Rockchip 3308b + Broadcom AP6236模组:
BLE的调试碰到的问题:
deviceiotest启动BLE,手机端会用nRF Connect软件测试,会发现Rockchip BLE设备,连接后,可以正常往Characteristic发数据;
但是我们公司有另一个蓝牙设备(Nordic),他会发现设备,连接设备,发固定指令数据,断开设备连接,其中发送数据后,Rockchip 3308的板子解析出来就有问题了,问题一是解析出来的UUID是2902,这是Description 的UUID,问题二:数据变成了固定的0x10, 00;
回复

使用道具 举报

87

积分

0

威望

0

贡献

技术小白

积分
87
发表于 2021-1-13 10:52:32     
D:\1.png
image.jpg
回复

使用道具 举报

87

积分

0

威望

0

贡献

技术小白

积分
87
发表于 2021-1-13 11:03:09     
本帖最后由 tigerlh 于 2021-1-13 11:06 编辑

d:\2.png
2.jpg
回复

使用道具 举报

26

积分

0

威望

0

贡献

技术小白

积分
26
发表于 2021-1-13 21:14:46     
那手机端和Nordic可以正常发信息吗
回复

使用道具 举报

87

积分

0

威望

0

贡献

技术小白

积分
87
发表于 2021-1-14 08:44:50     
李在赣神魔 发表于 2021-1-13 21:14
那手机端和Nordic可以正常发信息吗

手机端从Characteristic发送数据正常,往Descriptor 发送,设备的接收到的也是0x01 00或者0x00 00
回复

使用道具 举报

717

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
717
发表于 2021-1-26 23:00:18     
每个 service 都可以自定义 desctiptor,GATT 已经预定义了一系列常用的 desctiptor :
数据格式和表达方式
可读性描述
有效范围
扩展属性

其中一个很重要的 descriptor 是 client characteristic configuration ,简称 CCC descriptor ,它的 UUID 是 0x2902 ,有一个可读性的 16 位 Value ,低两位已经被占用,用于配置 characteristic 的 notification 和 indication :
Bit 0 设为 1 表示使能 Notification
Bit 1 设为 1 表示使能 Indication
对于具有 Notify 属性的 characteristic ,使能 Notification 后,数据发生变化时会主动通知 Client 端,Client 端只要监听即可。

http://blog.chinaunix.net/uid-27875-id-5823155.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表