クラス PPP -- シリアル PPP を介したネットワーク接続の作成¶
このクラスは PPP プロトコルを使ってシリアルポート経由でのネットワーク接続を作成します。これは特定のポートおよびボードでのみ利用可能です。
使用例:
import network
ppp = network.PPP(uart)
ppp.connect()
while not ppp.isconnected():
pass
print(ppp.ipconfig("addr4"))
# 通常通りソケットモジュールを使用する、など
ppp.disconnect()
コンストラクタ¶
- class network.PPP(stream)¶
PPP ドライバーオブジェクトを作成します。
引数は次のとおりです:
stream はストリームプロトコルをサポートする任意のオブジェクトですが、最も一般的なのは
machine.UART
インスタンスです。このストリームオブジェクトにはirq()
メソッドとIRQ_RXIDLE
定数が必要で、これらはPPP.connect
で使われます。
メソッド¶
- PPP.connect(security=SEC_NONE, user=None, key=None)¶
指定されたパラメータで PPP 接続を開始します。
security はセキュリティの種類で、
PPP.SEC_NONE
,PPP.SEC_PAP
,PPP.SEC_CHAP
のいずれかを指定します。user はセキュリティモードで使用する任意のユーザー名です。
key はセキュリティモードで使用する任意のパスワードです。
このメソッドが呼び出されると、基盤となるストリームの割り込みが構成され、
stream.irq(ppp.poll, stream.IRQ_RXIDLE)
を介してPPP.poll
が呼び出されます。これにより、ストリームにデータが入るたびにストリームがポーリングされ、データが PPP スタックに渡されることが保証されます。接続は非同期にバックグラウンドで進行します。
- PPP.disconnect()¶
接続を終了します。PPP 接続を正常に閉じるには、このメソッドを呼び出す必要があります。
- PPP.isconnected()¶
PPP リンクが接続されており、確立されている場合は
True
を返します。そうでない場合はFalse
を返します。
- PPP.status()¶
PPP のステータスを返します。
- PPP.config(config_parameters)¶
PPP インタフェースのパラメータを設定または取得します。設定または取得可能な唯一のパラメータは基盤となるストリームです。次のように使います:
stream = PPP.config("stream") PPP.config(stream=stream)
- PPP.ipconfig('param')¶
- PPP.ipconfig(param=value, ...)
AbstractNIC.ipconfig
を参照。
- PPP.ifconfig([(ip, subnet, gateway, dns)])¶
AbstractNIC.ifconfig
を参照。
- PPP.poll()¶
基盤となるストリームをポーリングしてデータを取得し、PPP スタックに渡します。ストリームが RXIDLE 割り込みを持つ UART の場合、これが自動的に呼び出されるため、通常は手動で呼び出す必要はありません。