class LAN – control de una interfaz Ethernet¶
La clase LAN controla el MAC Ethernet integrado del MCU contra un PHY RMII externo. El tipo de PHY, la dirección MDIO y el pinout dependen de la placa; cada placa OpenMV incorpora valores predeterminados razonables, por lo que el constructor normalmente no necesita argumentos.
Disponible en:
OpenMV Cam N6 (puerto STM32) – PHY predeterminado
PHY_LAN8742.Arduino Portenta H7 (puerto STM32) – PHY predeterminado
PHY_LAN8742.OpenMV Cam RT1062 (puerto mimxrt) – PHY predeterminado
PHY_KSZ8081.
Ejemplo de uso:
import network
nic = network.LAN()
nic.active(True)
while not nic.isconnected():
pass
print(nic.ipconfig("addr4"))
Constructores¶
- class network.LAN(id: int = 0, *, phy_type: int | None = None, phy_addr: int | None = None, ref_clk_mode: int | None = None) None¶
Construye un objeto de interfaz
LAN. Todos los argumentos posteriores aidson de palabra clave únicamente.idselecciona el puerto Ethernet en placas que exponen más de uno (puerto mimxrt:0= ENET,1= ENET_1). Se ignora en placas STM32, que solo tienen un único MAC.phy_typeselecciona el controlador del PHY (una de las constantesPHY_*que figuran a continuación). PasaNone(el valor predeterminado) para usar el PHY cableado en la placa OpenMV.phy_addres la dirección MDIO del PHY en el bus de gestión. PasaNone(el valor predeterminado) para usar el valor cableado de la placa.ref_clk_mode(solo mimxrt) selecciona si el reloj de referencia RMII lo genera el MAC (OUT) o el PHY (IN). Se ignora en placas STM32.Métodos¶
- active(is_active: bool | None = None) bool¶
Activa o desactiva el MAC Ethernet.
Sin argumentos, devuelve el estado actual del enlace del PHY como un entero verdadero/falso – consulta
status()para ver el conjunto completo de valores codificados.active(True)inicia el MAC y el PHY, arranca la autonegociación y activa la netif de lwIP. La activación del enlace en sí puede tardar un momento en completarse – sondeaisconnected()si necesitas bloquear hasta que el enlace esté totalmente listo. Todos los demás métodos (ipconfig(),config(), …) requieren que la interfaz esté activa.active(False)detiene el MAC y desmonta la netif.
- isconnected() bool¶
Devuelve
Truecuando el PHY ha negociado la activación del enlace y la interfaz está en el estado totalmente activo (valor de estado del enlace3).
- status() int¶
Devuelve el estado bruto del enlace del PHY como un entero:
0– enlace caído.1– enlace activo (solo PHY, la pila IP aún no está lista).2– en transición.3– enlace activo y la pila IP ha terminado de activar la interfaz.
- ifconfig(config: Tuple[str, str, str, str] | None = None) Tuple[str, str, str, str] | None¶
Obtiene o establece los parámetros de la interfaz IPv4 como una tupla de 4 elementos
(ip, subnet, gateway, dns)de cadenas en notación decimal con puntos.Nota
Para código nuevo, es preferible
ipconfig():nic.ipconfig(addr4="192.168.0.4/24", gw4="192.168.0.1") network.ipconfig(dns="8.8.8.8")
- ipconfig(param: str) Any¶
- ipconfig(**kwargs: Any) None
Obtiene o establece los parámetros de interfaz IPv4 / IPv6. Se comporta igual que
AbstractNIC.ipconfig()– consulta ese método para ver la lista completa de nombres de parámetros admitidos (dhcp4,addr4,gw4,autoconf6,addr6, …).
- config(param: str) Any¶
- config(**kwargs: Any) None
Obtiene o establece parámetros de interfaz específicos de Ethernet.
Con un único argumento posicional de tipo cadena, devuelve el valor de ese parámetro:
"mac"– la dirección MAC de la interfaz como un objetobytesde 6 bytes.
Con argumentos de palabra clave, establece uno o más parámetros:
trace=<int>– habilita el rastreo de lwIP. Campo de bits:2rastrea TX,4rastrea RX,8habilita el rastreo completo.low_power=<bool>– habilita o deshabilita el modo de bajo consumo IEEE 802.3az (Energy Efficient Ethernet) del PHY.
Constantes¶
- PHY_LAN8742: int¶
PHY Ethernet Microchip LAN8742A 10/100. Solo puerto STM32; predeterminado en la OpenMV Cam N6 y la Arduino Portenta H7.
- PHY_LAN8720: int¶
PHY Ethernet Microchip LAN8720 10/100. Disponible tanto en los puertos STM32 como mimxrt.
- PHY_DP83848: int¶
PHY Ethernet Texas Instruments DP83848 10/100. Disponible tanto en los puertos STM32 como mimxrt.
- PHY_DP83825: int¶
PHY Ethernet Texas Instruments DP83825 10/100. Disponible tanto en los puertos STM32 como mimxrt.
- PHY_KSZ8081: int¶
PHY Ethernet Microchip KSZ8081 10/100. Solo puerto mimxrt; predeterminado en la OpenMV Cam RT1062.