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

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

クラス WLANWiPy -- WiPy 固有の WiFi 制御

注釈

このクラスは WiPy 用に実装した非標準の WLAN です。WiPy 上では単に network.WLAN として利用できますが、より一般的な network.WLAN クラスと区別するために、以下のドキュメントでは network.WLANWiPy と表記しています。

このクラスは WiPy の WiFi ネットワークプロセッサ用のドライバを提供します。使用例:

import network
import time
# ステーションとして設定
wlan = network.WLAN(mode=WLAN.STA)
wlan.connect('your-ssid', auth=(WLAN.WPA2, 'your-key'))
while not wlan.isconnected():
    time.sleep_ms(50)
print(wlan.ipconfig("addr4"))

# これで通常どおりソケットを使えます
...

コンストラクタ

class network.WLANWiPy(id=0, ...)

WLAN オブジェクトを作成し、必要に応じて設定します。設定のパラメータについては init() を参照してください。

注釈

WLAN のコンストラクタは特別で、id 以外の引数を与えなかった場合は、既存の WLAN インスタンスを再設定せずにそのまま返します。これは WLAN が WiPy のシステム機能だからです。既存のインスタンスが初期化されていない場合は、他のコンストラクタと同じようにデフォルト値で初期化します。

メソッド

WLANWiPy.init(mode, *, ssid, auth, channel, antenna)

WiFi ネットワークプロセッサの設定を行うか取得します。

引数は次のとおりです:

  • mode は WLAN.STA か WLAN.AP のいずれかです。

  • ssid は ssid の名前を表す文字列です。mode が WLAN.AP のときだけ必要です。

  • auth は (sec, key) のタプルです。セキュリティは None 、 WLAN.WEP 、 WLAN.WPA 、 WLAN.WPA2 のいずれかです。key はネットワークのパスワードを表す文字列です。 sec が WLAN.WEP の場合、key は16進の値を表す文字列(例: 'ABC1DE45BF')でなければなりません。mode が WLAN.AP のときだけ必要です。

  • channel は 1〜11 の範囲の数値です。mode が WLAN.AP のときだけ必要です。

  • antenna は内蔵アンテナと外付けアンテナを選択します。 WLAN.INT_ANT か WLAN.EXT_ANT のいずれかです。

たとえば、次のようにできます:

# アクセスポイントとして作成・設定
wlan.init(mode=WLAN.AP, ssid='wipy-wlan', auth=(WLAN.WPA2,'www.wipy.io'), channel=7, antenna=WLAN.INT_ANT)

または:

# ステーションとして設定
wlan.init(mode=WLAN.STA)
WLANWiPy.connect(ssid, *, auth=None, bssid=None, timeout=None)

指定した SSID とその他のセキュリティのパラメータを使って、WiFi のアクセスポイントに接続します。

  • auth は (sec, key) のタプルです。セキュリティは None 、 WLAN.WEP 、 WLAN.WPA 、 WLAN.WPA2 のいずれかです。key はネットワークのパスワードを表す文字列です。 sec が WLAN.WEP の場合、key は16進の値を表す文字列(例: 'ABC1DE45BF')でなければなりません。

  • bssid は接続先の AP の MAC アドレスです。同じ ssid の AP が複数ある場合に便利です。

  • timeout は接続が成功するのを待つ最大時間をミリ秒で指定します。

WLANWiPy.scan()

ネットワークのスキャンを行い、(ssid, bssid, sec, channel, rssi) の名前付きタプルのリストを返します。channel は WiPy がこの情報を提供しないため、常に None になる点に注意してください。

WLANWiPy.disconnect()

WiFi のアクセスポイントから切断します。

WLANWiPy.isconnected()

STA モードの場合、WiFi のアクセスポイントに接続されていて有効な IP アドレスを持っていれば True を返します。AP モードの場合、ステーションが接続されていれば True を、そうでなければ False を返します。

WLANWiPy.ipconfig('param')
WLANWiPy.ipconfig(param=value, ...)

AbstractNIC.ipconfig を参照してください。サポートされるパラメータは dhcp4 、 addr4 、 gw4 です。

WLANWiPy.mode([mode])

WLAN のモードを取得または設定します。

WLANWiPy.ssid([ssid])

AP モードのときの SSID を取得または設定します。

WLANWiPy.auth([auth])

AP モードのときの認証の種類を取得または設定します。

WLANWiPy.channel([channel])

チャネルを取得または設定します(AP モードでのみ有効です)。

WLANWiPy.antenna([antenna])

アンテナの種類(外付けか内蔵か)を取得または設定します。

WLANWiPy.mac([mac_addr])

MAC アドレスを表す長さ6バイトの bytes オブジェクトを取得または設定します。

WLANWiPy.irq(*, handler, wake)

machine.SLEEP モード中に WLAN のイベントが発生したときに実行されるコールバックを作成します。イベントは、ソケットの動作や WLAN の接続・切断によって発生します。

  • handler は IRQ が発生したときに呼び出される関数です。

  • wake は machine.SLEEP でなければなりません。

IRQ オブジェクトを返します。

定数

WLANWiPy.STA
WLANWiPy.AP

WLAN のモードを選択します

WLANWiPy.WEP
WLANWiPy.WPA
WLANWiPy.WPA2

ネットワークのセキュリティを選択します

WLANWiPy.INT_ANT
WLANWiPy.EXT_ANT

アンテナの種類を選択します