クラス WLAN -- 組込み WiFi インタフェースの制御¶
このクラスは WiFi ネットワークプロセッサー用のドライバーを提供します。たとえば次のように使います:
import network
# ステーションインタフェースを有効にし、WiFi アクセスポイントに接続
nic = network.WLAN(network.STA_IF)
nic.active(True)
nic.connect('your-ssid', 'your-password')
# これで通常どおりソケットを使えるようになる
コンストラクタ¶
-
class
network.
WLAN
(interface_id)¶
WLAN ネットワークインタフェースオブジェクトを作成します。サポートされているインタフェースは network.STA_IF
(ステーション、別名クライアント、上流のWiFiアクセスポイントに接続します)と network.AP_IF
(アクセスポイント、他の WiFi クライアントが接続できるようにする)です。以下のメソッドを利用できるかどうかは、インターフェイスの種類によって異なります。たとえば、STA インタフェースのみが WLAN.connect() でアクセスポイントに接続できます。
メソッド¶
-
WLAN.
active
([is_active])¶ ブール型の引数が渡された場合、ネットワークインタフェースを有効化("up")または無効化("down")します。引数が与えられていなければ現在の状態を問い合わせます。他のほとんどのメソッドは有効化したインターフェースを必要とします。
-
WLAN.
connect
(ssid=None, password=None, *, bssid=None)¶ 指定されたパスワードを使用して、指定されたワイヤレスネットワークに接続します。 bssid が与えられると、接続はそのMACアドレスのアクセスポイントに制限されます(この場合でも ssid は指定する必要があります)。
-
WLAN.
disconnect
()¶ 現在接続している無線ネットワークから切断します。
-
WLAN.
scan
()¶ 利用可能な無線ネットワークをスキャンします。
スキャンは STA インターフェイスでのみ可能です。戻り値は WiFi アクセスポイントに関する情報を含むタプルのリストです。
(ssid, bssid, channel, RSSI, authmode, hidden)bssid はアクセスポイントのハードウェアアドレスで、バイナリ形式です。これは bytes 型オブジェクトとして返されます。 ubinascii.hexlify() を使えば ASCII 形式に変換できます。
authmode には5つの値があります:
- 0 -- open
- 1 -- WEP
- 2 -- WPA-PSK
- 3 -- WPA2-PSK
- 4 -- WPA/WPA2-PSK
hidden には2つの値があります:
- 0 -- 可視"
- 1 -- 不可視
-
WLAN.
status
([param])¶ 無線接続の現在のステータスを返します。
引数なしで呼び出された場合、戻り値はネットワークリンクステータスを表します。戻されるステータスは定数として定義されています:
STAT_IDLE
-- 無接続、無アクティビティSTAT_CONNECTING
-- 接続中STAT_WRONG_PASSWORD
-- パスワード不正により失敗STAT_NO_AP_FOUND
-- アクセスポイントが応答しないため失敗STAT_CONNECT_FAIL
-- その他の問題により失敗STAT_GOT_IP
-- 接続成功
1つの引数 param を指定して呼び出された場合、 param は取得するステータスパラメータの名前を表す文字列にする必要があります。WiFi STA モードでサポートされているパラメータは
'rssi'
です。
-
WLAN.
isconnected
()¶ STA モードの場合、WiFi アクセスポイントに接続されていて有効なIPアドレスを持っていれば
True
を返します。AP モードの場合、ステーションが接続されていればTrue
を返します。これら以外ではFalse
を返します。
-
WLAN.
ifconfig
([(ip, subnet, gateway, dns)])¶ IP レベルのネットワークインターフェースパラメータ(IPアドレス、サブネットマスク、ゲートウェイ、DNSサーバー)を取得/設定します。引数なしで呼び出されると、このメソッドは上記の情報を含む4タプルを返します。上記の値を設定するには、必要な情報を含む4項目のタプルを渡します。例えば次のように設定します:
nic.ifconfig(('192.168.0.4', '255.255.255.0', '192.168.0.1', '8.8.8.8'))
-
WLAN.
config
('param')¶ -
WLAN.
config
(param=value, ...) 一般的なネットワークインターフェースパラメータを取得または設定します。これらのメソッドは、(WLAN.ifconfig() で扱われるように)標準の IP 設定以外の追加のパラメータを扱うことを可能にします 。これらには、ネットワーク固有およびハードウェア固有のパラメータが含まれています。パラメータを設定するには、キーワード引数の構文を使用する必要があり、複数のパラメータを一度に設定できます。問合せを実行する場合、パラメータ名は文字列として引用符で囲みます。一度に問合せできるパラメータは1つだけです。
# WiFi アクセスポイント名(正式には ESSID と呼ばれている)と WiFi チャンネルを設定 ap.config(essid='My AP', channel=11) # 一つずつパラメータを問合せ print(ap.config('essid')) print(ap.config('channel'))
以下は一般的にサポートされているパラメータです(特定のパラメータが使用可能かどうかは、ネットワーク技術の種類、ドライバー、 MicroPython ポート によって異なります)。
パラメータ 説明 mac MAC アドレス(bytes 型オブジェクト) essid WiFi アクセスポイント名(文字列) channel WiFi チャンネル(整数) hidden ESSID が非表示かどうか(ブール型) authmode サポートされている認証モード(列挙値、モジュール定数を参照) password アクセスパスワード(文字列) dhcp_hostname 使用する DHCP ホスト名 reconnects 再接続を試みる回数(整数値、0=再接続なし、-1=無制限)