このドキュメンテーションは、MicroPython の最新開発ブランチのためのものです。 リリースバージョンでは利用できない機能に言及することがあります。

特定のリリースのドキュメントをお探しの場合は、左側のドロップダウンメニューを使って、 望みのバージョンを選択します。

クラス 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, ...)

一般的なネットワークインターフェースパラメータを取得または設定します。これらのメソッドは、(AbstractNIC.ipconfig() で扱われるように)標準の IP 設定以外の追加パラメータの扱いを可能にします。これらには、ネットワーク固有およびハードウェア固有のパラメータが含まれています。パラメータを設定するには、キーワード引数の構文を使用する必要があり、複数のパラメータを一度に設定できます。問合せを実行する場合、パラメータ名は文字列として引用符で囲みます。一度に問合せできるパラメータは1つだけです。

# WiFi アクセスポイント名(正式には SSID と呼ばれている)と WiFi チャンネルを設定
ap.config(ssid='My AP', channel=11)
# 一つずつパラメータを問合せ
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)

hostname

DHCP (STA インターフェース)および mDNS (サポートされていれば STA と AP の両方)に送信されるホスト名。(非推奨、代わりに network.hostname() を使ってください)

reconnects

再接続を試みる回数(整数値、0=再接続なし、-1=無制限)

txpower

最大信号強度(dBm 単位で整数または浮動小数点数で指定)

pm

WiFi 電力管理設定(指定できる値は後述)

定数

WLAN.PM_PERFORMANCE
WLAN.PM_POWERSAVE
WLAN.PM_NONE

WLAN.config(pm=...) ネットワークインタフェースパラメータに指定できる値:

  • PM_PERFORMANCE: WiFi の電力管理を有効にし、電力の節約と WiFi のパフォーマンスをバランスさせます。

  • PM_POWERSAVE: WiFi の電力管理を有効にし、電力節約を優先して、WiFi のパフォーマンス低下させます。

  • PM_NONE: WiFi の電力管理を無効にします。