クラス PPP -- シリアル PPP を介したネットワーク接続の作成
このクラスは PPP プロトコルを使ってシリアルポート経由でのネットワーク接続を作成します。
注釈
現在のところ PPP サポートは、デフォルトのファームウェアビルドでは ESP32 ポートのみ有効になっています。STM32 および RP2 ポートのカスタムビルドでは、ネットワーキングサポートを有効にし、 MICROPY_PY_NETWORK_PPP_LWIP を 1 に設定することで 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([irq_arg])
基盤となるストリームをポーリングしてデータを取得し、PPP スタックに渡します。ストリームが RXIDLE 割り込みを持つ UART の場合、これが自動的に呼び出されるため、通常は手動で呼び出す必要はありません。
オプションの irq_arg 引数は無視されます。この引数は、この関数が
machine.UART.irq()の handler 引数と互換性を持つようにするためだけに存在します。