Thing SDK Embedded の導入手順

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

Thing-IF SDK と併用する場合、この手順は不要です。

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

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

GitHub からダウンロードしたソースコードに含まれる gt202、INTEL、MTK、TI、WinnerMicro ディレクトリの扱いについては OS 依存の処理の実装 の説明をご覧ください。

環境の準備

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

  • GitHub のアカウントの取得

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

  • 公開鍵の設定

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

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

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

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

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

ライブラリーのビルド

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

  1. Thing SDK Embedded をダウンロード

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

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

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

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

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

    $ make
    

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

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

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

  1. AppID 等の変更

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

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

    const char EX_APP_SITE[] = "JP";
    const char EX_APP_ID[] = "01234567";
    const char EX_APP_KEY[] = "0123456789abcdef0123456789abcdef";
    

    これ以外に、テスト用の ID が記述されている箇所があります。実行するサンプルの機能に応じて書き換えてください。これは、アクセストークンの設定 に示す機能で使用します。

    const char EX_THING_ID[] = "th.396587a00022-51e9-4e11-5eec-07846c59";
    const char EX_ACCESS_TOKEN[] = "PlRI8O54j74Og7OtRnYLHu-ftQYINQwgDRuyhi3rGlQ";
    
  2. ビルドの実行

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

    $ cd ../Linux
    $ make
    
  3. 動作テスト

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

ライブラリーの読み込み

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

#include "kii.h"

kii.h の内部で kii_json.h もインクルードしているため、JSON の解析機能 も利用できます。

なお、Thing-IF SDK の kii_thing_if.h をインクルードしている場合、内部で kii.h や kii_json.h が読み込まれるため、kii.h と kii_json.h のインクルードは不要です。