Raspberry PiにAllJoynフレームワーク「Standard Core」を移植する(3/6 ページ)
AllJoynは「家電を中心にさまざまな機器を接続し、情報交換を可能としたフレームワーク」です。さまざまな機器を対象としており、それにはRaspberry Piも含まれます。ルーター機能などを実装可能な「Standard Core」をRaspberry Piに移植します。
4. サンプルプログラムの実行
core/build/linux/arm/debug/dist/cpp/samples
の下に、C++用のサンプルプログラムがあります。
README.txtによれば、「basic」は「advertise, discover, connect, communicateの各機能を実装」とあり、「Chat」は「peerで実現されたサービスを実装したAllJoynデバイスとの連携をとるプログラム」となっています。
今回は、basicを実行してみます。
Cd basic
するとREADME.txtがあります。
make
で、binの下に、basic_serviceとbasic_clientができます。
basic_serviceは、バスに接続し、“com.sample.test'を要求します。機能としては、'cat'の実現です。2つの文字列(本サンプルでは、ハードコーディングされています)を連結し、クライアントに結果の文字列を戻します。
basic_clientは、バスに接続し、インタフェース'com.sample.test'を見つけ、'cat'メソッドを呼び出します。
それぞれ、以下のように実行します。
まず、basic_serviceを起動します。
$ ./basic_service & AllJoyn Library version: v1.2.1 AllJoyn Library build info: AllJoyn Library v1.2.1 (Built Mon Apr 19 18:44:15 UTC 2010 on ubuntu …
次に、basic_clientを起動します。
$ ./basic_client AllJoyn Library version: v1.2.1 AllJoyn Library build info: AllJoyn Library v1.2.1 (Built Mon Apr 19 18:44:15 UTC 2010 on ubuntu ... org.alljoyn.method_sample.cat ( path=/org/alljoyn) returned "Hello World!" basic client exiting with status 0 (ER_OK)
ここで出力文字のうち、”Hello World!”とある部分が、'cat'機能の結果です。ソースを見て確認しますが、basic_service.ccは347行、basic_client.ccは287行あります。全部を読むのは大変なので、関連部分だけを見てみましょう(//部分は解説です)。
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に対する競争力はあるだろうか。