class LAN – styr ett Ethernet-gränssnitt¶
LAN-klassen driver mikrokontrollerns inbyggda Ethernet-MAC mot en extern RMII-PHY. PHY-typen, MDIO-adressen och stiftkonfigurationen är alla kortspecifika; rimliga standardvärden är inbakade i varje OpenMV-kort så att konstruktorn normalt inte tar några argument.
Tillgänglig på:
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.
Exempel på användning:
import network
nic = network.LAN()
nic.active(True)
while not nic.isconnected():
pass
print(nic.ipconfig("addr4"))
Konstruktorer¶
- class network.LAN(id: int = 0, *, phy_type: int | None = None, phy_addr: int | None = None, ref_clk_mode: int | None = None) None¶
Konstruera ett
LAN-gränssnittsobjekt. Alla argument efteridär endast nyckelordsargument.idväljer Ethernet-porten på kort som exponerar fler än en (mimxrt-port:0= ENET,1= ENET_1). Ignoreras på STM32-kort, som endast har en enda MAC.phy_typeväljer PHY-drivrutinen (en avPHY_*-konstanterna nedan). SkickaNone(standardvärdet) för att använda den PHY som är kopplad på OpenMV-kortet.phy_addrär PHY:ns MDIO-adress på hanteringsbussen. SkickaNone(standardvärdet) för att använda kortets kopplade värde.ref_clk_mode(endast mimxrt) väljer om RMII-referensklockan drivs av MAC:en (OUT) eller av PHY:n (IN). Ignoreras på STM32-kort.Metoder¶
- active(is_active: bool | None = None) bool¶
Aktivera eller inaktivera Ethernet-MAC:en.
Utan argument returneras PHY:ns aktuella länkstatus som ett sant/falskt heltal – se
status()för hela uppsättningen av kodade värden.active(True)startar MAC:en och PHY:n, sätter igång autoförhandlingen och aktiverar lwIP-netif:en. Att länken kommer upp kan ta ett ögonblick att slutföra – pollarisconnected()om du behöver blockera tills länken är helt klar. Alla andra metoder (ipconfig(),config(), …) kräver att gränssnittet är aktivt.active(False)stoppar MAC:en och river ned netif:en.
- isconnected() bool¶
Returnera
Truenär PHY:n har förhandlat fram en uppe länk och gränssnittet är i fullt uppe-tillståndet (länkstatusvärdet3).
- status() int¶
Returnera PHY:ns råa länkstatus som ett heltal:
0– länken nere.1– länken uppe (endast PHY, IP-stacken är inte klar ännu).2– under övergång.3– länken uppe och IP-stacken har slutfört aktiveringen av gränssnittet.
- ifconfig(config: Tuple[str, str, str, str] | None = None) Tuple[str, str, str, str] | None¶
Hämta eller ange IPv4-gränssnittsparametrar som en 4-tupel av punktnoterade strängar
(ip, subnet, gateway, dns).Anteckning
Föredra
ipconfig()för ny kod: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
Hämta eller ange IPv4-/IPv6-gränssnittsparametrar. Beter sig på samma sätt som
AbstractNIC.ipconfig()– se den metoden för den fullständiga listan över parameternamn som stöds (dhcp4,addr4,gw4,autoconf6,addr6, …).
- config(param: str) Any¶
- config(**kwargs: Any) None
Hämta eller ange Ethernet-specifika gränssnittsparametrar.
Med ett enda positionellt strängargument returneras värdet för den parametern:
"mac"– gränssnittets MAC-adress som ett 6-bytebytes-objekt.
Med nyckelordsargument anges en eller flera parametrar:
trace=<int>– aktivera lwIP-spårning. Bitfält:2spårar TX,4spårar RX,8aktiverar fullständig spårning.low_power=<bool>– aktivera eller inaktivera PHY:ns lågeffektläge enligt IEEE 802.3az (Energy Efficient Ethernet).
Konstanter¶
- PHY_LAN8742: int¶
Microchip LAN8742A 10/100 Ethernet-PHY. Endast STM32-port; standard på OpenMV Cam N6 och Arduino Portenta H7.
- PHY_LAN8720: int¶
Microchip LAN8720 10/100 Ethernet-PHY. Tillgänglig på både STM32- och mimxrt-portar.
- PHY_DP83848: int¶
Texas Instruments DP83848 10/100 Ethernet-PHY. Tillgänglig på både STM32- och mimxrt-portar.
- PHY_DP83825: int¶
Texas Instruments DP83825 10/100 Ethernet-PHY. Tillgänglig på både STM32- och mimxrt-portar.