Thing-IF SDK の導入

Thing-IF SDK for Thing は、GitHub からのソースコードの形で提供しています。この手順では、ソースコードを GitHub からダウンロードしてビルド環境を構築し、ライブラリーとテストプログラムをビルドするまでの方法を示します。

ソースコードには、特定の環境に向けたリファレンス実装が組み込まれています。SDK では、ソケットやマルチタスクのサポートが必要ですが、各環境に適したライブラリーをリファレンス実装として組み込んだ形で提供しています。構成の詳細は こちら をご覧ください。

ここでは、Linux 上でのビルド方法を説明します。これ以外の環境に対応する場合、ここでのビルド方法を参考にして実行モジュールを作成してください。

環境の準備

ビルドの前に、事前に以下の準備を行う必要があります。

  • GitHub のアカウントの取得

    GitHub にアクセスしてアカウントを作成します。

  • 公開鍵の設定

    SDK のビルド中、SSH 接続によってサブモジュールを自動的にダウンロードします。ビルド環境でキーペアを作成し、GitHub にその公開鍵を設定しておく必要があります。

    未設定の場合、下記の git submodule コマンドでエラーとなります。

  • ビルドツールのインストール

    git、gcc、make、Doxygen 等のビルドツールや openssl などを事前にインストールして、設定します。

これらの準備作業は Kii Cloud に依存しない操作です。手順の詳細は Web 等の各種情報源を参考にしてください。

ライブラリーのビルド

GitHub からソースコードをダウンロードして、ライブラリーをビルドします。

  1. Thing-IF SDK をダウンロード

    作業ディレクトリに移動後、シェルから以下のコマンドを入力して Thing-IF SDK をダウンロードします。

    $ git clone https://github.com/KiiPlatform/thing-if-ThingSDK
    $ cd thing-if-ThingSDK
    
  2. サブモジュールのダウンロード

    SDK の構成 に示したサブモジュールをダウンロードします。

    $ git submodule init
    $ git submodule update
    $ cd kii
    $ git submodule init
    $ git submodule update
    $ cd ../
    
  3. SDK のビルド

    Linux の場合、thing-if-ThingSDK ディレクトリ直下で make コマンドを実行すると、libkiithingifsdk.so ファイルをビルドできます。これは、SDK のライブラリーとして、ユーザープログラムに組み込んで使用できます。

    $ make
    

    Linux 以外の環境でビルドする場合も、Linux の Makefile を参考に、ライブラリーや実行モジュールをビルドしてください。

サンプルプログラムのビルド

ダウンロードしたソースコード中、linux-sample ディレクトリには、SDK の機能を簡単に試すためのサンプルアプリケーションが含まれています。必要に応じてビルドしてください。

  1. AppID 等の変更

    ソースコード中に AppID、AppKey、Site が埋め込まれています。エディターで以下の箇所を書き換えます。

    書き換えるファイルは、linux_sample/example.h です。以下の 3 行を作成した Kii Cloud 上のアプリケーションに合わせて書き換えます。アプリケーションの作成や AppID 等の取得方法は こちら を、下記の定数を使っている初期化処理については こちら をご覧ください。

    const char EX_APP_ID[] = "01234567";
    const char EX_APP_KEY[] = "0123456789abcdef0123456789abcdef";
    const char EX_APP_SITE[] = "JP";
    
  2. ビルドの実行

    make コマンドでビルドを実行します。

    $ cd linux-sample
    $ make
    
  3. 動作テスト

    ビルドが完了すると、同じディレクトリに実行モジュール exampleapp ができます。実行時のオプションについては、linux_sample/README.mkd ファイルおよびソースコードをご覧ください。

ライブラリーの読み込み

Thing-IF SDK を利用するには、SDK を利用するすべてのソースで kii_thing_if.h をインクルードします。

#include "kii_thing_if.h"

kii_thing_if.h をインクルードすれば、Thing SDK Embedded によるチューニング機能や、JSON の解析機能 も利用できます。kii_thing_if.h の内部では kii.h と kii_json.h をインクルードしています。

ターゲット環境への移植

Thing-IF SDK は Intel Edison、Ti CC3200、Linux に向けたサンプル実装を提供していますが、これ以外の環境に対しても SDK を容易に移植することができます。

移植方法の詳細は、Thing SDK Embedded の OS 依存の処理の実装 をご覧ください。