class LAN – Steuerung einer Ethernet-Schnittstelle¶
Die LAN-Klasse steuert die im MCU integrierte Ethernet-MAC gegen einen externen RMII-PHY an. Der PHY-Typ, die MDIO-Adresse und das Pinout sind alle board-spezifisch; sinnvolle Standardwerte sind in jedes OpenMV-Board fest integriert, sodass der Konstruktor normalerweise keine Argumente benötigt.
Verfügbar auf:
OpenMV Cam N6 (STM32-Port) – Standard-PHY
PHY_LAN8742.Arduino Portenta H7 (STM32-Port) – Standard-PHY
PHY_LAN8742.OpenMV Cam RT1062 (mimxrt-Port) – Standard-PHY
PHY_KSZ8081.
Anwendungsbeispiel:
import network
nic = network.LAN()
nic.active(True)
while not nic.isconnected():
pass
print(nic.ipconfig("addr4"))
Konstruktoren¶
- class network.LAN(id: int = 0, *, phy_type: int | None = None, phy_addr: int | None = None, ref_clk_mode: int | None = None) None¶
Erzeugt ein
LAN-Schnittstellenobjekt. Alle Argumente nachidsind nur als Schlüsselwortargumente zulässig.idwählt den Ethernet-Port auf Boards aus, die mehr als einen bereitstellen (mimxrt-Port:0= ENET,1= ENET_1). Wird auf STM32-Boards ignoriert, die nur eine einzige MAC besitzen.phy_typewählt den PHY-Treiber aus (eine derPHY_*-Konstanten weiter unten). Übergeben SieNone(der Standardwert), um den auf dem OpenMV-Board verdrahteten PHY zu verwenden.phy_addrist die MDIO-Adresse des PHY auf dem Management-Bus. Übergeben SieNone(der Standardwert), um den auf dem Board verdrahteten Wert zu verwenden.ref_clk_mode(nur mimxrt) wählt aus, ob der RMII-Referenztakt von der MAC (OUT) oder vom PHY (IN) erzeugt wird. Wird auf STM32-Boards ignoriert.Methoden¶
- active(is_active: bool | None = None) bool¶
Aktiviert oder deaktiviert die Ethernet-MAC.
Ohne Argument wird der aktuelle PHY-Verbindungsstatus als wahrheitswert-ähnliche Ganzzahl zurückgegeben – siehe
status()für den vollständigen Satz codierter Werte.active(True)startet die MAC und den PHY, leitet die Auto-Negotiation ein und bringt das lwIP-netif hoch. Das eigentliche Herstellen der Verbindung kann einen Moment dauern – pollen Sieisconnected(), falls Sie blockieren müssen, bis die Verbindung vollständig bereit ist. Alle anderen Methoden (ipconfig(),config(), …) erfordern, dass die Schnittstelle aktiv ist.active(False)stoppt die MAC und baut das netif ab.
- isconnected() bool¶
Gibt
Truezurück, wenn der PHY eine Verbindung ausgehandelt hat und die Schnittstelle sich im vollständig aktiven Zustand befindet (Verbindungsstatuswert3).
- status() int¶
Gibt den rohen PHY-Verbindungsstatus als Ganzzahl zurück:
0– Verbindung getrennt.1– Verbindung hergestellt (nur PHY, IP-Stack noch nicht bereit).2– im Übergang.3– Verbindung hergestellt und der IP-Stack hat das Hochfahren der Schnittstelle abgeschlossen.
- ifconfig(config: Tuple[str, str, str, str] | None = None) Tuple[str, str, str, str] | None¶
Liest oder setzt IPv4-Schnittstellenparameter als 4-Tupel von
(ip, subnet, gateway, dns)-Strings im Dotted-Quad-Format.Bemerkung
Bevorzugen Sie
ipconfig()für neuen Code: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
Liest oder setzt IPv4-/IPv6-Schnittstellenparameter. Verhält sich genauso wie
AbstractNIC.ipconfig()– siehe diese Methode für die vollständige Liste der unterstützten Parameternamen (dhcp4,addr4,gw4,autoconf6,addr6, …).
- config(param: str) Any¶
- config(**kwargs: Any) None
Liest oder setzt Ethernet-spezifische Schnittstellenparameter.
Mit einem einzelnen positionalen String-Argument wird der Wert dieses Parameters zurückgegeben:
"mac"– die MAC-Adresse der Schnittstelle als 6-Byte-bytes-Objekt.
Mit Schlüsselwortargumenten werden ein oder mehrere Parameter gesetzt:
trace=<int>– aktiviert lwIP-Tracing. Bitfeld:2verfolgt TX,4verfolgt RX,8aktiviert vollständiges Tracing.low_power=<bool>– aktiviert oder deaktiviert den IEEE-802.3az-Niedrigenergiemodus (Energy Efficient Ethernet) des PHY.
Konstanten¶
- PHY_LAN8742: int¶
Microchip LAN8742A 10/100 Ethernet-PHY. Nur STM32-Port; Standard auf der OpenMV Cam N6 und dem Arduino Portenta H7.
- PHY_DP83848: int¶
Texas Instruments DP83848 10/100 Ethernet-PHY. Verfügbar auf STM32- und mimxrt-Ports.
- PHY_DP83825: int¶
Texas Instruments DP83825 10/100 Ethernet-PHY. Verfügbar auf STM32- und mimxrt-Ports.
- PHY_KSZ8081: int¶
Microchip KSZ8081 10/100 Ethernet-PHY. Nur mimxrt-Port; Standard auf der OpenMV Cam RT1062.