我知道我可以通过在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?
由于
答案 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