class LAN -- イーサネットインターフェースの制御¶
LAN クラスは、外部の RMII PHY に対して MCU のオンチップイーサネット MAC を駆動します。PHY の種類、MDIO アドレス、ピン配置はすべてボード固有です。各 OpenMV ボードには適切なデフォルト値が組み込まれているため、コンストラクタは通常引数を取りません。
利用可能なボード:
OpenMV Cam N6(STM32 ポート)-- デフォルト PHY は
PHY_LAN8742。Arduino Portenta H7(STM32 ポート)-- デフォルト PHY は
PHY_LAN8742。OpenMV Cam RT1062(mimxrt ポート)-- デフォルト PHY は
PHY_KSZ8081。
使用例:
import network
nic = network.LAN()
nic.active(True)
while not nic.isconnected():
pass
print(nic.ipconfig("addr4"))
コンストラクタ¶
- class network.LAN(id: int = 0, *, phy_type: int | None = None, phy_addr: int | None = None, ref_clk_mode: int | None = None) None¶
LANインターフェースオブジェクトを構築します。idより後のすべての引数はキーワード専用です。idは、複数のイーサネットポートを公開するボードでポートを選択します(mimxrt ポート:0= ENET、1= ENET_1)。単一の MAC しか持たない STM32 ボードでは無視されます。phy_typeは PHY ドライバ(以下のPHY_*定数のいずれか)を選択します。None(デフォルト)を渡すと、OpenMV ボードに配線された PHY を使用します。phy_addrは管理バス上の PHY の MDIO アドレスです。None(デフォルト)を渡すと、ボードに配線された値を使用します。ref_clk_mode(mimxrt のみ)は、RMII 基準クロックを MAC が駆動するか(OUT)、PHY が駆動するか(IN)を選択します。STM32 ボードでは無視されます。メソッド¶
- active(is_active: bool | None = None) bool¶
イーサネット MAC を起動または停止します。
引数なしの場合、現在の PHY リンクステータスを真偽値として扱える整数で返します。エンコードされた値の全セットについては
status()を参照してください。active(True)は MAC と PHY を起動し、オートネゴシエーションを開始し、lwIP netif を立ち上げます。リンクアップ自体の完了には少し時間がかかる場合があります。リンクが完全に準備できるまでブロックする必要がある場合はisconnected()をポーリングしてください。他のすべてのメソッド(ipconfig()、config()など)は、インターフェースがアクティブであることを要求します。active(False)は MAC を停止し、netif を解体します。
- status() int¶
PHY の生のリンクステータスを整数として返します:
0-- リンクダウン。1-- リンクアップ(PHY のみ、IP スタックはまだ準備できていない)。2-- 遷移中。3-- リンクアップし、IP スタックがインターフェースの立ち上げを完了した状態。
- ifconfig(config: Tuple[str, str, str, str] | None = None) Tuple[str, str, str, str] | None¶
IPv4 インターフェースパラメータを、
(ip, subnet, gateway, dns)というドット区切り 4 つ組の文字列からなる 4 要素タプルとして取得または設定します。注釈
新しいコードでは
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
IPv4 / IPv6 インターフェースパラメータを取得または設定します。
AbstractNIC.ipconfig()と同じ動作です。サポートされるパラメータ名(dhcp4、addr4、gw4、autoconf6、addr6など)の完全な一覧については、そのメソッドを参照してください。
- config(param: str) Any¶
- config(**kwargs: Any) None
イーサネット固有のインターフェースパラメータを取得または設定します。
単一の位置文字列引数を指定すると、そのパラメータの値を返します:
"mac"-- インターフェースの MAC アドレスを 6 バイトのbytesオブジェクトとして。
キーワード引数を指定すると、1 つ以上のパラメータを設定します:
trace=<int>-- lwIP トレースを有効にします。ビットフィールド:2は TX をトレース、4は RX をトレース、8は完全なトレースを有効にします。low_power=<bool>-- PHY の IEEE 802.3az(Energy Efficient Ethernet)低電力モードを有効または無効にします。
定数¶