hm10 с arduino не читает UUID от ibeacon - PullRequest
0 голосов
/ 12 января 2019

Использование hm10 на arduino при отправке AT + DISI? возвращает что-то вроде

+DISC:00000000:00000000000000000000000000000000:0000000000:CAD9D2E2AE09:-071OK

, у которого нет UUID, и невозможно узнать, настоящий ли это ibeacon. Все вокруг BT устройства возвращаются (даже мобильные телефоны и принтеры). Как правильно фильтровать ibeacons?

Последний FW был загружен на hm10 (V701).

1 Ответ

0 голосов
/ 13 января 2019

Вы должны фильтровать маяки на более высоком уровне. Ответ на команду AT+DISI? предоставит вам список всех отсканированных рекламных объявлений Bluetooth LE. Некоторые из них будут устройствами iBeacon, а некоторые нет.

Пример обнаружения iBeacon будет выглядеть примерно так, всегда начиная с 4C000215:

+DISC:4C000215:2F234454CF6D4A0FADF2F4911BA9FFA6:00000001AC:0CF3EE041CCE:-052OK

В приведенном выше выводе последовательность байтов 2F234454CF6D4A0FADF2F4911BA9FFA6: 00000001 относится к UUID, большему и младшему:

UUID близости: 2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6 Major: 0000 Несовершеннолетний: 0001

Приведенный выше пример был обнаружен после отправки этих команд:

AT+ROLE1
AT+IMME1
AT+RESET

См. здесь для получения дополнительной информации о том, как было настроено вышеуказанное обнаружение.

...