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.OUT
或Pin.OUT
或True
,则时钟由以太网控制器驱动;如果设置为LAN.IN
或Pin.IN
或False
,则时钟由 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
设置或清除低功耗模式,有效值为False
或True
。
特定的 LAN 类实现¶
在 mimxrt 移植版本上, phy_type 构造函数参数的适当值为:PHY_KSZ8081
, PHY_DP83825
, PHY_DP83848
, PHY_LAN8720
, PHY_RTL8211F
。