Документация по протоколу SAUK Beacon APP Advertising
Содержание
1. Демонстрация в nRF Connect
Ниже представлены скриншоты из демонстрационного программного обеспечения nRF Connect, показывающие обнаружение и анализ SAUK Beacon:
Ключевая информация из nRF Connect:
| Параметр | Значение |
|---|---|
| Device name | SAUK-C40308 (Beacon) |
| MAC address | DE:34:9F:63:72:CB |
| RSSI | -68 dBm |
| Device type | LE only |
| Advertising type | Legacy |
| Flags | LE General Discoverable, BREDR Not Supported |
| Company | Reserved ID <0xFFFFFFFF> |
| UUID | ea0cca2a-0101-0100-a1b1-8ce4bc06c19f |
| Major | 1 |
| Minor | 2 |
| RSSI at 1m | -55 dBm |
Ключевая информация по идентификации BLE-маячка и получению дополнительных данных из его памяти:
Есть два способа идентификации BLE-маячков:- при активном сканировании,
- при пассивном сканировании.
Ключевые различия в способах идентификации:
- При активном сканировании структура рекламы BLE-маячка SAUK возвращает данные производителя (UUID, версию, калибровочное значение RSSI на дистанции 1 метр), а также полное имя устройства в формате по умолчанию "SAUK-серийный номер маячка", а также остаточный уровень заряда батареи и сопроводительную информацию от встроенных сенсоров. Это обусловлено тем, что при активном сканировании маячок BLE возвращает данные, помеченные во внутренней прошивке как передающиеся только по запросу "Scan Response".
- При пассивном сканировании структура рекламы возвращает только данные производителя.
2. Пример рекламного сообщения SAUK Beacon
Описание: Полный пример рекламного сообщения SAUK Beacon в формате RAW DATA с цветовой кодировкой полей.
Комментарий 1: Тип маяка 0x02 - Beacon type (iBeacon-compatible type), 0x15 - длина последовательности, с данными производителя UUID + версия + калибровочный RSSI, всего 21 байт.
Комментарий 2: Тип маяка 0x0D - длина имени маяка 13 байт, 0x09 - секция Complete Local Name, в которой транслируется имя маяка.
Комментарий 3: Тип маяка 0x4252 - UUID (16 bit) кастомный проприетарный идентификатор сервиса SAUK, содержащий специфические данные.
3. Структура рекламного сообщения SAUK Beacon
Обобщенный разбор структуры стандартного рекламного сообщения SAUK Beacon:
| Длина | Тип | Данные |
|---|---|---|
| 0x02 | 0x01 (BLE Flags) | 0x06 |
| 0x1A | 0xFF (Manufacturer Specific Data) | 0xFFFFFF0215EA0CCA2A01010100A1B18CE4BC06C19F00010002C9 |
| 0x0D | 0x09 (Complete Local Name) | 0x5341554B2D43343033303800 |
| 0x10 | 0x16 (Custom Service Data) | 0x42524163DE349F6372CB0101060000 |
4. Детальный разбор структуры рекламного сообщения
Длина: 3 байта
Описание: Сервисные флаги Bluetooth low energy
Длина: 2 байта
Описание: ID производителя
Возможные значения:
- По умолчанию установлен 0xFFFF (Beacon)
- Опционально 0x004C little-endian (Apple Company ID iBeacon)
Длина: 16 байт
Описание: UUID: EA0CCA2A-0101-0100-A1B1-8CE4BC06C19F
Структура UUID:
- Префикс SAUK: 0xEA0CCA2A
- Версия схемотехнической реализации Hardware: 0x0101
Длина: 2 байта
Описание: Версия программного обеспечения Software Major
Длина: 2 байта
Описание: Версия программного обеспечения Software Minor
Длина: 1 байт
Описание: Калибровочное значение RSSI на дистанции 1 метр: минус 55 dB
Длина: 12 байт
Описание: Название маячка, рассылающего рекламу: SAUK-C40308
Примечания:
- По умолчанию серийный номер уникален для каждого маячка
- Название маячка может быть изменено
Длина: 1 байт
Описание: Процент заряда батареи: 99% (0x63 = 99)
Длина: 6 байт
Описание: MAC адрес, в ходе эксплуатации изменен быть не может
Длина: 1 байт
Описание: Интервал выхода рекламы в эфир: 1 (250 мс)
Возможные значения:
| Значение | Интервал |
|---|---|
| 06 | 10000 мс |
| 05 | 5000 мс |
| 04 | 2000 мс |
| 03 | 1000 мс |
| 02 | 750 мс |
| 01 | 250 мс |
| 00 | 100 мс |
Длина: 1 байт
Описание: Коэффициент, характеризующий излучаемую мощность: 0 (для текущей версии константа, не настраивается)
Длина: 3 байта
Описание: Резервный параметр - данные от встроенных сенсоров
Примечания
Формат данных: Все данные представлены в шестнадцатеричном формате (HEX).
Порядок байт: Для ID производителя Apple используется формат little-endian (0x004C).
Уникальность: MAC-адрес устройства не может быть изменен в ходе эксплуатации.
Изменяемые параметры: Название маячка может быть изменено, в отличие от MAC-адреса.
Совместимость: SAUK Beacon совместим со стандартными BLE сканерами, такими как nRF Connect, и может быть обнаружен любым устройством с поддержкой Bluetooth Low Energy.