クラス LAN -- イーサネットモジュールの制御¶
このクラスは、イーサネットインターフェースを制御できます。PHY ハードウェア種別はボードに依存します。
使用例:
import network
nic = network.LAN(0)
print(nic.ipconfig("addr4"))
# ここから普通にソケットを利用
...
コンストラクタ¶
- class network.LAN(id, *, phy_type=<board_default>, phy_addr=<board_default>, ref_clk_mode=<board_default>)¶
LAN ドライバオブジェクトを生成し、指定した PHY ドライバ名で LAN モジュールを初期化し、LAN オブジェクトを返します。
引数は次のとおりです:
id は Ethernet ポートの番号です。0 または 1 のいずれかを指定します。
phy_type は、PHY ドライバの名前です。ほとんどのボードでは、オンボードの PHY を使う必要があり、これがデフォルトになります。適切な値は、ポートに依存します。
phy_addr は、PHY インタフェースのアドレスを指定します。 phy_type と同様に、ほとんどのボードでは、ハードワイヤード値を使わなければならず、その値がデフォルトになります。
ref_clk_mode は、データクロックをイーサネットコントローラと PYH インタフェースのどちらから供給するかを指定します。デフォルト値は、ボードにマッチしたものです。
LAN.OUT
またはPin.OUT
またはTrue
に設定すると、クロックはイーサネットコントローラから駆動され、LAN.IN
またはPin.IN
またはFalse
に設定すると、クロックは PHY インターフェイスから駆動されます。
たとえば、Seeed Arch Mix ボードでは次のように使います:
nic = LAN(0, phy_type=LAN.PHY_LAN8720, phy_addr=1, ref_clk_mode=Pin.IN)
メソッド¶
- 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
のいずれかです。