SDK での API の構成
モバイルアプリでは、ゲートウェイやエンドノードにアクセスするため、以下の 2 つの SDK を使用します。
Kii Cloud SDK
ユーザーやグループなど、ゲートウェイやエンドノードのオーナーのアクセストークンを取得するために使用します。
Thing-IF SDK
ゲートウェイやエンドノードの初期登録を行ったり、コマンドやステートを扱ったりするために使用します。
この SDK では、API を以下の 2 つのクラスによって定義しています。
ThingIFAPIモバイルアプリから Thing Interaction Framework にアクセスするための API クラスです。
この API クラスには、Thing Interaction Framework を操作するためのメソッドが用意されています。たとえば、初期登録を実行したり、機能モデル に従ってエンドノードにコマンドを送信したりする場合は、この API クラスを使用します。
GatewayAPIモバイルアプリからゲートウェイエージェントにアクセスするための API クラスです。Wi-Fi などのローカルネットワーク経由でアクセスします。
この API クラスには、ゲートウェイを管理するためのメソッドが用意されています。たとえば、初期化待ちのエンドノードを取得したり、エンドノードの初期化完了を通知したりするものがあります。
インスタンスの管理
モバイルアプリからエンドノードを操作する場合、ThingIFAPI と GatewayAPI のインスタンスが必要です。
ゲートウェイへのアクセス
ゲートウェイにアクセスするため、ゲートウェイ 1 台に対して 1 個ずつ
ThingIFAPIとGatewayAPIのインスタンスを扱います。エンドノードへのアクセス
操作対象のエンドノードの数だけ
ThingIFAPIのインスタンスを扱います。特定のエンドノードを操作するときは、そのエンドノードを初期登録したThingIFAPIインスタンスのメソッドを呼び出します。
以下は、エンドノード 2 点を扱う場合の API クラスの例です。各エンドノードに対して 1 件の ThingIFAPI が、ゲートウェイに対して 1 件ずつの ThingIFAPI と GatewayAPI が初期化されています。
たとえば、LED2 にコマンドを送りたい場合、それにつながっている上から 2 番目の ThingIFAPI インスタンスに対して、コマンド送信のメソッドを呼び出すことになります。
