class LAN – upravljanje Ethernet sučeljem¶
Klasa LAN upravlja Ethernet MAC-om ugrađenim u čip MCU-a u kombinaciji s vanjskim RMII PHY-jem. Tip PHY-ja, MDIO adresa i raspored pinova ovise o ploči; razumne zadane vrijednosti ugrađene su u svaku OpenMV ploču pa konstruktor obično ne prima argumente.
Dostupno na:
OpenMV Cam N6 (STM32 port) – zadani PHY
PHY_LAN8742.Arduino Portenta H7 (STM32 port) – zadani PHY
PHY_LAN8742.OpenMV Cam RT1062 (mimxrt port) – zadani PHY
PHY_KSZ8081.
Primjer upotrebe:
import network
nic = network.LAN()
nic.active(True)
while not nic.isconnected():
pass
print(nic.ipconfig("addr4"))
Konstruktori¶
- class network.LAN(id: int = 0, *, phy_type: int | None = None, phy_addr: int | None = None, ref_clk_mode: int | None = None) None¶
Konstruira objekt
LANsučelja. Svi argumenti nakonidsmiju se zadati samo kao ključne riječi.idodabire Ethernet port na pločama koje ih izlažu više od jednog (mimxrt port:0= ENET,1= ENET_1). Zanemaruje se na STM32 pločama koje imaju samo jedan MAC.phy_typeodabire PHY upravljački program (jednu od konstantiPHY_*u nastavku). ProslijediteNone(zadano) za korištenje PHY-ja ožičenog na OpenMV ploči.phy_addrje MDIO adresa PHY-ja na upravljačkoj sabirnici. ProslijediteNone(zadano) za korištenje vrijednosti ožičene na ploči.ref_clk_mode(samo mimxrt) odabire upravlja li RMII referentnim taktom MAC (OUT) ili PHY (IN). Zanemaruje se na STM32 pločama.Metode¶
- active(is_active: bool | None = None) bool¶
Aktivira ili deaktivira Ethernet MAC.
Bez argumenta vraća trenutni status PHY veze kao istinit/lažan cijeli broj – pogledajte
status()za potpuni skup kodiranih vrijednosti.active(True)pokreće MAC i PHY, započinje automatsko pregovaranje i podiže lwIP netif. Samo uspostavljanje veze može potrajati trenutak – ispitujteisconnected()ako trebate blokirati dok veza ne bude potpuno spremna. Sve ostale metode (ipconfig(),config(), …) zahtijevaju da sučelje bude aktivno.active(False)zaustavlja MAC i ruši netif.
- isconnected() bool¶
Vraća
Truekada je PHY ispregovarao uspostavljenu vezu i sučelje je u potpuno podignutom stanju (vrijednost statusa veze3).
- status() int¶
Vraća sirovi status PHY veze kao cijeli broj:
0– veza prekinuta.1– veza uspostavljena (samo PHY, IP stog još nije spreman).2– u prijelazu.3– veza uspostavljena i IP stog je dovršio podizanje sučelja.
- ifconfig(config: Tuple[str, str, str, str] | None = None) Tuple[str, str, str, str] | None¶
Dohvaća ili postavlja parametre IPv4 sučelja kao 4-torku nizova
(ip, subnet, gateway, dns)u obliku četiriju brojeva odvojenih točkama.Napomena
Za novi kod preferirajte
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
Dohvaća ili postavlja parametre IPv4 / IPv6 sučelja. Ponaša se jednako kao
AbstractNIC.ipconfig()– pogledajte tu metodu za potpuni popis podržanih naziva parametara (dhcp4,addr4,gw4,autoconf6,addr6, …).
- config(param: str) Any¶
- config(**kwargs: Any) None
Dohvaća ili postavlja parametre sučelja specifične za Ethernet.
S jednim pozicijskim argumentom u obliku niza vraća vrijednost tog parametra:
"mac"– MAC adresa sučelja kao 6-bajtni objektbytes.
S argumentima u obliku ključnih riječi postavlja jedan ili više parametara:
trace=<int>– omogućuje praćenje lwIP-a. Polje bitova:2prati TX,4prati RX,8omogućuje potpuno praćenje.low_power=<bool>– omogućuje ili onemogućuje PHY-jev IEEE 802.3az (Energy Efficient Ethernet) način rada s niskom potrošnjom.
Konstante¶
- PHY_LAN8742: int¶
Microchip LAN8742A 10/100 Ethernet PHY. Samo STM32 port; zadano na OpenMV Cam N6 i Arduino Portenta H7.
- PHY_DP83848: int¶
Texas Instruments DP83848 10/100 Ethernet PHY. Dostupno na STM32 i mimxrt portovima.
- PHY_DP83825: int¶
Texas Instruments DP83825 10/100 Ethernet PHY. Dostupno na STM32 i mimxrt portovima.
- PHY_KSZ8081: int¶
Microchip KSZ8081 10/100 Ethernet PHY. Samo mimxrt port; zadano na OpenMV Cam RT1062.