デジタル入出力をブラウザから操作する(WebIOPiを使用)

準備

初めて使用する場合は、WebIOPiのインストールとセットアップ(ボードの取り付け)をおこないます。

ソフトウェアの設定

「WebIOPi-0.7.1/python/webiopi/devices/digital」ディレクトリに移動します。

$ cd ~/WebIOPi-0.7.1/python/webiopi/devices/digital

ドライバをダウンロードします。

$ wget https://raw.githubusercontent.com/y2cjp/WebIOPi/master/WebIOPi-0.7.1/python/webiopi/devices/digital/dio_8_4rd_irc.py

エディタで「__init__.py」を開きます。

$ sudo nano __init__.py

最終行に以下を追加します。

DRIVERS["dio_8_4rd_irc"] = ["DIO_8_4RD_IRC"]

上書き保存をしてエディタを終了します。
(「Ctrl+X」 → 「Y」 → 「Enter」)

セットアップスクリプトを実行します。

$ cd ~/WebIOPi-0.7.1
$ sudo ./setup.sh skip-apt

「Do you want to access WebIOPi over Internet ? [y/n]」が表示されたら「n」を入力してから「Enter」キーを押します。

エディタで「/etc/webiopi/config」を開きます。

$ sudo nano /etc/webiopi/config

[DEVICES]セクションにボード定義を追加します。

[DEVICES]
dio_8_4 = DIO_8_4RD_IRC

上書き保存をしてエディタを終了します。
(「Ctrl+X」 → 「Y」 → 「Enter」)

動作確認

WebIOPiを起動します。

$ sudo webiopi -d -c /etc/webiopi/config

ブラウザで「(ラズベリーパイのIPアドレス):8000/app/devices-monitor」にアクセスします。

以下のページが表示されます。
ブラウザ上でデジタル入出力の動作確認がおこなえます。

DIO-8/4RD-IRCのWebIOPiでのブラウザ表示

REST APIも使用できます。

HTTP GET  /devices/dio_8_4/8/value     # IN0を読み出し
HTTP GET  /devices/dio_8_4/*/integer   # IN8~0, OUT8~0を一括読み出し

HTTP POST /devices/dio_8_4/0/value/1   # OUT0をオン

参考資料