MicroPython:Библиотеки/network/Класс WIZNET5K

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

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


Класс 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">

См.также

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