class LAN – 控制以太网模块

此类允许您控制以太网接口。PHY 硬件类型是特定于板子的。

示例用法:

import network
nic = network.LAN(0)
print(nic.ifconfig())

# now use socket as usual
...

构造函数

class network.LAN(id, *, phy_type=<board_default>, phy_addr=<board_default>, ref_clk_mode=<board_default>)

创建一个 LAN 驱动程序对象,使用给定的 PHY 驱动程序名称初始化 LAN 模块,并返回 LAN 对象。

参数为:

  • id 是以太网端口的编号,为 0 或 1。

  • phy_type 是 PHY 驱动程序的名称。对于大多数板子,必须使用板载 PHY,并且是默认值。适当的值是特定于移植版本的。

  • phy_addr 指定 PHY 接口的地址。与 phy_type 一样,大多数板子需要使用预设的硬编码数值,该值是默认值。

  • ref_clk_mode 指定数据时钟是由以太网控制器提供还是由 PHY 接口提供。默认值是与板子匹配的值。如果设置为 LAN.OUTPin.OUTTrue,则时钟由以太网控制器驱动;如果设置为 LAN.INPin.INFalse,则时钟由 PHY 接口驱动。

例如,在 Seeed Arch Mix 板上,您可以使用:

nic = LAN(0, phy_type=LAN.PHY_LAN8720, phy_addr=1, ref_clk_mode=Pin.IN)

方法

LAN.active([state])

带有参数时,如果 state 为真,则将接口设置为活动状态,否则设置为非活动状态。没有参数时,返回状态。

LAN.isconnected()

如果物理以太网链接已连接并且正常工作,则返回 True。否则返回 False

LAN.status()

返回LAN状态。

LAN.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'))
LAN.config(config_parameters)

设置或获取 LAN 接口的参数。唯一可检索的参数是 MAC 地址,使用以下方法:

mac = LAN.config("mac")

可以设置的参数是:

  • trace=n 设置跟踪级别;适当的值为:

    • 2: 跟踪 TX

    • 4: 跟踪 RX

    • 8: 完整跟踪

  • low_power=bool 设置或清除低功耗模式,有效值为 FalseTrue

特定的 LAN 类实现

在 mimxrt 移植版本上, phy_type 构造函数参数的适当值为:PHY_KSZ8081, PHY_DP83825, PHY_DP83848, PHY_LAN8720, PHY_RTL8211F