クラス WLAN -- 組込み WiFi インタフェースの制御¶
このクラスは WiFi ネットワークプロセッサー用のドライバーを提供します。たとえば次のように使います:
import network
# ステーションインタフェースを有効にし、WiFi アクセスポイントに接続
nic = network.WLAN(network.STA_IF)
nic.active(True)
nic.connect('your-ssid', 'your-key')
# これで通常どおりソケットを使えるようになる
コンストラクタ¶
-
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, key=None, *, bssid=None)¶ 指定のワイヤレスネットワークに、指定のキーを使って接続します。 bssid が与えられると、接続はそのMACアドレスのアクセスポイントに制限されます(この場合でも ssid は指定する必要があります)。
-
WLAN.
disconnect
()¶ 現在接続している無線ネットワークから切断します。
-
WLAN.
scan
()¶ 利用可能な無線ネットワークをスキャンします。隠れたネットワーク(SSID がブロードキャストされていないネットワーク)も、WLAN インターフェイスで許可されていればスキャンされます。
スキャンは STA インターフェイスでのみ可能です。戻り値は WiFi アクセスポイントに関する情報を含むタプルのリストです。
(ssid, bssid, channel, RSSI, security, hidden)bssid はアクセスポイントのハードウェアアドレスで、バイナリ形式です。これは bytes 型オブジェクトとして返されます。 binascii.hexlify() を使えば ASCII 形式に変換できます。
There are five values for security:
- 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つだけです。
# Set WiFi access point name (formally known as SSID) and WiFi channel ap.config(ssid='My AP', channel=11) # Query params one by one print(ap.config('ssid')) print(ap.config('channel'))
以下は一般的にサポートされているパラメータです(特定のパラメータが使用可能かどうかは、ネットワーク技術の種類、ドライバー、 MicroPython ポート によって異なります)。
パラメータ 説明 mac MAC アドレス(bytes 型オブジェクト) ssid WiFi アクセスポイント名(文字列) channel WiFi チャンネル(整数) hidden Whether SSID is hidden (boolean) security Security protocol supported (enumeration, see module constants) key Access key (string) dhcp_hostname 使用する DHCP ホスト名 reconnects 再接続を試みる回数(整数値、0=再接続なし、-1=無制限) txpower 最大信号強度(dBm 単位で整数または浮動小数点数で指定)