bluez 命令采用哪种格式?

In which format are the bluez commands?

我找到了一些模拟 Beacon 的命令,它们运行良好,但我并不真正理解它们。

sudo hciconfig hci0 up
sudo hcitool -i hci0 cmd 0x08 0x0008 1e 02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 00 00 00 00 c5 00 00 00 00 00 00 00 00 00 00 00 00 00
sudo hcitool -i hci0 cmd 0x08 0x0006 A0 00 A0 00 03 00 00 00 00 00 00 00 00 07 00
sudo hcitool -i hci0 cmd 0x08 0x000a 01

这个数字是如何编码的?如果我想放一个字符串,例如。 9c4fca50-1c13-11e6-bdf4-0800200c9a66 作为 UUID 我应该将其转换为哪种形式以获得这对 'bit' ?

命令以空格分隔的十六进制格式指定数据字节。当你想将一个字段转换成这种格式时,你还必须知道它是否需要表达"big endian"(最高有效字节在前)或 "little endian"(最低有效字节在前)。不同的领域有不同的字节顺序。大多数信标字段(如 Proximity UUID)是大端,但一些较低级别的蓝牙 LE 字段是小端。

Proximity UUID 很容易转换为 BlueZ 使用的格式,因为它的文本表达式也是十六进制的,最重要的部分在前。因此,要将其转换为大端字节,您只需去除破折号并添加空格。所以这个:

9c4fca50-1c13-11e6-bdf4-0800200c9a66

变成这样:

9c 4f ca 50 1c 13 11 e6 bd f4 08 00 20 0c 9a 66