Документация
ОС Аврора 5.1.5

D-Bus интерфейс AdvertisementMonitor1

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

Шина: системная
Служба: org.bluez
Объект: свободно определяемый
Интерфейс: org.bluez.AdvertisementMonitor1 [экспериментально]

Свойства

  • Patterns : array{(uint8, uint8, array{byte})} [только для чтения, опционально]
  • RSSIHighThreshold : Int16 [только для чтения, опционально]
  • RSSIHighTimeout : Uint16 [только для чтения, опционально]
  • RSSILowThreshold : Int16 [только для чтения, опционально]
  • RSSILowTimeout : Uint16 [только для чтения, опционально]
  • RSSISamplingPeriod : Uint16 [только для чтения, опционально]
  • Type : string [только для чтения]

Методы

Подробное описание

Интерфейс содержит методы для оповещения о событиях, связанных с мониторами, и свойства, настраивающие рассылку пакетов с публичными данными от обнаруженных устройств.

Описание свойств

Patterns : array{(uint8, uint8, array{byte})} [только для чтения, опционально]

Если для свойства Type задано значение or_patterns, то  свойство Patterns должно существовать и иметь хотя бы одну запись в массиве.

Структура шаблона имеет следующий вид:

uint8 start_position
Индекс в поле данных AD, с которого должен начинаться поиск. Началом поля данных AD является индекс 0.
uint8 AD_data_type
См. спецификацию Bluetooth для возможного допустимого значения.
array{byte} content_of_pattern
Значение шаблона. Максимальная длина байта равна 31.
RSSIHighThreshold : Int16 [только для чтения, опционально]

Используется вместе с RSSIHighTimeout, чтобы определить, попадает ли устройство в зону действия. Допустимый диапазон: от -127 до 20 (дБм), 127 означает, что свойство не установлено.

RSSIHighTimeout : Uint16 [только для чтения, опционально]

Время, необходимое для того, чтобы устройство считалось находящимся в радиусе действия. Если это количество секунд истекло, в то время как ищущее устройство постоянно получает сигналы не ниже уровня RSSIHighThreshold, устройство, находящееся вне диапазона, будет считаться находящимся в диапазоне (найдено). Допустимый диапазон: от 1 до 300 (секунд), 0 означает, что свойство не установлено.

RSSILowThreshold : Int16 [только для чтения, опционально]

Используется вместе с RSSILowTimeout, чтобы определить, выходит ли устройство за пределы допустимого диапазона. Допустимый диапазон: от -127 до 20 (дБм), 127 означает, что свойство не установлено.

RSSILowTimeout : Uint16 [только для чтения, опционально]

Время, необходимое для того, чтобы устройство считалось вне диапазона. Если по прошествии этого времени не будет получено никакого сигнала, по крайней мере такого же сильного, как RSSILowThreshold, устройство, находящееся в настоящее время в зоне действия, будет считаться вне зоны действия (потерянным). Допустимый диапазон: от 1 до 300 (секунд), 0 означает, что свойство не установлено.

RSSISamplingPeriod : Uint16 [только для чтения, опционально]

Правила группировки для того, чтобы передавать полученные пакеты данных клиенту. Допустимый диапазон: от 0 до 255, при этом значение 256 означает, что свойство не установлено.

Значения маркируют следующее:

0
Все пакеты с публичными данными от устройств, находящихся в пределах досягаемости, будут распространяться.
255
Распространяется только первый пакет с публичными данными устройств, находящихся в пределах досягаемости. Если устройство будет потеряно, то первый пакет также будет распространён, когда оно снова будет найдено.
от 1 до 254
Пакеты с публичными данными будут сгруппированы в период времени 100 мс * N. О пакетах в одной группе сообщается только один раз, при этом значение RSSI усредняется.

В настоящее время свойство не реализовано в пользовательском пространстве, поэтому значение используется только для пересылки в ядро.

Type : string [только для чтения]

Тип монитора. Доступные значения можно найти в разделе SupportedMonitorTypes интерфейса org.bluez.AdvertisementMonitorManager1.

Описание методов

Activate() [без ответа]

После того, как монитор был открыт, метод вызывается как сигнал для клиента, чтобы получить подтверждение, когда монитор был активирован. Поэтому клиент может ожидать получения вызовов через DeviceFound() или DeviceLost().

DeviceFound(object device) [без ответа]

Вызывается, чтобы уведомить клиента об обнаружении целевого устройства. Получив вызов, клиент должен начать отслеживать соответствующее устройство, чтобы получить изменения RSSI и других данных.

DeviceLost(object device) [без ответа]

Вызывается, чтобы уведомить клиента о потере целевого устройства. Получив вызов, клиент должен прекратить мониторинг соответствующего устройства.

Release() [без ответа]

Вызывается как сигнал для клиента выполнить очистку, когда (1) монитор не может быть активирован после того, как он был раскрыт, или (2) монитор был деактивирован.

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.