BLE:我如何创建自己的基础UUID和别名

时间:2014-01-28 09:58:02

标签: uuid bluetooth-lowenergy core-bluetooth

我知道我可以通过在Mac上使用类似 uuidgen 的128位UUID来创建自己的BLE服务。 但我真的很困惑为我的服务定义别名和基础UUID的方式。 实际上,基础UUID需要采用以下形式:

0x0000xxxx-1213-XYZA-1523-781FEABCD123 

和别名

Service 0x1523 : 0x00001523-1213-XYZA-1523-781FEABCD123
characteristic 0x1524 : 0x00001524-1213-XYZA-1523-781FEABCD123

但是当我生成一个uuid时,我会得到类似的东西:

580663F1-AFF1-457F-9F79-0F2BF3E11892

如何指定别名以识别服务和特征?我需要删除第一部分吗? 或者我完全错了,我是否需要做其他事情才能得到它们?

我如何设法生成像Bluetooth SIG一样的基础UUID?

由于

1 个答案:

答案 0 :(得分:3)

我猜你可以自由为你的服务定义你的UUID,你不需要遵循你提到的格式。如果你使用16位UUID,它将扩展到BLE base uuid。见下面的问题:

What range of Bluetooth UUIDs can be used for vendor defined profiles?

作为参考,您可以在bluez的源代码树内看到插件/ gatt-example.c。对于权重服务,它们使用任意128位UUID。请参阅register_weight_service():

https://github.com/aguedes/bluez/blob/master/plugins/gatt-example.c

这是运行中的服务,与gatttool(bluez工具)连接:

attr句柄:0x003c,结束grp句柄:0x0040 uuid:00001806-0000-1000-8000-00805f9b34fb
attr句柄:0x0041,结束grp句柄:0x0049 uuid:0000180e-0000-1000-8000-00805f9b34fb
attr句柄:0x004a,结束grp句柄:0x0056 uuid:00001811-0000-1000-8000-00805f9b34fb
attr句柄:0x0057,结束grp句柄:0x005b uuid:0000a0f0-0000-1000-8000-00805f9b34fb
attr句柄:0xfffa,结束grp句柄:0xfffe uuid:feee74dc-​​a8de-3196-1149-d43596c00a4f

从句柄0xfffa开始的特征:

句柄:0xfffa,uuid:2800
handle:0xfffb,uuid:2802
handle:0xfffc,uuid:2803
handle:0xfffd,uuid:e9258c1e-8962-c4b6-0b45-2c9018f28880
句柄:0xfffe,uuid:2904
handle:0xffff,uuid:2901