MicroPython:Библиотеки/ubluetooth/Класс BLE/BLE.gap scan(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
(Новая страница: «{{MicroPython/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} =BLE.gap scan()<ref>[http://docs.micropython.org/e...»)
 
Нет описания правки
 
Строка 5: Строка 5:
=BLE.gap scan()<ref>[http://docs.micropython.org/en/latest/library/ubluetooth.html docs.micropython.org - ubluetooth — low-level Bluetooth]</ref>=
=BLE.gap scan()<ref>[http://docs.micropython.org/en/latest/library/ubluetooth.html docs.micropython.org - ubluetooth — low-level Bluetooth]</ref>=


* BLE.gap_scan(duration_ms[, interval_us][, window_us][, active]) – запускает операцию сканирования, длящуюся заданное количество времени (в миллисекундах).
* BLE.gap_scan(duration_ms[, interval_us][, window_us][, active]) – запускает операцию сканирования, длящуюся заданное количество времени (в [[миллисекунда]]х).


Чтобы сканирование выполнялось бесконечно, задайте в duration_ms значение «0».
Чтобы сканирование выполнялось бесконечно, задайте в ''duration_ms'' значение ''«0»''.


Чтобы остановить сканирование, задайте в duration_ms значение None.
Чтобы остановить сканирование, задайте в ''duration_ms'' значение ''None''.


Опционально можно настроить коэффициент заполнения – для этого используйте аргументы interval_us и window_us. Сканирование будет длиться window_us микросекунд каждые interval_us микросекунд на протяжении duration_ms миллисекунд. По умолчанию в аргументах interval_us и window_us задано соответственно 1.28 секунд и 11.25 миллисекунд (фоновое сканирование).
Опционально можно настроить коэффициент заполнения – для этого используйте аргументы ''interval_us'' и ''window_us''. Сканирование будет длиться ''window_us'' микросекунд каждые ''interval_us'' микросекунд на протяжении ''duration_ms'' миллисекунд. По умолчанию в аргументах ''interval_us'' и ''window_us'' задано соответственно ''1.28 секунд'' и ''11.25 миллисекунд'' (фоновое сканирование).


С каждым результатом сканирования будет вызвано событие _IRQ_SCAN_RESULT, а данные события будут иметь формат (addr_type, addr, adv_type, rssi, adv_data).  
С каждым результатом сканирования будет вызвано событие ''_IRQ_SCAN_RESULT'', а данные события будут иметь формат (addr_type, addr, adv_type, rssi, adv_data).  


В элементе addr_type задается тип адреса – публичный или случайный:
В элементе ''addr_type'' задается тип адреса – публичный или случайный:
* 0x00 – публичный.
* '''0x00''' – публичный.
* 0x01 – случайный (либо статичный RPA, либо NRPA; тип зашифрован в самом адресе).
* '''0x01''' – случайный (либо статичный RPA, либо NRPA; тип зашифрован в самом адресе).


В элементе adv_type задается тип пакетов объявления:
В элементе adv_type задается тип пакетов объявления:
* 0x00 - ADV_IND – ненаправленные пакеты, рассылаемые присоединяемыми и сканируемыми устройствами.
* '''0x00''' - '''ADV_IND''' – ненаправленные пакеты, рассылаемые присоединяемыми и сканируемыми устройствами.
* 0x01 - ADV_DIRECT_IND – направленные пакеты, рассылаемые присоединяемыми устройствами.
* '''0x01''' - '''ADV_DIRECT_IND''' – направленные пакеты, рассылаемые присоединяемыми устройствами.
* 0x02 - ADV_SCAN_IND – ненаправленные пакеты, рассылаемые сканируемыми устройствами.
* '''0x02''' - '''ADV_SCAN_IND''' – ненаправленные пакеты, рассылаемые сканируемыми устройствами.
* 0x03 - ADV_NONCONN_IND – ненаправленные пакеты, рассылаемые неприсоединяемыми устройствами.
* '''0x03''' - '''ADV_NONCONN_IND''' – ненаправленные пакеты, рассылаемые неприсоединяемыми устройствами.
* 0x04 - SCAN_RSP – пакеты с ответом на сканирование.  
* '''0x04''' - '''SCAN_RSP''' – пакеты с ответом на сканирование.  


Если вы хотите получать в результатах ответы на сканирование, задайте True в аргументе active.
Если вы хотите получать в результатах ответы на сканирование, задайте ''True'' в аргументе ''active''.


Когда сканирование будет остановлено (будь то явная остановка или истечение таймаута), будет возбуждено исключение _IRQ_SCAN_DONE.
Когда сканирование будет остановлено (будь то явная остановка или истечение таймаута), будет возбуждено исключение ''_IRQ_SCAN_DONE''.





Текущая версия от 20:10, 3 октября 2020

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


BLE.gap scan()[1]

  • BLE.gap_scan(duration_ms[, interval_us][, window_us][, active]) – запускает операцию сканирования, длящуюся заданное количество времени (в миллисекундах).

Чтобы сканирование выполнялось бесконечно, задайте в duration_ms значение «0».

Чтобы остановить сканирование, задайте в duration_ms значение None.

Опционально можно настроить коэффициент заполнения – для этого используйте аргументы interval_us и window_us. Сканирование будет длиться window_us микросекунд каждые interval_us микросекунд на протяжении duration_ms миллисекунд. По умолчанию в аргументах interval_us и window_us задано соответственно 1.28 секунд и 11.25 миллисекунд (фоновое сканирование).

С каждым результатом сканирования будет вызвано событие _IRQ_SCAN_RESULT, а данные события будут иметь формат (addr_type, addr, adv_type, rssi, adv_data).

В элементе addr_type задается тип адреса – публичный или случайный:

  • 0x00 – публичный.
  • 0x01 – случайный (либо статичный RPA, либо NRPA; тип зашифрован в самом адресе).

В элементе adv_type задается тип пакетов объявления:

  • 0x00 - ADV_IND – ненаправленные пакеты, рассылаемые присоединяемыми и сканируемыми устройствами.
  • 0x01 - ADV_DIRECT_IND – направленные пакеты, рассылаемые присоединяемыми устройствами.
  • 0x02 - ADV_SCAN_IND – ненаправленные пакеты, рассылаемые сканируемыми устройствами.
  • 0x03 - ADV_NONCONN_IND – ненаправленные пакеты, рассылаемые неприсоединяемыми устройствами.
  • 0x04 - SCAN_RSP – пакеты с ответом на сканирование.

Если вы хотите получать в результатах ответы на сканирование, задайте True в аргументе active.

Когда сканирование будет остановлено (будь то явная остановка или истечение таймаута), будет возбуждено исключение _IRQ_SCAN_DONE.


<syntaxhighlight lang="python" enclose="div">

См.также

Внешние ссылки