class LAN – Ethernet-rajapinnan ohjaus¶
LAN-luokka ohjaa mikro-ohjaimen sirulla olevaa Ethernet-MAC-osaa ulkoista RMII-PHY:tä vasten. PHY-tyyppi, MDIO-osoite ja nastajärjestys ovat kaikki korttikohtaisia; järkevät oletukset on sisäänrakennettu jokaiseen OpenMV-korttiin, joten konstruktori ei yleensä ota argumentteja.
Saatavilla:
OpenMV Cam N6 (STM32-portti) – oletus-PHY
PHY_LAN8742.Arduino Portenta H7 (STM32-portti) – oletus-PHY
PHY_LAN8742.OpenMV Cam RT1062 (mimxrt-portti) – oletus-PHY
PHY_KSZ8081.
Esimerkkikäyttö:
import network
nic = network.LAN()
nic.active(True)
while not nic.isconnected():
pass
print(nic.ipconfig("addr4"))
Konstruktorit¶
- class network.LAN(id: int = 0, *, phy_type: int | None = None, phy_addr: int | None = None, ref_clk_mode: int | None = None) None¶
Luo
LAN-rajapintaolio. Kaikki argumentitid-argumentin jälkeen ovat vain avainsanoina annettavia.idvalitsee Ethernet-portin korteilla, joilla niitä on useampi kuin yksi (mimxrt-portti:0= ENET,1= ENET_1). Sivuutetaan STM32-korteilla, joilla on vain yksi MAC.phy_typevalitsee PHY-ajurin (yksi alla olevistaPHY_*-vakioista). AnnaNone(oletus) käyttääksesi OpenMV-korttiin johdotettua PHY:tä.phy_addron PHY:n MDIO-osoite hallintaväylällä. AnnaNone(oletus) käyttääksesi kortin johdotettua arvoa.ref_clk_mode(vain mimxrt) valitsee, ohjaako RMII-referenssikelloa MAC (OUT) vai PHY (IN). Sivuutetaan STM32-korteilla.Metodit¶
- active(is_active: bool | None = None) bool¶
Käynnistää tai sammuttaa Ethernet-MAC-osan.
Ilman argumenttia palauttaa PHY:n nykyisen linkkitilan tosi/epätosi-tyyppisenä kokonaislukuna – katso
status()koodattujen arvojen täydellisen joukon osalta.active(True)käynnistää MAC:n ja PHY:n, aloittaa automaattineuvottelun ja nostaa lwIP-netifin ylös. Itse linkin nousu voi viedä hetken – pollaaisconnected(), jos haluat estyä, kunnes linkki on täysin valmis. Kaikki muut metodit (ipconfig(),config(), …) vaativat, että rajapinta on aktiivinen.active(False)pysäyttää MAC:n ja purkaa netifin.
- isconnected() bool¶
Palauttaa
True, kun PHY on neuvotellut linkin nousun ja rajapinta on täysin ylhäällä olevassa tilassa (linkkitilan arvo3).
- status() int¶
Palauttaa raa’an PHY:n linkkitilan kokonaislukuna:
0– linkki alhaalla.1– linkki ylhäällä (vain PHY, IP-pino ei vielä valmis).2– siirtymässä.3– linkki ylhäällä ja IP-pino on saanut rajapinnan noston valmiiksi.
- ifconfig(config: Tuple[str, str, str, str] | None = None) Tuple[str, str, str, str] | None¶
Hakee tai asettaa IPv4-rajapinnan parametrit 4-monikkona
(ip, subnet, gateway, dns)pisteneliömuotoisina merkkijonoina.Muista
Suosi
ipconfig()-metodia uudessa koodissa: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
Hakee tai asettaa IPv4 / IPv6 -rajapinnan parametrit. Toimii samoin kuin
AbstractNIC.ipconfig()– katso kyseinen metodi tuettujen parametrinimien täydellisen luettelon osalta (dhcp4,addr4,gw4,autoconf6,addr6, …).
- config(param: str) Any¶
- config(**kwargs: Any) None
Hakee tai asettaa Ethernet-kohtaiset rajapinnan parametrit.
Yksittäisellä positionaalisella merkkijonoargumentilla palauttaa kyseisen parametrin arvon:
"mac"– rajapinnan MAC-osoite 6-tavuisenabytes-oliona.
Avainsana-argumenteilla asettaa yhden tai useamman parametrin:
trace=<int>– ottaa käyttöön lwIP-jäljityksen. Bittikenttä:2jäljittää lähetyksen (TX),4jäljittää vastaanoton (RX),8ottaa käyttöön täyden jäljityksen.low_power=<bool>– ottaa käyttöön tai poistaa käytöstä PHY:n IEEE 802.3az (Energy Efficient Ethernet) -virransäästötilan.
Vakiot¶
- PHY_LAN8742: int¶
Microchip LAN8742A 10/100 Ethernet-PHY. Vain STM32-portti; oletus OpenMV Cam N6:lla ja Arduino Portenta H7:llä.
- PHY_LAN8720: int¶
Microchip LAN8720 10/100 Ethernet-PHY. Saatavilla sekä STM32- että mimxrt-porteilla.
- PHY_DP83848: int¶
Texas Instruments DP83848 10/100 Ethernet-PHY. Saatavilla sekä STM32- että mimxrt-porteilla.
- PHY_DP83825: int¶
Texas Instruments DP83825 10/100 Ethernet-PHY. Saatavilla sekä STM32- että mimxrt-porteilla.