WebブラウザからRaspberry Pi を操作する(WebIOPi 利用)
解説
(「Raspberry Pi 1」を使用した、古い情報です。
新しい情報は、「ホーム > フィジカルコンピューティング > Raspberry Pi 3 > WebブラウザからRaspberry Pi を操作する(WebIOPi 利用)」にまとめています。)
WebIOPi を利用すると、Webブラウザから Raspberry Pi をリモート操作することができます。
(Control, debug, and use your Pi's GPIO locally or remotely, from a browser
or any app.
http://code.google.com/p/webiopi/wiki/INTRODUCTION)
WebIOPi を利用すると、Arduinoのスケッチ風のフォーマットで、Raspberry Pi を操作するプログラムを書くことができます(setup関数/loop関数/destroy関数)。
( You can write your scripts with an Arduino sketch-like format using setup/loop/destroy
functions.
http://code.google.com/p/webiopi/wiki/PYTHONSERVER)
最低すべきこと
・スクリプトファイル
- 定常時の処理
- 定常時の処理の定義は、Arduinoのスケッチ風のフォーマットで記述します。
setup関数/loop関数/destroy関数 に必要な処理を記述します。 - Webブラウザからの要求時の処理
- Webブラウザからの要求時の処理の定義は、マクロ関数として記述します。
「@webiopi.macro」を付加した関数を定義し、必要な処理を記述します。
・HTMLファイル
- Javascriptファイルの読み込み
- WebIOPiのJavascriptファイルである「webiopi.js」を読み込む処理を記述します。
「<script type="text/javascript" src="/webiopi.js"></script>」 - マクロ関数の呼び出し
- スクリプトファイルで定義したマクロ関数を呼び出す処理を記述します。
「webiopi().callMacro( "マクロ関数名", 引数 );」
部品表
部品名 | 数量 | 商品名 | 参考価格 |
---|---|---|---|
LED | 3 | 赤色LED 3mm OSDR3133A | 100個350円 |
75Ω抵抗器 | 3 | カーボン抵抗(炭素皮膜抵抗) 1/6W 75Ω | 100本100円 |
Raspberry Pi | 1 | Raspberry Pi Type B 512MB | 3,300円 |
ブレッドボード | 1 | EIC-801 | 250円 |
ジャンパーワイヤ | 適量 | ジャンパーワイヤ(オス-メス) | 10本300円 |
接続例
WebIOPiのインストール
Raspberry Pi にWebIOPiをインストールしてない場合は、まず、WebIOPiをインストールします。
WebIOPiのインストール
スクリプトファイルの作成
Webブラウザからの要求を処理するスクリプトファイルを作成します。
「/home/pi/work/webiopi」フォルダに、「testcallmacro.py」というファイル名で、以下の内容のスクリプトファイルを作成します。
HTMLファイルの作成
Webブラウザからアクセスする HTMLファイルを作成します。
「/home/pi/work/webiopi」フォルダに、「testcallmacro.html」というファイル名で、以下の内容のHTMLファイルを作成します。
WebIOPi サービスの設定の変更
WebIOPi のサービスを開始したときに、作成したスクリプトが実行されるように、WebIOPi サービスの設定を変更します。
また、Webブラウザからアクセスしたときに、作成したHTMLが表示されるように、WebIOPi サービスの設定を変更します。
WebIOPi サービスの設定は、「/etc/webiopi/config」ファイルに記述されています。
以下のコマンドを実行し、「/etc/webiopi/config」ファイルを開きます。
[SCRIPTS] セクションを探し、[SCRIPTS] セクションの「myscript =」を以下のように書き換えます。
[HTTP] セクションを探し、[HTTP] セクションの「doc-root =」、「welcome-file =」を以下のように書き換えます。
編集し終えたら、
Ctrl + O
で上書き保存し、
Ctrl + X
で nano を終了します。
実行
WebIOPi のサービスを開始します。
WebIOPi のサービスを終了するには、以下のコマンドを実行します。
パソコンやスマートフォンのWebブラウザを起動し、Raspberry Pi のポート8000にアクセスします。
(認証ダイアログが表示された場合は、
ユーザー名:webiopi
パスワード:raspberry
と入力します。)