連載
Raspberry PiにAllJoynを移植して、IoTを自作する(5/10 ページ)
「いろいろなデバイスがシームレスにつながり、簡単に操作できる」――IoTが目指すその姿を、Raspberry Piと機器相互接続フレームワーク「Alljoyn」で自作してみましょう。
4.4 Thin Core(ajtcl)の導入
先ほども説明したように、今回移植する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
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 「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に対する競争力はあるだろうか。