Classic Bluetoothを経由したガジェットとEchoデバイスの再接続



Classic Bluetoothを経由したガジェットとEchoデバイスの再接続

ガジェットとEchoデバイスがClassic Bluetooth(BR/EDR)経由でペアリング後に切断された場合、ユーザーはガジェットをトリガーしてEchoデバイスに再接続できます。ガジェットでEchoデバイスに再接続するには、このトピックで説明するとおりに、サービス発見プロトコル(SDP)接続を開始します。

Bluetoothに関連するAlexa Gadgets Toolkitの問題については、既知の問題ページを参照してください。

概要

次の図は、Echoデバイスとのペアリング後に切断されたガジェットをユーザーがトリガーし、SDPを使用してEchoデバイスとの接続を再確立する流れを示しています。図に続いて、各ステップについて説明します。

Classic Bluetoothを経由したAlexa GadgetとEchoデバイスの再接続フロー

ユーザーがボタンを押すなどガジェットで何らかのアクションを行うと、ガジェットはペアリング後に切断されたEchoデバイスへのSDP接続を開始できます。SDP接続を開始するには、SDP開始設定に記載されているパラメーターを使用して、ガジェットからEchoデバイスにSDPアトリビュートリクエストを送信します。Echoデバイスが適切なアトリビュートでリクエストに応答すると、リンクレイヤー接続が確立されます。

RFCOMM接続フェーズ

このステップでは、最初の接続フローのRFCOMM接続フェーズと同様に、EchoデバイスからガジェットにRFCOMMサーバーとの接続リクエストを送信します。この接続が確立するためには、サービス発見プロトコル(SDP)データベース設定に記載されている設定がガジェットのローカルSDPデータベースに含まれている必要があります。

SDP切断フェーズ

EchoデバイスがガジェットのRFCOMMサーバーに再接続されたので、ガジェットとEchoデバイスはSDP接続を切断することができます。このステップは、この時点で行うことも後で行うこともできます。

Alexa Gadgets Toolkitディレクティブおよびイベント

最初の接続フローと同様に、Echoデバイスとガジェットはプロトコルバッファー形式を使用して次の情報を交換します。

  1. EchoデバイスがガジェットにDiscoverディレクティブを送信します。
  2. ガジェットがDiscover.Responseイベントで応答します。このイベントには、DSNのハッシュと、開発者ポータルにガジェットを登録した際にガジェットに割り当てられたデバイスタイプシークレットが、その他の情報とともに含まれています。
  3. ガジェットとEchoデバイスは、Alexa Gadgetsインターフェースによって定義されたディレクティブやイベントを用いて情報を交換します。