MicroPython:Библиотеки/network/Класс WIZNET5K: различия между версиями
Myagkij (обсуждение | вклад) (Новая страница: «{{MicroPython/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} == <syntaxhighlight lang="python" enclose="div"...») |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 3: | Строка 3: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
== | =Класс WIZNET5K – управление Ethernet-модулями WIZnet5x00<ref>[http://docs.micropython.org/en/latest/library/network.WIZNET5K.html docs.micropython.org - class WIZNET5K – control WIZnet5x00 Ethernet modules]</ref>= | ||
Этот класс позволяет управлять [[Ethernet-адаптер]]ами [[WIZnet5x00]] на базе [[чипсет]]ов [[W5200]] и [[W5500]]. Конкретный чипсет, поддерживаемый прошивкой, выбирается во время компиляции при помощи опции [[MICROPY_PY_WIZNET5K]]. | |||
Пример использования: | |||
<syntaxhighlight lang="python" enclose="div"> | |||
import network | |||
nic = network.WIZNET5K(pyb.SPI(1), pyb.Pin.board.X5, pyb.Pin.board.X4) | |||
print(nic.ifconfig()) | |||
# Теперь используем сокет как обычно. | |||
... | |||
</syntaxhighlight> | |||
Чтобы фрагмент кода выше заработал, модуль [[WIZnet5x00]] нужно подключить вот так: | |||
* Контакт MOSI нужно подключить к контакту X8 | |||
* MISO – к X7 | |||
* SCLK – к X6 | |||
* nSS – к X5 | |||
* nRESET – к X4 | |||
Вы также можете использовать другие [[SPI-шины]] и контакты для nSS и nRESET. | |||
== Конструкторы == | |||
* [[MicroPython:Библиотеки/network/Класс WIZNET5K/network.WIZNET5K()|network.WIZNET5K()]] | |||
* Класс network.WIZNET5K(spi, pin_cs, pin_rst) – создает драйверный объект WIZNET5K. Инициализирует модуль WIZnet5x00 при помощи заданных SPI-шины и контактов и возвращает объект WIZNET5K. Аргументы: | |||
** spi – это [http://docs.micropython.org/en/latest/library/pyb.SPI.html#pyb-spi объект SPI], отвечающий за SPI-шину, к которой подключен модуль WIZnet5x00 (контакты MOSI, MISO и SCLK). | |||
** pin_cs – это [http://docs.micropython.org/en/latest/library/pyb.Pin.html#pyb-pin объект Pin], отвечающий за контакт, к которому подключен nSS-контакт WIZnet5x00. | |||
** pin_rst – это [http://docs.micropython.org/en/latest/library/pyb.Pin.html#pyb-pin объект Pin], отвечающий за контакт, к которому подключен nRESET-контакт WIZnet5x00. | |||
Все эти объекты будут инициализированы драйвером, поэтому специально инициализировать их не нужно. Пример использования конструктора: | |||
<syntaxhighlight lang="python" enclose="div"> | |||
nic = network.WIZNET5K(pyb.SPI(1), pyb.Pin.board.X5, pyb.Pin.board.X4) | |||
</syntaxhighlight> | |||
==Методы== | |||
* [[MicroPython:Библиотеки/network/Класс WIZNET5K/WIZNET5K.isconnected()|WIZNET5K.isconnected()]] | |||
* [[MicroPython:Библиотеки/network/Класс WIZNET5K/WIZNET5K.ifconfig()|WIZNET5K.ifconfig()]] | |||
* [[MicroPython:Библиотеки/network/Класс WIZNET5K/WIZNET5K.regs()|WIZNET5K.regs()]] | |||
* WIZNET5K.isconnected() – возвращает True, если физическая Ethernet-связь подключена и работает. В противном случае возвращает False. | |||
* WIZNET5K.ifconfig([(ip, subnet, gateway, dns)]) – считывает или задает IP-адрес, маску подсети, сетевой шлюз и DNS-сервер. | |||
Если вызвать этот метод без аргументов, он вернет 4-элементный кортеж с вышеперечисленными данными. | |||
Чтобы задать эти значения, передайте методу 4-элементный кортеж с необходимыми данными. Например: | |||
nic.ifconfig(('192.168.0.4', '255.255.255.0', '192.168.0.1', '8.8.8.8')) | |||
* WIZNET5K.regs() – выполняет дамп регистров WIZnet5x00. Используется для отладки. | |||
Версия от 19:36, 3 октября 2020
Класс WIZNET5K – управление Ethernet-модулями WIZnet5x00[1]
Этот класс позволяет управлять Ethernet-адаптерами WIZnet5x00 на базе чипсетов W5200 и W5500. Конкретный чипсет, поддерживаемый прошивкой, выбирается во время компиляции при помощи опции MICROPY_PY_WIZNET5K.
Пример использования:
import network
nic = network.WIZNET5K(pyb.SPI(1), pyb.Pin.board.X5, pyb.Pin.board.X4)
print(nic.ifconfig())
# Теперь используем сокет как обычно.
...
Чтобы фрагмент кода выше заработал, модуль WIZnet5x00 нужно подключить вот так:
- Контакт MOSI нужно подключить к контакту X8
- MISO – к X7
- SCLK – к X6
- nSS – к X5
- nRESET – к X4
Вы также можете использовать другие SPI-шины и контакты для nSS и nRESET.
Конструкторы
- Класс network.WIZNET5K(spi, pin_cs, pin_rst) – создает драйверный объект WIZNET5K. Инициализирует модуль WIZnet5x00 при помощи заданных SPI-шины и контактов и возвращает объект WIZNET5K. Аргументы:
- spi – это объект SPI, отвечающий за SPI-шину, к которой подключен модуль WIZnet5x00 (контакты MOSI, MISO и SCLK).
- pin_cs – это объект Pin, отвечающий за контакт, к которому подключен nSS-контакт WIZnet5x00.
- pin_rst – это объект Pin, отвечающий за контакт, к которому подключен nRESET-контакт WIZnet5x00.
Все эти объекты будут инициализированы драйвером, поэтому специально инициализировать их не нужно. Пример использования конструктора:
nic = network.WIZNET5K(pyb.SPI(1), pyb.Pin.board.X5, pyb.Pin.board.X4)
Методы
- WIZNET5K.isconnected() – возвращает True, если физическая Ethernet-связь подключена и работает. В противном случае возвращает False.
- WIZNET5K.ifconfig([(ip, subnet, gateway, dns)]) – считывает или задает IP-адрес, маску подсети, сетевой шлюз и DNS-сервер.
Если вызвать этот метод без аргументов, он вернет 4-элементный кортеж с вышеперечисленными данными. Чтобы задать эти значения, передайте методу 4-элементный кортеж с необходимыми данными. Например: nic.ifconfig(('192.168.0.4', '255.255.255.0', '192.168.0.1', '8.8.8.8'))
- WIZNET5K.regs() – выполняет дамп регистров WIZnet5x00. Используется для отладки.
<syntaxhighlight lang="python" enclose="div">