|
|
(не показаны 3 промежуточные версии 1 участника) |
Строка 5: |
Строка 5: |
| =Класс WLANWiPy – управление WiFi-интерфейсом с особенностями WiPy<ref>[http://docs.micropython.org/en/latest/library/network.WLANWiPy.html docs.micropython.org - network — class WLANWiPy – WiPy specific WiFi control]</ref>= | | =Класс WLANWiPy – управление WiFi-интерфейсом с особенностями WiPy<ref>[http://docs.micropython.org/en/latest/library/network.WLANWiPy.html docs.micropython.org - network — class WLANWiPy – WiPy specific WiFi control]</ref>= |
|
| |
|
| {{Спойлер|Примечание: Этот класс – нестандартная реализация WLAN для WiPy. На WiPy он называется просто network.WLAN, но в документации ниже используется конструкция network.WLANWiPy, чтобы отличить его от вышестоящего и более общего класса [http://docs.micropython.org/en/latest/library/network.WLAN.html#network-wlan network.WLAN].}} | | {{Примечание1 |
| | |1=Этот класс – нестандартная реализация WLAN для WiPy. На WiPy он называется просто network.WLAN, но в документации ниже используется конструкция network.WLANWiPy, чтобы отличить его от вышестоящего и более общего класса [http://docs.micropython.org/en/latest/library/network.WLAN.html#network-wlan network.WLAN].}} |
|
| |
|
| В этом классе реализован драйвер для сетевого WiFi-процессора на WiPy. Пример использования: | | В этом классе реализован драйвер для сетевого WiFi-процессора на WiPy. Пример использования: |
|
| |
|
| <syntaxhighlight lang="python" enclose="div"> | | <syntaxhighlight lang="python"> |
| import network | | import network |
| import time | | import time |
Строка 26: |
Строка 27: |
|
| |
|
| * [[MicroPython:Библиотеки/network/Класс WLANWiPy/network.WLANWiPy()|network.WLANWiPy()]] | | * [[MicroPython:Библиотеки/network/Класс WLANWiPy/network.WLANWiPy()|network.WLANWiPy()]] |
|
| |
| * Класс network.WLANWiPy(id=0, ...) – создает объект WLAN и опционально его настраивает. Аргументы для настройки смотрите в описании функции init().
| |
|
| |
| Примечание: особенность конструктора WLAN в том, что если в нем не будет задано никаких других аргументов, кроме id, он вернет существующий экземпляр WLAN, не перенастраивая его. Это потому, что WLAN – это системный элемент WiPy.
| |
| Если существующий экземпляр WLAN не инициализирован, конструктор сделает то же самое, что и другие конструкторы – инициализирует его при помощи значений по умолчанию.
| |
|
| |
|
| == Методы == | | == Методы == |
Строка 47: |
Строка 43: |
| * [[MicroPython:Библиотеки/network/Класс WLANWiPy/WLANWiPy.mac()|WLANWiPy.mac()]] | | * [[MicroPython:Библиотеки/network/Класс WLANWiPy/WLANWiPy.mac()|WLANWiPy.mac()]] |
| * [[MicroPython:Библиотеки/network/Класс WLANWiPy/WLANWiPy.irq()|WLANWiPy.irq()]] | | * [[MicroPython:Библиотеки/network/Класс WLANWiPy/WLANWiPy.irq()|WLANWiPy.irq()]] |
|
| |
| * WLANWiPy.init(mode, *, ssid, auth, channel, antenna) – задает или считывает настройки сетевого WiFi-процессора. Аргументы:
| |
| ** mode – здесь может быть WLAN.STA или WLAN.AP.
| |
| ** ssid – это строка с названием SSID. Этот аргумент нужен, только если устройство работает в режиме WLAN.AP.
| |
| ** auth – это кортеж в формате (sec, key). Элемент sec – это тип шифрования, и здесь могут быть значения None, WLAN.WEP, WLAN.WPA или WLAN.WPA2. Элемент key – это строка с паролем к сети. Если в sec задано WLAN.WEP, в элементе key должна быть строка с шестнадцатеричным значением (например, ‘ABC1DE45BF’). Нужен, только если устройство работает в режиме WLAN.AP.
| |
| ** channel – число в диапазоне 1-11. Нужен, только если устройство работает в режиме WLAN.AP.
| |
| ** antenna – здесь задается внутренняя (WLAN.INT_ANT) или внешняя (WLAN.EXT_ANT) антенна.
| |
|
| |
| Например, конструктором можно воспользоваться вот так:
| |
|
| |
| <syntaxhighlight lang="python" enclose="div">
| |
| # Создаем и настраиваем точку доступа.
| |
| wlan.init(mode=WLAN.AP, ssid='wipy-wlan', auth=(WLAN.WPA2,'www.wipy.io'), channel=7, antenna=WLAN.INT_ANT)
| |
| Или вот так:
| |
| # Настраиваем как станцию.
| |
| wlan.init(mode=WLAN.STA)
| |
| </syntaxhighlight>
| |
|
| |
| * WLANWiPy.connect(ssid, *, auth=None, bssid=None, timeout=None) – подключает устройство к точке WiFi-доступа при помощи заданных SSID и других параметров безопасности.
| |
| ** auth – это кортеж в формате (sec, key). Элемент sec – это режим шифрования, здесь может быть значение None, WLAN.WEP, WLAN.WPA или WLAN.WPA2. Элемент key – это строка с паролем к сети. Если в sec задано WLAN.WEP, в key должно быть строка с шестнадцатеричным значением (например, ‘ABC1DE45BF’).
| |
| ** bssid – это MAC-адрес точки доступа, к которой надо подключиться. Используется, когда у вас несколько точек доступа с одинаковым SSID.
| |
| ** timeout – максимальное время ожидания успешного соединения (в миллисекундах).
| |
| * WLANWiPy.scan() – выполняет сканирование, возвращая список именованных кортежей типа (ssid, bssid, sec, channel, rssi). Обратите внимание, что в channel всегда будет стоять None, потому что WiPy эту информацию не предоставляет.
| |
| * WLANWiPy.disconnect() – отключает устройство от точки WiFi-доступа.
| |
| * WLANWiPy.isconnected() – если устройство находится в режиме станции, подключено к точке WiFi-доступа и имеет корректный IP-адрес, этот метод вернет True. Если устройство находится в режиме точки доступа и подключено к станции, метод возвращает True. В противном случае метод возвращает False.
| |
| * WLANWiPy.ifconfig(if_id=0, config=['dhcp' or configtuple]) – если в этом методе не будет задано никаких аргументов, он вернет 4-элементный кортеж типа (ip, subnet_mask, gateway, DNS_server). Если в аргументе config будет задано 'dhcp', это включит режим DHCP-клиента, а полученные IP-параметры будут использованы для подключения к точке доступа.
| |
| Если задать в config 4-элементный кортеж, это задаст статический IP-адрес. Например:
| |
| wlan.ifconfig(config=('192.168.0.4', '255.255.255.0', '192.168.0.1', '8.8.8.8'))
| |
| * WLANWiPy.mode([mode]) – считывает или задает режим работы WLAN.
| |
| * WLANWiPy.ssid([ssid]) – считывает или задает SSID (если устройство находится в режиме точки доступа).
| |
| * WLANWiPy.auth([auth]) – считывает или задает тип аутентификации (если устройство находится в режиме точки доступа).
| |
| * WLANWiPy.channel([channel]) – считывает или задает канал (этот метод применим только в режиме точки доступа).
| |
| * WLANWiPy.antenna([antenna]) – считывает или задает тип антенны (внешняя или внутренняя).
| |
| * WLANWiPy.mac([mac_addr]) – считывает или задает 6-байтный объект bytes с MAC-адресом.
| |
| * WLANWiPy.irq(*, handler, wake) – создает функцию обратного вызова, которая будет запущена при появлении WLAN-события во время режима сна machine.SLEEP. События запускаются активностью сокета или подключением/отключением WLAN.
| |
| ** handler – это функция, вызываемая при срабатывании прерывания.
| |
| ** wake – здесь должно быть machine.SLEEP.
| |
|
| |
| Возвращает объект запроса на прерывание.
| |
|
| |
|
| == Константы == | | == Константы == |
Строка 97: |
Строка 54: |
| ** [[MicroPython:Библиотеки/network/Класс WLANWiPy/WLANWiPy.WPA2|WLANWiPy.WPA2]] | | ** [[MicroPython:Библиотеки/network/Класс WLANWiPy/WLANWiPy.WPA2|WLANWiPy.WPA2]] |
| * Тип антенны: | | * Тип антенны: |
| ** [[MicroPython:Библиотеки/network/Класс WLANWiPy/ WLANWiPy.INT_ANT| WLANWiPy.INT_ANT]] | | ** [[MicroPython:Библиотеки/network/Класс WLANWiPy/WLANWiPy.INT_ANT|WLANWiPy.INT_ANT]] |
| ** [[MicroPython:Библиотеки/network/Класс WLANWiPy/WLANWiPy.EXT_ANT|WLANWiPy.EXT_ANT]] | | ** [[MicroPython:Библиотеки/network/Класс WLANWiPy/WLANWiPy.EXT_ANT|WLANWiPy.EXT_ANT]] |
|
| |
|
| <syntaxhighlight lang="python" enclose="div"> | | <syntaxhighlight lang="python"> |
|
| |
|
| =См.также= | | =См.также= |