開発が終了したWebIOPiを最新のRaspbianで動作させよう。

0
1979

WebIOPiはウェブブラウザからラズベリーパイのGPIOをポートを制御できるフレームワークです。WebIOPiはWebサーバー機能も動作しているため、プログラムを作らなくてもウェブブラウザからWebIOPiのURLにアクセスして、Javascriptで簡単にGPIOポートに接続した電子回路などを操作できます。

WebIOPiは2018年1月現在では開発がとまっており、ヴァージョンが0.7.1となっているため、最新のラズベリーパイでは動作しません。しかし、パッチを充てることで動作させることが可能です。

STEP1.まずはWebIOPiをダウンロードして解凍

WebIOPiはpythonでかかれたオープンソースのフレームワークです。ラズベリーパイ上で公式サイトを開いて「WebIOPi-0.7.1.tar.gzをクリックしてダウンロードします。(公式サイト:http://webiopi.trouch.com/ )

通常は、Downloadフォルダ内にダウンロードされていますので、ファイルマネージャーからDownloadフォルダを開いてWebIOPi-0.7.1.tar.gzファイルを右クリックして「指定先にファイルを展開」をクリックします。

展開する場所はホームディレクトリにしておきますので、パスを「/home/pi」にして、「展開」ボタンをクリックして展開します。

するとホームディレクトリにWebIOPi-0.7.1というフォルダが出来上がります。

STEP2. WebIOPiにパッチを当てて修正、インストール。

WebIOPiは初期のころのラズベリーパイでは動作しますが、Raspberry Pi3 ModelBでは動作しません。そのため修正プログラムをGitHubより取得します。

まずは、ターミナルを起動して、以下のようにコマンドを入力して、WebIOPi-0.7.1フォルダ内に移動します。

続いて、以下のようにコマンドを入力して、wgetにてパッチファイルをゲットして、パッチを当てます。

$ wget https://raw.githubusercontent.com/doublebind/raspi/master/webiopi-pi2bplus.patch
$ patch -p1 -i webiopi-pi2bplus.patch

最後にセットアップスクリプトを実行してインストールします。少々待ち時間があります。

$ sudo ./setup.sh

途中で「Do you want to access WebIOPi over Internet?」[Y/N]と聞かれます。これはインターネット側から操作したい場合の設定で後からも変更可能ですので、ここでは「N」と入力してEnterを押しておきましょう。

STEP3. 環境を整えサンプルファイルを設置。

次に、ホームディレクトリ内にWebIOPi用にドキュメントルート(WebIOPiでアクセスするためのディレクトリ)を作成します。任意の名前でよいですが、ここでは「webiopi」というフォルダをホームに作成し、ここをドキュメントルートにします。

ホームディレクトリに移動して以下のコマンドを入力します。

$mkdir webiopi

するとホームディレクトリにwebiopiというフォルダが作成されます。

WebIOPiをインストールすると、/usr/share/webiopi/htdocs 内にサンプルプログラムがインストールされていますので、このフォルダ内を全て今回柵下webiopiフォルダ内にcpコマンドで以下のようにしてコピーします。

$ cp -r /usr/share/webiopi/htdocs/*  webiopi/

次に/etc/webiopi/configファイルをテキストエディタで開いてドキュメントルートの位置をwebiopiフォルダに設定します。今回使うテキストエディタはleafpadというものを使います。

$ sudo leafpad /etc/webiopi/config

Leafpadでconfigファイルが開いたら、doc-rootと書かれた場所を探し、先頭の#マークを削除して、以下の図のようにファイルのパスを設定します。

編集が完了したら、「ファイル」-「保存」を行ってドキュメントルートの設定は完了です。

STEP4. 動作を確認する。

まずは、webiopiの機能を起動します。起動には以下のコマンドを使います。

$ sudo systemctl start webiopi

特にエラーがで表示されなければ、これでwebiopiが起動しています。

次にアクセス可能かどうか、動作を確認します。まずウェブブラウザを開いて以下のURLを入力します。

http://raspberrypi.local:8000

必ずhttp://から入力してください。(これはポート番号8000を指定しているため行います。)

画面が開くと認証画面になりますので、ユーザー名:webiopi  パスワード:raspberry を入力して進みます。

以下のような画面が表示されればWebIOPiは無事インストールが完了し、動作していることになります。

webiopiの動作を停止させるには、以下のコマンドを入力します。

$ sudo systemctl stop webiopi

以上が、WebIOPiのインストールから起動・終了までの流れです。