先ほども説明したように、今回移植するalljoyn-jsは、Thin ClientとECMA解釈機能(Duktape)を一緒にしたものです。そのため、始めにAllJoyn Thin Client(ajtcl)をビルドします。AllSeenによるajtclの導入解説を参照しながら、導入します。
まずはダウンロードページから、Thin Core Sourceをダウンロードします。alljoyn-jsをRaspberry pi上で構築するためには、ちょっと古いバージョンの15.04(最新は15.09)が必要なため、Thin Core Libraryもバージョン15.04をダウンロードします。
ファイル名は、ajtcl-15.04.00b-src.tar.gzです。先に作成したディレクトリのcoreの下に展開します。展開すると、
ajtcl-15.04.00b-src
というディレクトリの下に、関連ファイルが展開されます。次に、ディレクトリの名称を変更します。
mv ajtcl-15.04.00b-src ajtcl
ajtclに行き、ビルドします。
cd ajtcl export DUK_TAPE=(duktapeをインストールしたディレクトリ) scons WS=off BINDINGS=cpp,c CPU=arm CROSS_COMPILE=/usr/bin/
パラメーターの意味は、それぞれ次の通りです。
| パラメーター | 意味 |
|---|---|
| WS | ドキュメントの空白部分の制御を行わない。 |
| BINDINGS | これらの言語のバインディングをビルドする |
| CPU | arm用のバイナリを作成する。 |
| CROSS_COMPILE | ARM用コンパイラの位置(Raspberry Pi上では、クロスではないのですが提供されているスクリプトがx86を前提とした作りになっているため、Raspberry PiのようにARMプロセッサ上でビルドするときには、このパラメータが必要となります) |
次の工程として、必要なファイルをコピーします。
mkdir /usr/local/lib/ajtcl cp lib* /usr/local/lib/ajtcl cat > /etc/ld.so.conf.d/ajtcl.conf <<EOF /usr/local/lib/ajtcl EOF ldconfig
「Alljoyn」のいまをクアルコムブースで見る
激化する“IoTの陣取り合戦”欠けているのは「共通言語」
Allseen Allianceの中核技術「Alljoyn」とは何か
IoT団体によるUPnP(Universal Plug and Play)吸収を読み解くCopyright © ITmedia, Inc. All Rights Reserved.
組み込み開発の記事ランキング
コーナーリンク