(四)关于 UUID

什么是UUID

UUID是128位的数字,用来标志属性的类型,服务也是一种属性,也需要UUID

16位的UUID是精简版的,结合UUID基数就可以凑成128位的,标准UUID,厂商自定义UUID都是采用这种模式
0x1800-0x26FF 作为服务通用唯一标识码
0x2700-0x27FF 作为标识计量单位
0x2800-0x28FF 作为区分属性类型
0x2900-0x29FF 作为特征描述
0x2A00-0x7FFF 作为区分特征类型

广播中UUID

广播不是服务,所以不需要UUID,但是可以把全部或者部分的UUID包含在广播里面(考虑不能超过广播数据长度31字节,并且只能2选1,GAP和GATT不能加入。也可以把UUID放在扫描响应数据里面,从而实现52832对外展示额外的信息),这样就可以对外展示其支持的全部或者部分服务。

基础UUID

0x0000xxxx-0000-1000-8000-00805F9B34FB SIG提供的,配合16位的UUID就可以组成128位
私有UUID可以是0x0000xxxx-0000-1000-8000-00805F9B34FB(16位),也可以是xxxxxxxx-0000-1000-8000-00805F9B34FB(32位),不建议私有的也使用SIG
基础UUID

如何生成UUID

1.通过nrfgo
2.https://www.uuidgenerator.net/通过这个网站,可以批量生成,选择版本4,比如生成dc442e97-2292-4da7-95f3-60a3d2e62506,实际使用16位的UUID(自己随便定义)取代第12.13字节就行,所以基础UUID中12.13位可以改成0,程序中定义数组,注意字节顺序,低字节放在前面
3.广播中最多只能加入一个自定义UUID,因为128位,数据长度不够了。如果必须要加入该怎么做?可以加入到扫描响应包里面

简单做法

直接用SIG的UUID,把UUID类型改为私有的就行

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值