class LAN – controllo di un’interfaccia Ethernet¶
La classe LAN pilota il MAC Ethernet integrato nel MCU contro un PHY RMII esterno. Il tipo di PHY, l’indirizzo MDIO e la piedinatura sono tutti specifici della scheda; valori predefiniti sensati sono incorporati in ogni scheda OpenMV, quindi il costruttore normalmente non richiede argomenti.
Disponibile su:
OpenMV Cam N6 (porta STM32) – PHY predefinito
PHY_LAN8742.Arduino Portenta H7 (porta STM32) – PHY predefinito
PHY_LAN8742.OpenMV Cam RT1062 (porta mimxrt) – PHY predefinito
PHY_KSZ8081.
Esempio di utilizzo:
import network
nic = network.LAN()
nic.active(True)
while not nic.isconnected():
pass
print(nic.ipconfig("addr4"))
Costruttori¶
- class network.LAN(id: int = 0, *, phy_type: int | None = None, phy_addr: int | None = None, ref_clk_mode: int | None = None) None¶
Costruisce un oggetto interfaccia
LAN. Tutti gli argomenti dopoidsono solo keyword.idseleziona la porta Ethernet sulle schede che ne espongono più di una (porta mimxrt:0= ENET,1= ENET_1). Ignorato sulle schede STM32, che hanno un solo MAC.phy_typeseleziona il driver PHY (una delle costantiPHY_*qui sotto). PassaNone(il valore predefinito) per usare il PHY cablato sulla scheda OpenMV.phy_addrè l’indirizzo MDIO del PHY sul bus di gestione. PassaNone(il valore predefinito) per usare il valore cablato della scheda.ref_clk_mode(solo mimxrt) seleziona se il clock di riferimento RMII è pilotato dal MAC (OUT) o dal PHY (IN). Ignorato sulle schede STM32.Metodi¶
- active(is_active: bool | None = None) bool¶
Attiva o disattiva il MAC Ethernet.
Senza argomenti, restituisce lo stato attuale del collegamento PHY come intero truthy/falsy – vedi
status()per l’insieme completo dei valori codificati.active(True)avvia il MAC e il PHY, dà il via all’auto-negoziazione e attiva il netif lwIP. Il collegamento vero e proprio può impiegare un istante a completarsi – esegui il polling diisconnected()se devi bloccarti finché il collegamento non è completamente pronto. Tutti gli altri metodi (ipconfig(),config(), …) richiedono che l’interfaccia sia attiva.active(False)arresta il MAC e smonta il netif.
- isconnected() bool¶
Restituisce
Truequando il PHY ha negoziato il collegamento e l’interfaccia è nello stato completamente attivo (valore di stato del collegamento3).
- status() int¶
Restituisce lo stato grezzo del collegamento PHY come intero:
0– collegamento inattivo.1– collegamento attivo (solo PHY, stack IP non ancora pronto).2– in transizione.3– collegamento attivo e lo stack IP ha terminato di attivare l’interfaccia.
- ifconfig(config: Tuple[str, str, str, str] | None = None) Tuple[str, str, str, str] | None¶
Ottiene o imposta i parametri IPv4 dell’interfaccia come una tupla di 4 elementi di stringhe in notazione puntata
(ip, subnet, gateway, dns).Nota
Per il nuovo codice è preferibile
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
Ottiene o imposta i parametri IPv4 / IPv6 dell’interfaccia. Si comporta come
AbstractNIC.ipconfig()– vedi quel metodo per l’elenco completo dei nomi di parametro supportati (dhcp4,addr4,gw4,autoconf6,addr6, …).
- config(param: str) Any¶
- config(**kwargs: Any) None
Ottiene o imposta i parametri dell’interfaccia specifici di Ethernet.
Con un singolo argomento posizionale di tipo stringa, restituisce il valore di quel parametro:
"mac"– l’indirizzo MAC dell’interfaccia come oggettobytesdi 6 byte.
Con argomenti keyword, imposta uno o più parametri:
trace=<int>– abilita il tracciamento lwIP. Campo di bit:2traccia la TX,4traccia la RX,8abilita il tracciamento completo.low_power=<bool>– abilita o disabilita la modalità a basso consumo IEEE 802.3az (Energy Efficient Ethernet) del PHY.
Costanti¶
- PHY_LAN8742: int¶
PHY Ethernet 10/100 Microchip LAN8742A. Solo porta STM32; predefinito su OpenMV Cam N6 e Arduino Portenta H7.
- PHY_LAN8720: int¶
PHY Ethernet 10/100 Microchip LAN8720. Disponibile sia sulla porta STM32 che mimxrt.
- PHY_DP83848: int¶
PHY Ethernet 10/100 Texas Instruments DP83848. Disponibile sia sulla porta STM32 che mimxrt.
- PHY_DP83825: int¶
PHY Ethernet 10/100 Texas Instruments DP83825. Disponibile sia sulla porta STM32 che mimxrt.
- PHY_KSZ8081: int¶
PHY Ethernet 10/100 Microchip KSZ8081. Solo porta mimxrt; predefinito su OpenMV Cam RT1062.