Kii Cloud SDK for Thing によるチューニング
Kii Cloud SDK for Thing は、より細かなチューニングを行う手段を提供します。
Thing-IF SDK は、IoT ソリューションでのベストプラクティスとなるような Thing の使い方を API として提供しているため、目的の機能を素早く構築できます。一方、その API は特定の機能モデルに沿った設計になっているため、モデルに合わない機能は実現が困難な場合があります。
Thing-IF SDK で実現が困難な機能を実装したいときは、Kii Cloud SDK for Thing を利用できます。この SDK ではプリミティブな機能を組み合わせて目的の機能を作り上げるため、より広い用途に柔軟に対応できます。Thing-IF SDK の機能も、基本的に Kii Cloud SDK for Thing の機能を組み合わせて実現されています。
Kii Cloud SDK for Thing は、たとえば、Hello Thing-IF チュートリアルの例 のように、様々な格納方法で Thing のデータを保存するようなケースにも応用できます。家族が共有する体重計のデータを Thing-IF SDK のステートとして保存すると、オーナー全員が体重データを共有してしまいますが、オーナーユーザーのスコープにユーザー単位で保存するようにチューニングすれば、セキュリティ要件を満たすことができます。
Kii Cloud SDK for Thing は Thing-IF SDK との共存ができます。機能モデルに一致する範囲で Thing-IF SDK を利用し、チューニングが必要な部分だけを Kii Cloud SDK for Thing で実装する方法が最適です。
なお、ここでの Kii Cloud SDK for Thing は、モバイルアプリ側と Thing 側でそれぞれ利用できる Thing 向けの機能を指します。Kii Cloud SDK の Thing 向け機能に加え、Thing SDK Embedded やこれらに対応する REST API の機能を含みます。
SDK の組み合わせ
Kii Cloud 上で IoT ソリューションを構築する際、クライアント SDK の構成 に示すように SDK を選択できます。
リンク先の表にあるように、モバイルアプリ側は、ターゲットとするプラットフォームに応じて Android、iOS、JavaScript から選択します。Thing 側は、C、Node.js から選択します。いずれも、対象としたいプラットフォームに適切な SDK がない場合、REST API を直接実行することもできます。
いずれのプラットフォームでも、以下の機能の組み合わせを選択できます。
Thing-IF SDK の機能だけを使用する場合
これは、Thing-IF の利用 に示す方法です。SDK が想定している機能と目的の機能が一致する場合、最も効率よくソリューションを実現できます。
Thing-IF SDK と Kii Cloud SDK for Thing の機能を併用する場合
Thing-IF SDK の機能を中心にソリューションを構築すると同時に、Thing-IF SDK がサポートしていない機能を Kii Cloud SDK for Thing で実現する方法です。実装効率と機能の実現性を両立できます。
Thing-IF SDK で初期化した結果を Kii Cloud SDK for Thing から利用することで、2 つの SDK の機能を組み合わせます。
Kii Cloud SDK for Thing の機能だけを使用する場合
Thing-IF SDK を使用せず、Kii Cloud SDK for Thing の機能だけを使ってソリューション全体を構築することもできます。Thing-IF SDK が想定するモデルと一致しないソリューションを構築するときに選択できます。
このセクションでは、上記の 2 番目と 3 番目のケースを説明します。