ものづくりブログ

ゼロからスタートして何かを作って世に出すまでのことを書くブログです.

WebIOPiを使ってスマホでRaspberry Piを制御する(準備編)

 

こんにちは.

 

ここまで学んできたことでラズパイを使ってかなり色々なことができるようになりましたが,他の人に使ってもらおうと思うと少しハードルが高いと思います.なぜならコマンドラインを使いこなせる人がそう多くはないからです.そこで,ブラウザを使ってPCやスマホから制御するようにしたいと思います.

 

そのために使用するのがWebIOPiというフレームワークです.フレームワークとは複雑な処理を簡単にしてくれて(抽象化と言います),人間がより使いやすくしてくれる仕組みのことです.

 

以下のWEBサイトからMacインストーラをダウンロードします.

 

WebIOPi - Browse Files at SourceForge.net

 

それを以前の記事を参考にSFTPでラズパイに転送します.転送先は/home/piの直下にします(以下の画面).

 

f:id:daisukekmr:20150201224551p:plain

 

ラズパイにログインして,以下のコマンドを入力して先ほど転送したファイルを展開します.

 

tar xvfz WebIOPi-0.7.0.tar.gz

※"WebIOPi-0.7.0.tar.gz"の部分はダウンロードしたファイル名に合わせてください.

 

次に,セットアップスクリプトを実行します.これはインストールに必要な手順をシェルスクリプトにしてくれているものです.nanoでsetup.shの中身を見ると勉強になるかもしれません.このスクリプトはWebIOPi-0.7.0というディレクトリの中にあるため,cdコマンドでそのディレクトリに移動します.

 

cd WebIOPi-0.7.0

sudo ./setup.sh

 

以下の文字列が表示されたらインストール成功です.

 

WebIOPi successfully installed

 

そしてそのままWebIOPi-0.7.0のディレクトリで,下記のコマンドを実行します.

 

sudo /etc/init.d/webiopi start

 

WebIOPiはデーモンと言って,常に命令を待ち受ける形で起動されます.上記のコマンドはそれをスタートするためのものです.

 

システム起動時に自動的にWebIOPiが起動するように設定するには,下記のコマンドを実行します.

 

sudo update-rc.d webiopi defaults

 

次に一般ユーザである「pi」にWebサーバのドキュメントルート(ファイルをアップロードするところ)のオーナー権限を付与します.

 

sudo chown pi -R /usr/share/webiopi/htdocs

 

権限が付与できたらその場所にテスト用のディレクトリを作成します.

 

sudo mkdir /usr/share/webiopi/htdocs/test

 

これで準備は完了です.実際にブラウザからアクセスしてみましょう.Macでもスマホでも構わないので,ブラウザから下記の通りのURLでアクセスします.その時,そのMacスマホがラズパイと同じルータに接続している必要があります.

 

http://[ラズパイのIPアドレス]:8000

 

例えば私の場合,ラズパイのIPアドレスが192.168.11.21なので,以下のようなURLになります.

 

http://192.168.11.21:8000

 

8000はWebIOPiが割り当てられているポート番号です.ポート番号とはアプリケーションに割り当てられている番号でした(以前の記事).

 

うまくアクセスできるとIDとPASSWORDを求められますので,下記の通り入力します.

 

ID: webiopi

PASSWORD: raspberry

 

ログインできたら下記のような画面が表示されるはずです.

 

f:id:daisukekmr:20150204233216j:plain

 

そこからGPIO Headerを選択すると,下記の画面に遷移します.

 

f:id:daisukekmr:20150204232917j:plain

 

次回はこの画面の説明と,実際に使ってみる方法を解説します.

 

 

参考文献

[1]Raspberry Piで遊ぼう! 改訂第3版 〜 モデルB+完全対応

[2]hiramine.com「WebIOPiのインストール」(http://www.hiramine.com/physicalcomputing/raspberrypi/webiopi_install.html)