WebIOPiを使ってスマホからRaspberry Piを遠隔操作

WebIOPi

ターミナルソフトからSSHでRaspberry Piを遠隔操作出来ますが、スマホからコマンド入力は大変ですよね。そんな不便さを解消してくれるのがWebIOPiです。

今回は、WebIOPiを使ってスマホ(Webブラウザ上)からRaspberry Piを遠隔操作して、GPIOを制御する方法について解説していきます。

目次

WebIOPiとは

Webブラウザ上からRaspberry PiのGPIO出力を操作できるツールキットです。Pythonの知識が有れば、自分でGPIO操作するプログラムを作成することも出来ます。また、HTML/Javascriptの知識が有れば、Webブラウザでのユーザーインターフェイスを拡充することも可能です。

WebIOPiのインストール方法

WebIOPiの開発は止まっており、2015年からアップデートはありません。最新のバージョンは0.7.1となっています。新しいRaspberry Piには対応しておらず、修正プログラムを取得する必要があります。

修正プログラムはGitHubより取得出来ます。

リンク先の使用方法に従って、ターミナルで以下のコマンドを順に打つとWebIOPiのセットアップが完了します。

$ wget http://sourceforge.net/projects/webiopi/files/WebIOPi-0.7.1.tar.gz
$ tar xvzf WebIOPi-0.7.1.tar.gz
$ cd WebIOPi-0.7.1
$ wget https://raw.githubusercontent.com/doublebind/raspi/master/webiopi-pi2bplus.patch
$ patch -p1 -i webiopi-pi2bplus.patch
$ sudo ./setup.sh

WebIOPiの環境設定

WebIOPiの環境設定を変更するには、/etc/webiopi/configをテキストエディタで開き、内容を書き換えます。

テキストエディタは何でも良いですが、自分はnanoを愛用しています。ターミナルで次のコマンドを打ち込みましょう。

sudo nano /etc/webiopi/config

configファイルを編集することが出来ます。

ドキュメントルートの変更

ドキュメントルートを変更するには、[HTTP]セクションのdoc-root 部を変更します。

doc-root = /home/pi/WebIOPi-0.7.1/htdocs

パスワード入力の省略化

デフォルトでは、WebIOPiのパスワードを求められます。パスワードを省力したい場合は、[HTTP]セクションのpasswd-file = /etc/webiopi/passwdの頭に#を付けてコメントアウトします。

#passwd-file = /etc/webiopi/passwd

ウェブブラウザからRaspberry PiのGPIOを操作

WebIOPiの起動/停止

WebIOPiを起動するには、ターミナルで以下のコマンドを打ちます。

sudo service webiopi start

停止するには以下の通りです。

sudo service webiopi stop

WebIOPiでGPIO出力の操作

Webブラウザからhttp://<Raspberry PiのIPアドレス>:8000にアクセスします。

パスワードが求められますので

  • ユーザー名: webiopi
  • パスワード: raspberry

でログイン出来ます。

WebIOPiのメインメニューページが立ち上がります。GPIO出力を操作するには、GPIO Headerをクリックします。

GPIO Headerページが表示されます。

IN/OUTボタンをクリックするとと表示が切り替わります。に切り替えた後、ピン番号をクリックすることによってピン番号の色を黒から黄に変更できます。黒が出力オフ(0V)、黄色が出力ON(+3.3V)です。

まとめ

WebIOPiを使ってスマホ(Webブラウザ上)からRaspberry Piを遠隔操作して、GPIOを制御する方法について解説しました。

行ったことは

  • WebIOPiのインストール
  • WebIOPiの環境設定
  • WebIOPiのメインメニューをWebブラウザで表示し、GPIO出力の制御

です。

ターミナルソフトからコマンドを打たなくても、WebブラウザからGPIOピン番号をクリックするだけでGPIO出力を制御出来ます。WebIOPiを使えばキーボードのないスマホでもRaspberry Piの制御が簡単ですね。

今回は、WebIOPiデフォルトのメインメニューからGPIOを制御しましたが、HTML/CSS、JavaScript、Pythonの知識が有れば、ユーザーインターフェイス拡充やプログラム処理を実行することも可能です。

今後、WebIOPiのプログラミングについて解説したいと思います。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

大学で機械工学を学んだ後、製造業で働く40代の会社員です。
IT系、電気系を学んでこなかった機械系人間が、ゲーム制作、電子工作に奮闘してます。
極力低コストでものづくりを楽しむのがモットー。

目次