class LAN – bir Ethernet arayüzünü kontrol etme¶
LAN sınıfı, MCU’nun çip üzerindeki Ethernet MAC’ini harici bir RMII PHY’ye karşı sürer. PHY türü, MDIO adresi ve pin düzeni tamamen karta özeldir; her OpenMV kartında makul varsayılanlar yerleşik olarak bulunur, böylece kurucu normalde argüman almaz.
Şu kartlarda kullanılabilir:
OpenMV Cam N6 (STM32 portu) – varsayılan PHY
PHY_LAN8742.Arduino Portenta H7 (STM32 portu) – varsayılan PHY
PHY_LAN8742.OpenMV Cam RT1062 (mimxrt portu) – varsayılan PHY
PHY_KSZ8081.
Örnek kullanım:
import network
nic = network.LAN()
nic.active(True)
while not nic.isconnected():
pass
print(nic.ipconfig("addr4"))
Kurucular¶
- class network.LAN(id: int = 0, *, phy_type: int | None = None, phy_addr: int | None = None, ref_clk_mode: int | None = None) None¶
Bir
LANarayüz nesnesi oluşturur.idsonrasındaki tüm argümanlar yalnızca anahtar sözcüktür.id, birden fazla Ethernet portu sunan kartlarda portu seçer (mimxrt portu:0= ENET,1= ENET_1). Yalnızca tek bir MAC’e sahip olan STM32 kartlarında yok sayılır.phy_typePHY sürücüsünü seçer (aşağıdakiPHY_*sabitlerinden biri). OpenMV kartına kablolanmış PHY’yi kullanmak içinNone(varsayılan) geçirin.phy_addr, PHY’nin yönetim veri yolundaki MDIO adresidir. Kartın kablolanmış değerini kullanmak içinNone(varsayılan) geçirin.ref_clk_mode(yalnızca mimxrt), RMII referans saatinin MAC tarafından mı (OUT) yoksa PHY tarafından mı (IN) sürüleceğini seçer. STM32 kartlarında yok sayılır.Yöntemler¶
- active(is_active: bool | None = None) bool¶
Ethernet MAC’i açar veya kapatır.
Argüman olmadan, geçerli PHY bağlantı durumunu doğru/yanlış (truthy/falsy) bir tam sayı olarak döndürür – kodlanmış değerlerin tam kümesi için
status()bölümüne bakın.active(True), MAC ve PHY’yi başlatır, otomatik anlaşmayı (auto-negotiation) tetikler ve lwIP netif’ini açar. Bağlantının kurulması biraz zaman alabilir – bağlantı tamamen hazır olana kadar bloke olmanız gerekiyorsaisconnected()ile yoklama yapın. Diğer tüm yöntemler (ipconfig(),config(), …) arayüzün etkin olmasını gerektirir.active(False), MAC’i durdurur ve netif’i sökerek kapatır.
- isconnected() bool¶
PHY bağlantı kurulumunu (link-up) görüştüğünde ve arayüz tamamen açık durumdayken (bağlantı durumu değeri
3)Truedöndürür.
- status() int¶
Ham PHY bağlantı durumunu bir tam sayı olarak döndürür:
0– bağlantı kapalı.1– bağlantı açık (yalnızca PHY, IP yığını henüz hazır değil).2– geçiş halinde.3– bağlantı açık ve IP yığını arayüzü açma işlemini tamamladı.
- ifconfig(config: Tuple[str, str, str, str] | None = None) Tuple[str, str, str, str] | None¶
IPv4 arayüz parametrelerini
(ip, subnet, gateway, dns)noktalı-dörtlü dizelerden oluşan bir 4’lü demet olarak alır veya ayarlar.Not
Yeni kod için
ipconfig()yöntemini tercih edin: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
IPv4 / IPv6 arayüz parametrelerini alır veya ayarlar.
AbstractNIC.ipconfig()ile aynı şekilde davranır – desteklenen parametre adlarının tam listesi (dhcp4,addr4,gw4,autoconf6,addr6, …) için o yönteme bakın.
- config(param: str) Any¶
- config(**kwargs: Any) None
Ethernet’e özgü arayüz parametrelerini alır veya ayarlar.
Tek bir konumsal dize argümanıyla, o parametrenin değerini döndürür:
"mac"– arayüz MAC adresi, 6 baytlık birbytesnesnesi olarak.
Anahtar sözcük argümanlarıyla, bir veya daha fazla parametreyi ayarlar:
trace=<int>– lwIP izlemeyi etkinleştirir. Bit alanı:2TX’i izler,4RX’i izler,8tam izlemeyi etkinleştirir.low_power=<bool>– PHY’nin IEEE 802.3az (Energy Efficient Ethernet) düşük güç modunu etkinleştirir veya devre dışı bırakır.
Sabitler¶
- PHY_LAN8742: int¶
Microchip LAN8742A 10/100 Ethernet PHY. Yalnızca STM32 portu; OpenMV Cam N6 ve Arduino Portenta H7’de varsayılan.
- PHY_LAN8720: int¶
Microchip LAN8720 10/100 Ethernet PHY. Hem STM32 hem de mimxrt portlarında kullanılabilir.
- PHY_DP83848: int¶
Texas Instruments DP83848 10/100 Ethernet PHY. Hem STM32 hem de mimxrt portlarında kullanılabilir.
- PHY_DP83825: int¶
Texas Instruments DP83825 10/100 Ethernet PHY. Hem STM32 hem de mimxrt portlarında kullanılabilir.
- PHY_KSZ8081: int¶
Microchip KSZ8081 10/100 Ethernet PHY. Yalnızca mimxrt portu; OpenMV Cam RT1062’de varsayılan.