クラス 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
のいずれかです。