MicroPython:Библиотеки/network: различия между версиями
Myagkij (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
(не показаны 2 промежуточные версии 1 участника) | |||
Строка 5: | Строка 5: | ||
=Модуль network – настройки сети<ref>[http://docs.micropython.org/en/latest/library/network.html docs.micropython.org - network — network configuration]</ref>= | =Модуль network – настройки сети<ref>[http://docs.micropython.org/en/latest/library/network.html docs.micropython.org - network — network configuration]</ref>= | ||
В этом модуле реализованы сетевые драйверы и настройки маршрутизации. Чтобы использовать этот модуль, у вас должна быть установлена версия/билд MicroPython с возможностями работы с сетью. Сетевые драйверы для различного сетевого оборудования, входящие в этот модуль, используются для настройки аппаратного сетевого интерфейса (или интерфейсов). После того, как настроенные сетевые интерфейсы предоставят доступ к сетевым службам, вы сможете воспользоваться ими с помощью модуля usocket. | В этом модуле реализованы сетевые драйверы и настройки маршрутизации. Чтобы использовать этот модуль, у вас должна быть установлена версия/билд [[MicroPython]] с возможностями работы с сетью. Сетевые драйверы для различного сетевого оборудования, входящие в этот модуль, используются для настройки аппаратного сетевого интерфейса (или интерфейсов). После того, как настроенные сетевые интерфейсы предоставят доступ к сетевым службам, вы сможете воспользоваться ими с помощью модуля usocket. | ||
Например: | Например: | ||
<syntaxhighlight lang="python | <syntaxhighlight lang="python"> | ||
# Подключение и печать IP-настроек сетевого интерфейса. | # Подключение и печать IP-настроек сетевого интерфейса. | ||
# Примеры специфических драйверов смотрите ниже. | # Примеры специфических драйверов смотрите ниже. | ||
Строка 35: | Строка 35: | ||
В этом разделе описывается (скрытый) абстрактный базовый класс для всех классов сетевого интерфейса, реализованных в MicroPython для разных платформ. Это значит, что в MicroPython нет класса AbstractNIC, но при этом описанные ниже методы реализованы во всех NIC-классах (от англ. «network interface», то есть «сетевой интерфейс»). | В этом разделе описывается (скрытый) абстрактный базовый класс для всех классов сетевого интерфейса, реализованных в MicroPython для разных платформ. Это значит, что в MicroPython нет класса AbstractNIC, но при этом описанные ниже методы реализованы во всех NIC-классах (от англ. «network interface», то есть «сетевой интерфейс»). | ||
* | |||
* AbstractNIC.active( | * [[MicroPython:Библиотеки/network/network.AbstractNIC()|network.AbstractNIC()]] | ||
* AbstractNIC.connect( | * [[MicroPython:Библиотеки/network/AbstractNIC.active()|AbstractNIC.active()]] | ||
* | * [[MicroPython:Библиотеки/network/AbstractNIC.connect()|AbstractNIC.connect()]] | ||
* [[MicroPython:Библиотеки/network/AbstractNIC.disconnect()|AbstractNIC.disconnect()]] | |||
* [[MicroPython:Библиотеки/network/AbstractNIC.isconnected()|AbstractNIC.isconnected()]] | |||
* [[MicroPython:Библиотеки/network/AbstractNIC.scan()|AbstractNIC.scan()]] | |||
* [[MicroPython:Библиотеки/network/AbstractNIC.status()|AbstractNIC.status()]] | |||
* AbstractNIC.isconnected() | * [[MicroPython:Библиотеки/network/AbstractNIC.ifconfig()|AbstractNIC.ifconfig()]] | ||
* [[MicroPython:Библиотеки/network/AbstractNIC.config()|AbstractNIC.config()]] | |||
* | |||
== Специфические реализации класса == | |||
* AbstractNIC.status( | |||
* | |||
* AbstractNIC.config( | |||
Специфические реализации класса | |||
В классах ниже в разных вариациях реализован интерфейс AbstractNIC – каждая из этих вариаций позволяет управлять разными типами сетевых интерфейсов: | В классах ниже в разных вариациях реализован интерфейс AbstractNIC – каждая из этих вариаций позволяет управлять разными типами сетевых интерфейсов: | ||
* Класс WLAN – управление встроенными WiFi-интерфейсами | |||
* Класс WLANWiPy – управление WiFi-интерфейсом с особенностями WiPy | * [[MicroPython:Библиотеки/network/Класс WLAN|Класс WLAN – управление встроенными WiFi-интерфейсами]] | ||
* Класс CC3K – управление WiFi-модулями CC3000 | * [[MicroPython:Библиотеки/network/Класс WLANWiPy|Класс WLANWiPy – управление WiFi-интерфейсом с особенностями WiPy]] | ||
* Класс WIZNET5K – управление Ethernet-модулями WIZnet5x00 | * [[MicroPython:Библиотеки/network/Класс CC3K|Класс CC3K – управление WiFi-модулями CC3000]] | ||
Сетевые функции | * [[MicroPython:Библиотеки/network/Класс WIZNET5K|Класс WIZNET5K – управление Ethernet-модулями WIZnet5x00]] | ||
== Сетевые функции == | |||
Здесь описаны дополнительные функции модуля network: | Здесь описаны дополнительные функции модуля network: | ||
* [[MicroPython:Библиотеки/network/network.phy_mode()|network.phy_mode()]] | |||
<syntaxhighlight lang="python | <syntaxhighlight lang="python"> | ||
=См.также= | =См.также= |
Текущая версия от 19:53, 23 мая 2023
Модуль network – настройки сети[1]
В этом модуле реализованы сетевые драйверы и настройки маршрутизации. Чтобы использовать этот модуль, у вас должна быть установлена версия/билд MicroPython с возможностями работы с сетью. Сетевые драйверы для различного сетевого оборудования, входящие в этот модуль, используются для настройки аппаратного сетевого интерфейса (или интерфейсов). После того, как настроенные сетевые интерфейсы предоставят доступ к сетевым службам, вы сможете воспользоваться ими с помощью модуля usocket.
Например:
# Подключение и печать IP-настроек сетевого интерфейса.
# Примеры специфических драйверов смотрите ниже.
import network
import utime
nic = network.Driver(...)
if not nic.isconnected():
nic.connect()
print("Ждем соединения...")
while not nic.isconnected():
utime.sleep(1)
print(nic.ifconfig())
# Теперь используем «usocket» как обычно:
import usocket as socket
addr = socket.getaddrinfo('micropython.org', 80)[0][-1]
s = socket.socket()
s.connect(addr)
s.send(b'GET / HTTP/1.1\r\nHost: micropython.org\r\n\r\n')
data = s.recv(1000)
s.close()
Общий интерфейс сетевого адаптера
В этом разделе описывается (скрытый) абстрактный базовый класс для всех классов сетевого интерфейса, реализованных в MicroPython для разных платформ. Это значит, что в MicroPython нет класса AbstractNIC, но при этом описанные ниже методы реализованы во всех NIC-классах (от англ. «network interface», то есть «сетевой интерфейс»).
- network.AbstractNIC()
- AbstractNIC.active()
- AbstractNIC.connect()
- AbstractNIC.disconnect()
- AbstractNIC.isconnected()
- AbstractNIC.scan()
- AbstractNIC.status()
- AbstractNIC.ifconfig()
- AbstractNIC.config()
Специфические реализации класса
В классах ниже в разных вариациях реализован интерфейс AbstractNIC – каждая из этих вариаций позволяет управлять разными типами сетевых интерфейсов:
- Класс WLAN – управление встроенными WiFi-интерфейсами
- Класс WLANWiPy – управление WiFi-интерфейсом с особенностями WiPy
- Класс CC3K – управление WiFi-модулями CC3000
- Класс WIZNET5K – управление Ethernet-модулями WIZnet5x00
Сетевые функции
Здесь описаны дополнительные функции модуля network:
<syntaxhighlight lang="python">