16-bit Eddystone UUID取值规范及重复使用机制的技术问询
关于Eddystone UUID的常见疑问解答
1. 16-bit Eddystone UUID应包含哪些取值?
根据Eddystone协议规范,唯一合法的16-bit Eddystone UUID是0xFEAA。这是Google向蓝牙技术联盟(SIG)注册的专属服务UUID,是识别Eddystone信标的核心标识,所有符合规范的Eddystone设备都必须使用这个值。
2. 0xFEAA是否为必填值?字段能否填任意值?以及为何重复出现该UUID?
关于必填性与自定义值的问题
0xFEAA是强制必填值,绝对不能随意填入其他值(比如你遇到的0x3F3F)。原因很简单:蓝牙广播的服务UUID需要遵循标准化分配规则,0xFEAA是Eddystone协议的“身份凭证”——标准的Eddystone扫描器只会识别携带这个UUID的广播帧。那些使用0x3F3F的设备属于非标准自定义实现,无法被通用的Eddystone解析工具识别,并不符合官方规范。
为何两个字段都包含该UUID?
这两个字段的作用完全不同,重复出现是为了符合蓝牙广播的标准结构,同时明确数据归属:
- 在「Complete list of 16-bit Service UUIDs data type value」字段中放入
0xFEAA,是为了声明该设备支持Eddystone服务,这是蓝牙GATT服务广播的标准要求,让扫描设备提前知晓设备提供的服务类型。 - 在「Service Data data type value」字段中再次包含
0xFEAA,是因为Service Data字段需要绑定到特定的服务UUID,这样扫描设备能立刻明确:这段附带的数据是属于Eddystone服务的帧内容(比如UID、URL、TLM等类型的Eddystone数据),进而正确解析后续的广播信息。
内容的提问来源于stack exchange,提问作者Claudio Ferraro
相关产品推荐
相关产品推荐

