丸パンダ研究所のRapiro、しゃべるようになった。カメラもつけた。
しかし、それぞれの機能がバラバラで操作がめんどくさい。
そんなわけで、Rapiroの機能をひとまとめにしたインターフェイスを作成して、ブラウザから操作できるようにした。
WebIOPiを使ってWebサーバーを立てる
WebIOPiとは
WebIOPiとは、Raspberry PiにWebサーバーを立てて、ブラウザ経由でGPIOの制御やPythonスクリプトの実行ができるソフトウェア。
HTMLやJavaScriptで作った画面から、センサーやデバイスを操作できるようになる。
WebIOPiのセットアップ
WebIOPiをダウンロードする。
wget https://sourceforge.net/projects/webiopi/files/WebIOPi-0.7.1.tar.gz
ダウンロードが終わったら、解凍する。
tar xvzf WebIOPi-0.7.1.tar.gz
「WebIOPi-0.7.1」ディレクトリで、WebIOPi用のパッチファイルをダウンロードして適用する。
cd WebIOPi-0.7.1
wget https://raw.githubusercontent.com/doublebind/raspi/master/webiopi-pi2bplus.patch
patch -p1 -i webiopi-pi2bplus.patch
セットアップスクリプトを実行する。
途中で「Do you want to access WebIOPi over Internet ? [y/n]」(インターネット経由でWebIOPiにアクセスしますか?)と表示されたら、「n」を入力する。
sudo ./setup.sh
「/etc/systemd/system/」ディレクトリに移動して、systemd用のサービス定義ファイルをダウンロードし、systemctlでWebIOPiを操作できるようにする。
cd /etc/systemd/system/
sudo wget https://raw.githubusercontent.com/doublebind/raspi/master/webiopi.service
接続の確認
WebIOPiを起動。
sudo systemctl start webiopi
WebIOPiのステータスを確認。
「Active: active (running)」となっていれば、正常に起動している。
sudo systemctl status webiopi
必要に応じてサービスを停止・再起動することもできる。
[停止]
sudo systemctl stop webiopi
[再起動]
sudo systemctl restart webiopi
ブラウザで以下のURLにアクセス。
http://[RapiroのIPアドレス]:8000/
例:丸パンダ研究所のRapiroの場合
http://192.168.95.198:8000/
認証のダイアログが表示されたら、デフォルトのユーザー名とパスワードを入力してログインする。
ユーザー名:webiopi
パスワード:raspberry
下の画面が表示されればOK。

自動起動を有効にして再起動。
sudo systemctl enable webiopi.service
sudo reboot
自動起動を無効にする場合。
sudo systemctl disable webiopi
認証情報の変更
WebIOPiの認証情報を変更。
sudo webiopi-passwd
以下の情報を入力する。
- Enter Login: 使用するユーザー名
- Enter Password: 使用するパスワード
- Confirm password: 確認のためにもう1回使用するパスワード
セキュリティ面が不安なので推奨はしないが、認証が不要な場合は、設定ファイルでパスワードの部分をコメントアウトすればよい。
/etc/webiopi/configを開く。
ここではvimを使用しているが、好きなエディタで構わない。
sudo vim /etc/webiopi/config
[HTTP]のところにあるpasswd-fileの行を「#」をつけてコメントアウトする。
#passwd-file = /etc/webiopi/passwd