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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
(Новая страница: «{{MicroPython/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} <syntaxhighlight lang="python" enclose="div"> =...»)
 
Нет описания правки
 
(не показаны 3 промежуточные версии 1 участника)
Строка 3: Строка 3:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


=Модуль network – настройки сети<ref>[http://docs.micropython.org/en/latest/library/network.html docs.micropython.org - network — network configuration]</ref>=


В этом модуле реализованы сетевые драйверы и настройки маршрутизации. Чтобы использовать этот модуль, у вас должна быть установлена версия/билд [[MicroPython]] с возможностями работы с сетью. Сетевые драйверы для различного сетевого оборудования, входящие в этот модуль, используются для настройки аппаратного сетевого интерфейса (или интерфейсов). После того, как настроенные сетевые интерфейсы предоставят доступ к сетевым службам, вы сможете воспользоваться ими с помощью модуля usocket.


<syntaxhighlight lang="python" enclose="div">
Например:
 
<syntaxhighlight lang="python">
# Подключение и печать 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()
</syntaxhighlight>
 
== Общий интерфейс сетевого адаптера ==
 
В этом разделе описывается (скрытый) абстрактный базовый класс для всех классов сетевого интерфейса, реализованных в MicroPython для разных платформ. Это значит, что в MicroPython нет класса AbstractNIC, но при этом описанные ниже методы реализованы во всех NIC-классах (от англ. «network interface», то есть «сетевой интерфейс»).
 
* [[MicroPython:Библиотеки/network/network.AbstractNIC()|network.AbstractNIC()]]
* [[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()]]
* [[MicroPython:Библиотеки/network/AbstractNIC.ifconfig()|AbstractNIC.ifconfig()]]
* [[MicroPython:Библиотеки/network/AbstractNIC.config()|AbstractNIC.config()]]
 
== Специфические реализации класса ==
 
В классах ниже в разных вариациях реализован интерфейс AbstractNIC – каждая из этих вариаций позволяет управлять разными типами сетевых интерфейсов:
 
* [[MicroPython:Библиотеки/network/Класс WLAN|Класс WLAN – управление встроенными WiFi-интерфейсами]]
* [[MicroPython:Библиотеки/network/Класс WLANWiPy|Класс WLANWiPy – управление WiFi-интерфейсом с особенностями WiPy]]
* [[MicroPython:Библиотеки/network/Класс CC3K|Класс CC3K – управление WiFi-модулями CC3000]]
* [[MicroPython:Библиотеки/network/Класс WIZNET5K|Класс WIZNET5K – управление Ethernet-модулями WIZnet5x00]]
 
== Сетевые функции ==
 
Здесь описаны дополнительные функции модуля network:
 
* [[MicroPython:Библиотеки/network/network.phy_mode()|network.phy_mode()]]
 
<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», то есть «сетевой интерфейс»).

Специфические реализации класса

В классах ниже в разных вариациях реализован интерфейс AbstractNIC – каждая из этих вариаций позволяет управлять разными типами сетевых интерфейсов:

Сетевые функции

Здесь описаны дополнительные функции модуля network:

<syntaxhighlight lang="python">

См.также

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