クラス LAN -- イーサネットモジュールの制御

このクラスは、イーサネットインターフェースを制御できます。PHY ハードウェア種別はボードに依存します。

使用例:

import network
nic = network.LAN(0)
print(nic.ifconfig())

# ここから普通にソケットを利用
...

コンストラクタ

class network.LAN(id, *, phy_type=<board_default>, phy_addr=<board_default>, phy_clock=<board_default>)

LAN ドライバオブジェクトを生成し、指定した PHY ドライバ名で LAN モジュールを初期化し、LAN オブジェクトを返します。

引数は次のとおりです:

  • id は Ethernet ポートの番号です。0 または 1 のいずれかを指定します。
  • phy_type は、PHY ドライバの名前です。ほとんどのボードでは、オンボードの PHY を使う必要があり、これがデフォルトになります。適切な値は、ポートに依存します。
  • phy_addr は、PHY インタフェースのアドレスを指定します。 phy_type と同様に、ほとんどのボードでは、ハードワイヤード値を使わなければならず、その値がデフォルトになります。
  • phy_clock は、データクロックがイーサネットコントローラまたは PYH インタフェースのどちらから提供されるかを指定します。デフォルト値は、ボードにマッチしたものです。 True を指定すると、クロックはイーサネットコントローラから駆動され、そうでなければ PHY インターフェースから駆動されます。

たとえば、Seeed Arch Mix ボードでは次のように使います:

nic = LAN(0, phy_type=LAN.PHY_LAN8720, phy_addr=2, phy_clock=False)

メソッド

LAN.active([state])

パラメータありの場合、 state が True の場合はインタフェースを有効化し、それ以外の場合は無効化します。パラメータなしの場合は状態を返します。

LAN.isconnected()

物理的なイーサネットリンクが接続され、かつアップしている場合、 True を返します。それ以外の場合は False を返します。

LAN.status()

LAN 状態えお返します。

LAN.ifconfig([(ip, subnet, gateway, dns)])

IP アドレス、サブネットマスク、ゲートウェイ、DNS を取得・設定します。

引数なしで呼び出した場合、このメソッドは上記の情報を持つ4項目のタプルを返します。

上記の値を設定するには、必要な情報を持つ4項目のタプルを引数に渡します。たとえば次のようにします:

nic.ifconfig(('192.168.0.4', '255.255.255.0', '192.168.0.1', '8.8.8.8'))
LAN.config(config_parameters)

LAN インタフェースのパラメータを設定または取得します。取得できるパラメータは、MAC アドレスのみです。たとえば次のように使います:

mac = LAN.config("mac")

設定可能なパラメータは次のとおりです:

  • trace=n はトレースレベルを設定します:

    • 2: TX をトレース
    • 4: RX をトレース
    • 8: フルトレース
  • low_power=bool は低電力モードを設定または解除します。有効な値は False または True です。

特定の LAN クラスの実装

mimxrt ポートでは、コンストラクタの引数 phy_type に適切な値を指定します。 指定できる値は PHY_KSZ8081, PHY_DP83825, PHY_DP83848, PHY_LAN8720, PHY_RTL8211F のいずれかです。