2014年12月29日月曜日

Cloud Pi お試し

 今日のネタは プラネックスさんが提供を開始した Cloud Pi (クラウド・パイ) です。
 このサービスが本稼働を開始したのは 12月26日からで、実はその1週間くらい前にベータ・テスターとして、プラネックスさんに招待を頂きました。通常、このサービスを利用するには、スイッチサイエンスさん等から、サービスコードの書かれたカードを購入する必要があります。自分はベータ・テスタとしてコードを一つもらっていますが、Raspberry Pi も複数あるので、もう一つ購入しました。



スイッチサイエンスさんでは「Raspberry Pi環境センサモジュール」というセンサーやLCDを搭載したボードの販売も予定されているようです。

 まずは、Raspberry Pi 側にサーバモジュールをセットアップする必要があります。こちらからダウンロードして、手順に従って cloudpi のサービスを開始します。また、サンプルとして、こちらをダウンロードして、手順に従って apatcheやMySQL等をセットアップします。

 購入したカードに書かれた20桁のサービスコードと自分で決めたパスワードを接続される側のRaspberry Pi の cloudpi.conf ファイルに記述して cloudpi サービスを起動し、Android側で Google Play からダウンロードした専用アプリに サービスコードとパスワードを設定して接続します。


 デフォルト(上の画面)では、Raspberry Pi のポート80 が クライアント側のポート8080 にマップされる設定です。接続して、クライアント側のローカルの8080 (http://127.0.0.1:8080)にブラウザで接続すると、Raspberry Pi 側のポート80に接続されて、前述のサンプル(を設定していれば)が参照できます。下記はスマホのLTE(外部インターネット)経由でサンプルアプリの画面を表示したところ。



 この後、以前にnode.js + WebSocket.io を使って動かしたLEGOの全方向移動ロボットを CloudPi 経由で動かしてみようと思いましたが、今のところまだ成功していません。LEGOの全方向移動ロボットではWebページを表示するポートと操作情報と状態を送受信するポートの2つの通信ポートを利用したのですが、Cloud Piで2つの通信ポートを利用する方法が見つかっていません。Cloud Pi の
 Androidアプリでは接続に使用するポートを任意に設定してその設定を複数保持できるのですが、実際に接続できるのはひとつの設定のみのようです。この辺りは今後調べていこうと思っていますが、まだ、始まったばかりのサービスでこちらにフォーラムもありますが、現時点ではまだ情報が殆ど無く、公式のドキュメント等もありません。今後、仕様等も公開されていくと思いますので、情報が入手できたところで、進めていきたいと思います。