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

WebIOPi・ドライバは、オープンソースソフトウェア(Apache License 2.0)です。
(作者および弊社が動作を保証するものではありません)
尚、Raspbian BusterおよびStretchで動作を確認しています。(最終確認日:2019年11月14日)
今後OS等の仕様変更により動作しなくなる可能性があります。

準備

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

ラズベリーパイにWebIOPiをインストールする
DIO-0/16RC-IRCのセットアップ(ラズベリーパイ)

ソフトウェアの設定

「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_0_16rc_irc.py
$ wget https://raw.githubusercontent.com/y2cjp/WebIOPi/master/WebIOPi-0.7.1/python/webiopi/devices/digital/pca9555.py

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

$ sudo nano __init__.py

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

DRIVERS["dio_0_16rc_irc"] = ["DIO_0_16RC_IRC"]

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

$ 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_0_16 = DIO_0_16RC_IRC

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

動作確認

WebIOPiを起動します。

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

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

  • デフォルトユーザー名:webiopi
  • パスワード:raspberry

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

DIO-0/16RC-IRCのWebIOPiでのブラウザ表示

REST APIも使用できます。

HTTP POST /devices/dio_0_16/0/value/1         # OUT0をオン
HTTP POST /devices/dio_0_16/*/integer/0xffff  # 全ての出力をオン

HTTP GET  /devices/dio_0_16/1/value           # OUT1の状態を読み出し
HTTP GET  /devices/dio_0_16/*/integer         # 全ての出力状態を読み出し

参考資料

DIO-0/16RC-IRCの製品情報・ドキュメント
WebIOPi公式サイト