Thing-IF SDK v2 の導入

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

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

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

環境の準備

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

  • GitHub のアカウントの取得

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

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

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

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

ライブラリーの構成

SDK は以下の4つのライブラリーから構成されます。

  1. tio

    SDK のメインとなるライブラリーです。コマンドの受信やステートの更新のための機能を提供します。

  2. kii

    Kii Cloud とのデータの送受信などの機能を提供するライブラリーです。

  3. khc

    HTTP 1.1 に即した通信機能を提供するライブラリーです。

  4. jkii

    JSON データの解析機能を提供するライブラリーです。内部で jsmn を利用しています。

これら4つのライブラリーをまとめる形で ebisu (Embedded IoT Suite) と呼んでいます。 これらのライブラリーの詳細は ebisu-doc をご確認ください。

ライブラリーのビルド

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

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

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

    $ git clone https://github.com/KiiPlatform/ebisu
    $ cd ebisu
    
  2. SDK のビルド

    Linux の場合、 cmake を使用することで作業環境にインストールすることが出来ます。 SDK用ディレクトリ(.sdk)を作成しインストールする手順は以下のようになります。

    $ mkdir .sdk
    $ cd .sdk
    $ cmake -DCMAKE_BUILD_TYPE=[RELEASE/DEBUG] [ebisu/tioへのパス]
    $ make
    $ make DESTDIR=. install
    

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

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

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

  1. AppID 等の変更

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

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

    const char KII_APP_ID[] = "01234567";
    const char KII_APP_HOST[] = "JP";
    
  2. ビルドの実行

    tio/linux-sample 下で make コマンドでビルドを実行します。

    このサンプルでは make 処理内でSDKのインストールも行われるので手動でのインストールは必要ありません。

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

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

ライブラリーの読み込み

SDK を利用するには、ソースコードで tio.h をインクルードします。

#include "tio.h"

自前で SDK のビルドを行っている場合は、インクルードパスに {.sdkへのパス}/usr/local/include を、ライブラリーパスに {.sdkへのパス}/usr/local/lib を追加することでビルドした SDK を利用できます。

ターゲット環境への移植

この SDK は GT202(Freescale K22)、Ti CC3200、Avnet IoT Starter Kit(WICED)、Linux に向けたサンプル実装を提供していますが、これ以外の環境に対しても SDK を容易に移植することができます。