hm10 с arduino не читает UUID от ibeacon

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

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

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

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

1 ответ

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

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

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

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

UUID близости: 2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6 Major: 0000 Minor: 0001

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

AT+ROLE1
AT+IMME1
AT+RESET

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

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