MicroPython:Библиотеки/network/Класс WLAN: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
(Новая страница: «{{MicroPython/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} =Класс WLAN – управление встр...»)
 
Нет описания правки
 
(не показаны 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">


=См.также=
=См.также=

Текущая версия от 06:51, 24 мая 2023

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


Класс WLAN – управление встроенными WiFi-интерфейсами[1]

Этот класс – это драйвер для сетевых WiFi-процессоров. Пример использования:

import network
# Включаем интерфейс станции и подключаемся к точке WiFi-доступа: 
nic = network.WLAN(network.STA_IF)
nic.active(True)
nic.connect('your-ssid', 'your-password')
# Теперь используем сокеты как обычно.

Конструкторы

Методы

<syntaxhighlight lang="python">

См.также

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