bluez命令的格式是什么?

时间:2016-05-17 09:44:21

标签: ibeacon ibeacon-android android-ibeacon

我找到了一些模拟灯塔的命令,它们工作正常,但我并不理解它们。

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

这个nubers是如何编码的?如果我想放一个String,ex。 9c4fca50-1c13-11e6-bdf4-0800200c9a66作为UUID,我应该将其转换为以下几个' bit' ?

1 个答案:

答案 0 :(得分:1)

这些命令以十六进制格式指定以空格分隔的数据字节。如果要将字段转换为此格式,还必须知道是否需要将其表示为“big endian”(最重要的)字节优先)或“小端”(最低有效字节优先)。不同的字段具有不同的字节序。大多数信标字段(如Proximity UUID)都是big endian,但是一些较低级别的蓝牙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