|
|
(не показаны 2 промежуточные версии 1 участника) |
Строка 7: |
Строка 7: |
| Этот класс – это драйвер для сетевых WiFi-процессоров. Пример использования: | | Этот класс – это драйвер для сетевых WiFi-процессоров. Пример использования: |
|
| |
|
| <syntaxhighlight lang="python" enclose="div"> | | <syntaxhighlight lang="python"> |
| import network | | import network |
| # Включаем интерфейс станции и подключаемся к точке WiFi-доступа: | | # Включаем интерфейс станции и подключаемся к точке WiFi-доступа: |
Строка 18: |
Строка 18: |
| == Конструкторы == | | == Конструкторы == |
|
| |
|
| * Класс network.WLAN(interface_id) – создает объект сетевого интерфейса WLAN. Поддерживаемые интерфейсы: network.STA_IF (станция она же клиент; подключается к вышестоящим точкам WiFi-доступа) и network.AP_IF (точка доступа; позволяет подключаться к себе другим WiFi-клиентам). Доступность методов класса (они описаны ниже) зависит от типа интерфейса. Например, только станции могут использовать WLAN.connect() для подключения к точке доступа. | | * [[MicroPython:Библиотеки/network/Класс WLAN/network.WLAN()|network.WLAN()]] |
|
| |
|
| == Методы == | | == Методы == |
|
| |
|
| * WLAN.active([is_active]) – если в аргументе is_active задано булево значение, активирует или деактивирует сетевой интерфейс. Если никакого аргумента не задано, считывает текущее состояние интерфейса. Большинству других методов требуется, чтобы интерфейс был активным. | | * [[MicroPython:Библиотеки/network/Класс WLAN/WLAN.active()|WLAN.active()]] |
| * WLAN.connect(ssid=None, password=None, *, bssid=None) – подключает устройство к заданной беспроводной сети ssid при помощи заданного пароля password. Если будет задан аргумент bssid, это ограничит соединение точкой доступа с этим MAC-адресом (в этом случае также должен быть задан аргумент ssid). | | * [[MicroPython:Библиотеки/network/Класс WLAN/WLAN.connect()|WLAN.connect()]] |
| * WLAN.disconnect() – отключает устройство от беспроводной сети, к которой оно подключено в данный момент. | | * [[MicroPython:Библиотеки/network/Класс WLAN/WLAN.disconnect()|WLAN.disconnect()]] |
| * WLAN.scan() – сканирует доступные беспроводные сети. | | * [[MicroPython:Библиотеки/network/Класс WLAN/WLAN.scan()|WLAN.scan()]] |
| Сканирование доступно только на интерфейсе станции. Возвращает список кортежей с информацией о точках WiFi-доступа вот такого типа:
| | * [[MicroPython:Библиотеки/network/Класс WLAN/WLAN.status()|WLAN.status()]] |
| (ssid, bssid, channel, RSSI, authmode, hidden) | | * [[MicroPython:Библиотеки/network/Класс WLAN/WLAN.isconnected()|WLAN.isconnected()]] |
| Аргумент bssid – это аппаратный адрес точки доступа в двоичном виде, возвращаемый в виде объекта bytes. Чтобы преобразовать его в ASCII-форму, воспользуйтесь функцией [http://docs.micropython.org/en/latest/library/ubinascii.html#ubinascii.hexlify ubinascii.hexlify()].
| | * [[MicroPython:Библиотеки/network/Класс WLAN/WLAN.ifconfig()|WLAN.ifconfig()]] |
| В элементе authmode может быть одно из 5 следующих значений:
| | * [[MicroPython:Библиотеки/network/Класс WLAN/WLAN.config()|WLAN.config()]] |
| ** 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"> | | <syntaxhighlight lang="python"> |
| # Задаем название точки 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">
| |
|
| |
|
| =См.также= | | =См.также= |