前回でCloud PiのRaspberry Pi側(サーバ)の設定が終わりましたので、今回はクライアント側の設定を行います。Cloud Piは出先から簡単にRaspberry Piにアクセスして操作ができるのがポイントなので、クライアント側にはスマートフォン(Android)を使います。iOSには今後対応予定との事で、今現在(2015/01/14)は未対応です。
まずはGoogle playからCloud Piをダウンロードしてインストールします。
起動すると”ラズパイの追加”という項目がありますので、そこに前回確認したUIDを入力します。UIDはCloudPiカードのQRコードを撮影することで入力することもできます。パスワードは前回自分で決めてRaspberry Piのcloudpi.confに入力したものと同じものを入力します。ラズパイ・ポートとスマホ・ポートの項目はとりあえず置いておいて、OKボタンを押しましょう。
これでクライアント側の設定は終了です。Raspberry Pi側の設定も簡単でしたが、クライアント側の設定はまた一段と簡単ですね。
さて、ここで接続ボタンを押すとRaspberry PiとAndroidで通信が可能になります。もし、Raspberry Pi上にWEBサーバが起動していて80番ポートがが開いているとすると、ブラウザを起動してURLを次のようにすることでRaspberry PiのWEBサーバにアクセスできます。
http://127.0.0.1:8080/
127.0.0.1はローカルホスト、つまり自分自身を表すIPアドレスなので、ここではAndroid端末自身の事ですね。
つまり、Cloud PiアプリでRaspberry Piと接続した状態で自分自身の8080番ポートにアクセスすると、Cloud PiがRaspberry Piの80番ポートにその情報を送ってくれるわけです。この80と8080という番号はCloud Piアプリのラズパイ・ポートとスマホ・ポートで設定した値です。
次に、例えばラズパイ・ポートに22番、スマホ・ポートに2222番を設定して接続してみます。
この状態でSSHターミナルアプリ(今回はConnectBotを使用しました。)を起動して、
- ユーザ名:pi
- ホスト名:127.0.0.1
- ポート:2222
で接続します。パスワードの入力を求められるのでraspberryを入力すれば。Raspberry Piのシェルが現れます。
先ほどと同じように自分自身(Android)の2222番にアクセスしたものがCloud Piを経由してRaspberry Piの22番(ssh)に届きます。
これで出先からでも自由にRaspberry Piを操作することができちゃいます。
Cloud Piのクライアント側設定はこれだけです、インストールしてUIDとパスワードとポート番号を入れただけでしたね。
このようにCloud Piを使えばRaspberry Piのリモートコントロールがとっても簡単に実現できてしまいます。
さて、せっかくなので次回はもう少し具体的な使用例としてCloud Piを使ってみます。
Cloud Piをつかってみました。(サーバ設定):前
Cloud Piをつかってみました。(環境センサモジュール:前編):次
Cloud Piをつかってみました。(環境センサモジュール:後編)
Cloud Piをつかってみました。(カメラモジュール)