MicroPython:Библиотеки/ubluetooth/Класс BLE/BLE.gap scan(): различия между версиями
Myagkij (обсуждение | вклад) (Новая страница: «{{MicroPython/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} =BLE.gap scan()<ref>[http://docs.micropython.org/e...») |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 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">