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 からソースコードをダウンロードして、ライブラリーをビルドします。
Thing-IF SDK をダウンロード
作業ディレクトリに移動後、シェルから以下のコマンドを入力して Thing-IF SDK をダウンロードします。
$ git clone https://github.com/KiiPlatform/thing-if-ThingSDK $ cd thing-if-ThingSDK
サブモジュールのダウンロード
SDK の構成 に示したサブモジュールをダウンロードします。
$ git submodule init $ git submodule update $ cd kii $ git submodule init $ git submodule update $ cd ../
SDK のビルド
Linux の場合、thing-if-ThingSDK ディレクトリ直下で make コマンドを実行すると、libkiithingifsdk.so ファイルをビルドできます。これは、SDK のライブラリーとして、ユーザープログラムに組み込んで使用できます。
$ make
Linux 以外の環境でビルドする場合も、Linux の Makefile を参考に、ライブラリーや実行モジュールをビルドしてください。
サンプルプログラムのビルド
ダウンロードしたソースコード中、linux-sample ディレクトリには、SDK の機能を簡単に試すためのサンプルアプリケーションが含まれています。必要に応じてビルドしてください。
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";
ビルドの実行
make コマンドでビルドを実行します。
$ cd linux-sample $ make
動作テスト
ビルドが完了すると、同じディレクトリに実行モジュール 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 依存の処理の実装 をご覧ください。