|
|
Строка 19: |
Строка 19: |
|
| |
|
| * [[MicroPython:Библиотеки/network/Класс WLAN/network.WLAN()|network.WLAN()]] | | * [[MicroPython:Библиотеки/network/Класс WLAN/network.WLAN()|network.WLAN()]] |
|
| |
| * Класс network.WLAN(interface_id) – создает объект сетевого интерфейса WLAN. Поддерживаемые интерфейсы: network.STA_IF (станция она же клиент; подключается к вышестоящим точкам WiFi-доступа) и network.AP_IF (точка доступа; позволяет подключаться к себе другим WiFi-клиентам). Доступность методов класса (они описаны ниже) зависит от типа интерфейса. Например, только станции могут использовать WLAN.connect() для подключения к точке доступа.
| |
|
| |
|
| == Методы == | | == Методы == |
Строка 32: |
Строка 30: |
| * [[MicroPython:Библиотеки/network/Класс WLAN/WLAN.ifconfig()|WLAN.ifconfig()]] | | * [[MicroPython:Библиотеки/network/Класс WLAN/WLAN.ifconfig()|WLAN.ifconfig()]] |
| * [[MicroPython:Библиотеки/network/Класс WLAN/WLAN.config()|WLAN.config()]] | | * [[MicroPython:Библиотеки/network/Класс WLAN/WLAN.config()|WLAN.config()]] |
|
| |
| * WLAN.active([is_active]) – если в аргументе is_active задано булево значение, активирует или деактивирует сетевой интерфейс. Если никакого аргумента не задано, считывает текущее состояние интерфейса. Большинству других методов требуется, чтобы интерфейс был активным.
| |
| * WLAN.connect(ssid=None, password=None, *, bssid=None) – подключает устройство к заданной беспроводной сети ssid при помощи заданного пароля password. Если будет задан аргумент bssid, это ограничит соединение точкой доступа с этим MAC-адресом (в этом случае также должен быть задан аргумент ssid).
| |
| * WLAN.disconnect() – отключает устройство от беспроводной сети, к которой оно подключено в данный момент.
| |
| * WLAN.scan() – сканирует доступные беспроводные сети.
| |
| Сканирование доступно только на интерфейсе станции. Возвращает список кортежей с информацией о точках WiFi-доступа вот такого типа:
| |
| (ssid, bssid, channel, RSSI, authmode, hidden)
| |
| Аргумент bssid – это аппаратный адрес точки доступа в двоичном виде, возвращаемый в виде объекта bytes. Чтобы преобразовать его в ASCII-форму, воспользуйтесь функцией [http://docs.micropython.org/en/latest/library/ubinascii.html#ubinascii.hexlify ubinascii.hexlify()].
| |
| В элементе authmode может быть одно из 5 следующих значений:
| |
| ** 0 – шифрование отсутствует
| |
| ** 1 – WEP
| |
| ** 2 – WPA-PSK
| |
| ** 3 – WPA2-PSK
| |
| ** 4 – WPA/WPA2-PSK
| |
| А в аргументе hidden может быть одно из этих 2 значений: «0» – видимая, «1» – скрытая.
| |
| * WLAN.status([param]) – возвращает текущий статус беспроводного соединения.
| |
| Если вызвать эту функцию без аргументов, возвращаемое значение будет означать состояние связи. Возможные состояния определяются следующими константами:
| |
| ** STAT_IDLE – нет соединения и активности.
| |
| ** STAT_CONNECTING – соединение в процессе.
| |
| ** STAT_WRONG_PASSWORD – соединение установить не удалось из-за неправильного пароля.
| |
| ** STAT_NO_AP_FOUND – соединение установить не удалось, потому что ни одна точка доступа не ответила.
| |
| ** STAT_CONNECT_FAIL – соединение установить не удалось из-за других проблем.
| |
| ** STAT_GOT_IP – соединение установлено успешно.
| |
| При вызове с аргументом param он должен быть строкой с названием параметра, который надо прочесть. Поддерживаемые параметры в режиме WiFi-станции – это: 'rssi'.
| |
| * WLAN.isconnected() – если устройство в режиме станции, подключено к точке WiFi-доступа и имеет корректный IP-адрес, возвращает True. Если устройство в режиме точки доступа и подключено, то возвращает True. В противных случаях возвращает False.
| |
| * WLAN.ifconfig([(ip, subnet, gateway, dns)]) – задает или считывает параметры сетевого интерфейса IP-уровня: IP-адрес, маску подсети, сетевой шлюз и DNS-сервер. Если вызвать этот метод без аргументов, он вернет 4-элементный кортеж с вышеперечисленными параметрами. Чтобы задать все эти параметры, передайте методу 4-элементный кортеж с ними. Например:
| |
| nic.ifconfig(('192.168.0.4', '255.255.255.0', '192.168.0.1', '8.8.8.8'))
| |
| * WLAN.config('param') и WLAN.config(param=value, ...) – задают или считывают общие параметры сетевого интерфейса. Эти методы позволяют работать с дополнительными параметрами, тогда как со стандартными IP-настройками работает метод WLAN.ifconfig(). К эти дополнительным параметрам относятся параметры, специфичные для используемых сети и устройства. Задавая параметры, необходимо использовать только синтаксис именованных аргументов; за раз можно задать несколько аргументов. Чтобы прочесть параметры, их названия должны быть в виде строк в кавычках; за раз можно задать только один аргумент.
| |
|
| |
| <syntaxhighlight lang="python" enclose="div">
| |
| # Задаем название точки WiFi-доступа (ESSID) и WiFi-канал:
| |
| ap.config(essid='My AP', channel=11)
| |
| # Считываем параметры по одному:
| |
| print(ap.config('essid'))
| |
| print(ap.config('channel'))
| |
| </syntaxhighlight>
| |
|
| |
| Ниже перечислены параметры, поддерживаемые в данный момент (наличие некоторых параметров зависит от типа сетевой технологии, драйвера и MicroPython-порта).
| |
|
| |
| {| class="wikitable"
| |
| |-
| |
| ! Параметр !! Описание
| |
| |-
| |
| | mac || MAC-адрес (объект bytes)
| |
| |-
| |
| | essid || Название точки WiFi-доступа (строка)
| |
| |-
| |
| | channel || WiFi-канал (целое число)
| |
| |-
| |
| | hidden || То, скрыт ли ESSID (булево значение)
| |
| |-
| |
| | authmode || Поддерживаемый режим аутентификации (числа, см. WLAN.scan())
| |
| |-
| |
| | password || Пароль для доступа к сети (строка)
| |
| |-
| |
| | dhcp_hostname || Имя хоста DHCP
| |
| |}
| |
|
| |
|
| <syntaxhighlight lang="python" enclose="div"> | | <syntaxhighlight lang="python" enclose="div"> |