クラス 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"))
# これで通常どおりソケットを使えます
...
コンストラクタ
注釈
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
アンテナの種類を選択します