Raspberry PiにAllJoynフレームワーク「Standard Core」を移植する(2/6 ページ)
AllJoynは「家電を中心にさまざまな機器を接続し、情報交換を可能としたフレームワーク」です。さまざまな機器を対象としており、それにはRaspberry Piも含まれます。ルーター機能などを実装可能な「Standard Core」をRaspberry Piに移植します。
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.
関連記事
- Raspberry PiにAllJoynを移植して、IoTを自作する
「いろいろなデバイスがシームレスにつながり、簡単に操作できる」――IoTが目指すその姿を、Raspberry Piと機器相互接続フレームワーク「Alljoyn」で自作してみましょう。 - 「Alljoyn」のいまをクアルコムブースで見る
ET2015のクアルコムブースにて大きく展示されていたのは、機器相互接続フレームワーク「Alljoyn」のデモだ。機器連携シナリオ“ストーリー”の様子も紹介されている。 - 激化する“IoTの陣取り合戦”欠けているのは「共通言語」
IoTの未来像として、「いろいろなデバイスがシームレスにつながり、簡単に操作できる」様子が挙げられるが、AllSeen Allianceのディレクターはそのために必要なのは「共通言語だ」という。 - Allseen Allianceの中核技術「Alljoyn」とは何か
Linux Foundationが設立した非営利団体「Allseen Alliance」のキモとなるのが「Alljoyn」だ。IoTについて“現状の使いにくさ”の打破を目指す、この団体の中核技術を解説する。 - IoT団体によるUPnP(Universal Plug and Play)吸収を読み解く
インテルやサムスンらが主導するIoT標準化団体「OIC」が、UPnP(Universal Plug and Play)Forumを吸収した。UPnPの推進する“挿すだけで使える”をIoTに持ち込むことは理にかなっているように思えるが、AppleのHomeKitや、GoogleのProject Brilloに対する競争力はあるだろうか。