特集
» 2016年04月01日 07時00分 UPDATE

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

AllJoynは「家電を中心にさまざまな機器を接続し、情報交換を可能としたフレームワーク」です。さまざまな機器を対象としており、それにはRaspberry Piも含まれます。ルーター機能などを実装可能な「Standard Core」をRaspberry Piに移植します。

[橋本 尚(The Linux Foundation),MONOist]

1.始めに

 AllJoynは「さまざまな機器を接続し、情報交換を可能とするフレームワーク」であり、「アプリケーション」と「ルーター」から構成されます。実装についてはフレームワーク上に機能実装したアプリケーション(クライアント)を、機種ごとに開発する必要があるのですが実装の容易なフレームワークも用意されています。

 前回はこの実装の容易なクライアントである「Thin+Java Client」をRaspberry Pi上に移植しました。GPIO制御などに機器/バージョン依存部分があり、かなり大変でしたが、今回はさらに踏み込んでFrameworkの中でも中核となる、「Standard Core」と呼ばれる部分を移植します。

・関連記事:Raspberry PiにAllJoynを移植して、IoTを自作する

photo Alljoynの概要(「AllJoynフレームワークを使ったインターネット・オブ・エブリシング(IoE)の開発」:Qualcomm 内田伸行氏 より)

2. Standard Coreとは

 前回も説明しましたが、AllJoynのフレームワークは「Standard Core」と「Thin Core」に分類されます。

  • 1 Standard Core Framework: 比較的、強力なCPUの上で動作させることを想定した、ルーター機能や接続危機管理を含む全ての機能を実装。 以下、alljoynと呼びます。
  • 2 Thin Core Framework: 比較的、小さいCPUでも動作することを想定してルーター機能等を省き、情報交換のみに特化して実装したもの。以下、ajtclと呼びます。
Raspberry Pi 2 Model B 写真は「Raspberry Pi 2 Model B」

 本来、Standard Coreは、上記のように、比較的、強力なCPUでの動作を想定したものです。しかし、Raspberry Piは初期型でもBogo MIPSが2.0のARM1176JZF-S(700MHz)に512MBのメモリを搭載していますし、Raspberry Pi2に至ってはクアッドコアCPU(ARM Cortex-A7)にメモリ1GBの構成なので、いずれでも問題なく動作するはずです(実際、私は初期型で動作させてみました)。

3. Standard Coreの移植

 Standard Coreの移植はAllSeen Allianceの公開しているインストールガイド(Building Thin - Linux)を参考にしながら行いますが、前回、「Thin+Java Client(alljoyn-js)」(Thin CoreをベースにJavaScript解釈機能を持たせ、JavaScriptでアプリケーションを作成しAndroid端末から制御できるようにしたクライアント)を導入した経験があればさほど難しいことはありません。

3.1 環境整備

 紹介したようにインストールガイドを参考にしながら行いますが、前回で、ほとんどの準備が終わっているため、そんなに難しくありません。また、余分なステップは、省いて進めます。前回の通りであれば整備は終わっていますが、念のために次のコマンドで、必要なツールを導入します。

apt-get install build-essential libgtk2.0-dev libssl-dev xsltproc libxml2-dev

 pythonのバージョンを確認します。

python --version

 通常は、2.7系になっているはずです。3.0系は、使用できません。

 SConsをインストールします。

apt-get install scons

 OpenSSLをインストールします。

apt-get install libssl-dev

3.2 ディレクトリの作成

 Standard Coreを含むディレクトリを作成します。

Standard Coreを含むディレクトリ Standard Coreを含むディレクトリ

関連キーワード

AllJoyn | Raspberry Pi | AllSeen Alliance | Raspberry Pi 2


       1|2|3|4|5|6 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.