LEGO 無線プロトコル v3 デバイス

../_images/hub-lwp3.png
class LWP3Device(hub_kind, name=None, timeout=10000, pair=False, num_notifications=8, connect=True)

LEGO Wireless Protocol v3 により、レゴ社公式ファームウェアを搭載したハブとの接続が可能です。

パラメータ:
  • hub_kind (int) -- 接続するハブの hub type identifier

  • name (str) -- 接続するハブの名前。任意のハブに接続する場合は None を指定します。

  • timeout (int) -- 例外を発生させるまでの接続待ち時間をミリ秒単位で指定します。

  • pair (bool) -- 安全な接続を確立するためにペアリングを試みるかを指定します。これは一部の新しいハブで必須です。

  • num_notifications (int) -- リモートハブから受信したメッセージのうち、古いメッセージを破棄する前に保存するメッセージの数。

  • connect (bool) -- 接続をスキップするには False を指定してください。後で connect() を呼び出すことにより接続できます。

バージョン 3.6 で変更: pair パラメータを追加。

バージョン 3.7 で変更: num_notifications パラメータを追加。

awaitconnect()

デバイスに接続します。切断した場合、または connect=False で初期化した場合にのみ必要です。

例外:

OSError -- 接続試行が失敗またはタイムアウトした場合に発生します。

name(name)
name() str

デバイスの Bluetooth 名を設定または取得します。

パラメータ:

name (str) -- デバイスの新しい Bluetooth 名。name を指定しない場合、このメソッドは現在の名前を返します。

例外:

OSError -- デバイスが接続されていない場合に発生します。

awaitwrite(buf)

リモートハブにメッセージを送信します。

パラメータ:

buf (bytes) -- 送信する生のバイナリーメッセージ。最大 20 バイト。

例外:
  • ValueError -- メッセージが 20 バイトを超えている場合に発生します。

  • OSError -- デバイスが接続されていないか、書き出しが失敗した場合に発生します。

read() bytes | None

リモートハブから受信してバッファリングしているメッセージのうち、最も古いものを取得します。

バッファリングされているメッセージが既にすべて読み込み済みの場合は None を返します。

戻り値:

最も古い生のバイナリメッセージ。メッセージが他にない場合は None

バージョン 3.7 で変更: 新しいメッセージが1つ受信されるまでブロックするのではなく、複数のバッファリングされたメッセージを読み取ることができるようになりました。

awaitdisconnect()

デバイスを切断します。

例外:

OSError -- 切断が失敗した場合に発生します。