class LAN -- kendali antarmuka Ethernet¶
Kelas LAN mengendalikan MAC Ethernet on-chip MCU terhadap PHY RMII eksternal. Jenis PHY, alamat MDIO, dan susunan pin semuanya bergantung pada board; nilai default yang masuk akal sudah tertanam di setiap board OpenMV sehingga konstruktor biasanya tidak memerlukan argumen.
Tersedia pada:
OpenMV Cam N6 (port STM32) -- PHY default
PHY_LAN8742.Arduino Portenta H7 (port STM32) -- PHY default
PHY_LAN8742.OpenMV Cam RT1062 (port mimxrt) -- PHY default
PHY_KSZ8081.
Contoh penggunaan:
import network
nic = network.LAN()
nic.active(True)
while not nic.isconnected():
pass
print(nic.ipconfig("addr4"))
Konstruktor¶
- class network.LAN(id: int = 0, *, phy_type: int | None = None, phy_addr: int | None = None, ref_clk_mode: int | None = None) None¶
Membuat objek antarmuka
LAN. Semua argumen setelahidhanya dapat digunakan sebagai kata kunci.idmemilih port Ethernet pada board yang memiliki lebih dari satu (port mimxrt:0= ENET,1= ENET_1). Diabaikan pada board STM32 yang hanya memiliki satu MAC.phy_typememilih driver PHY (salah satu dari konstantaPHY_*di bawah). BerikanNone(default) untuk menggunakan PHY yang terhubung ke board OpenMV.phy_addradalah alamat MDIO dari PHY pada bus manajemen. BerikanNone(default) untuk menggunakan nilai yang sudah terhubung ke board.ref_clk_mode(khusus mimxrt) memilih apakah clock referensi RMII dikendalikan oleh MAC (OUT) atau oleh PHY (IN). Diabaikan pada board STM32.Metode¶
- active(is_active: bool | None = None) bool¶
Menghidupkan atau mematikan MAC Ethernet.
Tanpa argumen, mengembalikan status link PHY saat ini sebagai bilangan bulat truthy/falsy -- lihat
status()untuk kumpulan nilai yang dikodekan secara lengkap.active(True)memulai MAC dan PHY, memulai auto-negotiation, dan menghidupkan netif lwIP. Link-up itu sendiri mungkin memerlukan waktu sebentar -- pollingisconnected()jika Anda perlu memblokir sampai link benar-benar siap. Semua metode lain (ipconfig(),config(), ...) mengharuskan antarmuka dalam keadaan aktif.active(False)menghentikan MAC dan meruntuhkan netif.
- isconnected() bool¶
Mengembalikan
Trueketika PHY telah bernegosiasi link-up dan antarmuka berada dalam status fully-up (nilai status link3).
- status() int¶
Mengembalikan status link PHY mentah sebagai bilangan bulat:
0-- link down.1-- link up (PHY saja, tumpukan IP belum siap).2-- dalam proses transisi.3-- link up dan tumpukan IP telah selesai menghidupkan antarmuka.
- ifconfig(config: Tuple[str, str, str, str] | None = None) Tuple[str, str, str, str] | None¶
Mendapatkan atau mengatur parameter antarmuka IPv4 sebagai 4-tuple berisi string dotted-quad
(ip, subnet, gateway, dns).Catatan
Utamakan
ipconfig()untuk kode baru: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
Mendapatkan atau mengatur parameter antarmuka IPv4 / IPv6. Berperilaku sama seperti
AbstractNIC.ipconfig()-- lihat metode tersebut untuk daftar lengkap nama parameter yang didukung (dhcp4,addr4,gw4,autoconf6,addr6, ...).
- config(param: str) Any¶
- config(**kwargs: Any) None
Mendapatkan atau mengatur parameter antarmuka khusus Ethernet.
Dengan satu argumen string posisional, mengembalikan nilai parameter tersebut:
"mac"-- alamat MAC antarmuka sebagai objekbytes6-byte.
Dengan argumen kata kunci, mengatur satu atau beberapa parameter:
trace=<int>-- mengaktifkan tracing lwIP. Bidang bit:2melacak TX,4melacak RX,8mengaktifkan tracing penuh.low_power=<bool>-- mengaktifkan atau menonaktifkan mode daya rendah IEEE 802.3az (Energy Efficient Ethernet) pada PHY.
Konstanta¶
- PHY_LAN8742: int¶
Microchip LAN8742A PHY Ethernet 10/100. Khusus port STM32; default pada OpenMV Cam N6 dan Arduino Portenta H7.
- PHY_KSZ8081: int¶
Microchip KSZ8081 PHY Ethernet 10/100. Khusus port mimxrt; default pada OpenMV Cam RT1062.