クラス LAN -- イーサネットモジュールの制御
このクラスは、イーサネットインターフェースを制御できます。PHY ハードウェア種別はボードに依存します。
内蔵の LAN サポートのあるボードでの使用例
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 は、データクロックをイーサネットコントローラと PHY インタフェースのどちらから供給するかを指定します。デフォルト値は、ボードにマッチしたものです。
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)
注釈
ESP32 ポートでは、コンストラクタに必要な引数が異なります。詳しくは ESP32 ポートのリファレンス を参照してください。
メソッド
- 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 のいずれかです。