Bluez 5.65 mesh-cfgclient не удалось сгенерировать UUID

Я попытался подготовить устройство через Bluez и на своем Raspberry Pi.

Bluez: 5,65 Raspberry Pi: 3B+

Сначала я ищу настраиваемые устройства и получаю:

      Scan result:
    rssi = -38
    UUID = DDDD00000000000000000000000000DD
    OOB = 0000
    URI Hash = 00000000

Если я указываю процесс предоставления с помощью:

provision dddd00000000000000000000000000dd

Я получаю сообщение об ошибке:

Failed to generate UUID array from dddd00000000000000000000000000dd

Если я пытаюсь это:

provision dddd0000-0000-0000-0000-0000000000dd

Я получил:

Requires UUID

Так что я не знаю, какой UUIDmesh-cfgclientхотел бы получить от меня. Кто-нибудь знает, что я пропустил здесь.

Спасибо за вашу помощь.

1 ответ

Я тоже с этим сталкиваюсь. Я не знаю, новая ли это проблема, потому что это мой первый опыт работы с сеткой BLE...

Мои выводы до сих пор привели меня к тому, что UUID должен соответствовать RFC-4122.

Это мой вывод, основанный на загрузке исходного кода bluez (в частности, 5.65) вместе с исходным кодом ell (в частности, 0.55) и просмотреadd_node_setup, что привело меня кl_util_from_hexstring, что казалось прекрасным.
Это былоl_uuid_is_validкоторому не нравится формат...
Он ожидает (==2) иversion(между 1 и 5) должны быть включены.
Имейте в виду, когда я упоминаю эти значения, они являются результатом битового сдвига, поэтому вариант == 0x80 и версия между 0x16 и 0x80, и все это после того, как предоставленный нам UUID преобразуется в шестнадцатеричный.

Я еще этого не делал, но вы, вероятно, можете использовать генератор uuid онлайн или в Linux (uuidgen).

Я скажу, что в данный момент, я не знаю, почемуellожидаетvariantto == 2.
Глядя на RFC, раздел4.1.1, я не вижу ни одной битовой комбинации, равной 2.
На самом деле, просматривая википедию, я вижу, что номер UUID 2 соответствует не битовой комбинации, а нулевой позиции списка, которая равно 110 ("Зарезервировано, обратная совместимость Microsoft Corporation").

Если бы мы изменили вашdddd00000000000000000000000000dd, я думаю, что это может выглядеть какdddd00000000 40 00 80 000000000000dd.
Я выбрал0x40для версии 4 и 0x80 для упомянутого ранее варианта №2 (с битовым сдвигом).

Другие вопросы по тегам