Raspberry PiにAllJoynフレームワーク「Standard Core」を移植する(2/6 ページ)

» 2016年04月01日 07時00分 公開

3.3 Standard Coreの導入

 準備ができたらAllSeen Allianceのダウンロードページから「Standard Core Source」を入手します(Download | AllSeen Alliance)。最新版は2015年11月に公開された「15.09a」ですが、不安定だという話も聞くので「15.04」を利用しました(ファイル名はalljoyn-15.04.00b-src.tar.gzです)。

 このファイルを展開すると、alljoyn-15.04.00b-srcというディレクトリの下に、関連ファイルができます。次にディレクトリ名を変更します。

Mv alljoyn-15.04.00b-src alljoyn

 alljoynに行き、ビルドします。

Cd alljoyn
scons WS=off BINDINGS=cpp,c CPU=arm CROSS_COMPILE=/usr/bin/

 と入力してビルドします。パラメーターの意味は、それぞれ次の通りです。

パラメーター 意味
WS ドキュメントの空白部分の制御を行わない。
BINDINGS これらの言語のバインディングをビルドする。他に、javaとjs(java script)があります。
CPU ARM用のバイナリを作成する。
CROSS_COMPILE arm用コンパイラの位置(Raspberry Pi上ではクロスではないのですが、提供されているスクリプトがx86を前提とした作りになっているため、ARM上でビルドするときには、このパラメータが必要となります)

 前回のThin Coreと違い、Standard Coreの場合は、特殊なことをしなくても、ビルドができます。ライブラリやバイナリは以下に生成されます。説明は、README.txtにありますので必要に応じて参照してください。

Core/alljoun/build/linux/arm/debug/dist

 の下に、BINDINGSで指定した言語用のバイナリー、ライブラリができます。

ファイルなど 概要
C c言語用ライブラリ、サンプルプログラム
cpp coreライブラリ(全てのAlljoynプログラムが使用します)、cpp言語用ライブラリ、サンプルプログラム
abount サンプルプログラム。About機能のサポート
services_common 共通サービス用ライブラリ
config, controlpanel, notification コントロールパネル等の基本サービス群

 必要なプログラムとライブラリーをコピーします。

 ルーター機能をコピーします。

Cp cpp/bin/alljoyn-daemon /usr/local/bin

 次のようにして起動します。

/usr/local/bin/alljoyn-daemon &

 Raspberry Pi起動時に立ち上げる場合は、/etc/rc.local/に次の行を追加します。

/usr/local/bin/alljyn-daemon &

 全てのライブラリをコピーします。

Mkdir /usr/local/lib/alljoyn
find . -name 'liballjoyn*' -exec cp {} /usr/local/lib/alljoyn \;
 
cat >> /etc/ld.so.conf.d/alljoyn.conf << EOF
/usr/local/lib/alljoyn
EOF
ldconfig

 これで、Standard Coreの機能が利用できるようになりました。

 なお、OSDN(OSDNで「alljoyn」と検索してください)に前回のバイナリ、ライブラリに今回の内容を追加したものをアップロードしました。bin.tgzとlib.tgzをダウンロードして、それぞれ/usr/local/bin, /usr/local/libで展開してください。

Copyright © ITmedia, Inc. All Rights Reserved.