WebIOPiはWEBブラウザからGPIOの入出力が操作できるツールです。
WebIOPi - The Raspberry Pi Internet of Things Framework
Raspberry PiのGPIOの一覧が表示できたり、
GPIOをクリックするごとON/OFF、IN/OUTを切り替えられます。
インストール方法
まず、CentOSのインストールはこちら。
必要なパッケージをインストールします
# yum install python-devel patch
最新のWebIOPiをダウンロードして解凍
# wget http://downloads.sourceforge.net/project/webiopi/WebIOPi-0.7.1.tar.gz # tar xvf WebIOPi-0.7.1.tar.gz
ディレクトリ移動してRaspberry Pi3向けのパッチ適用
# cd WebIOPi-0.7.1 # wget https://raw.githubusercontent.com/doublebind/raspi/master/webiopi-pi2bplus.patch # patch -p1 -i webiopi-pi2bplus.patch
インストールを実行します。
# ./setup.sh
途中で以下の質問が出るのでnでスキップします。
Do you want to access WebIOPi over Internet ? [y/n] n
systemd登録
CentOS7なのでsystemdで制御します。systemdの定義をGithubから拝借します。
# wget https://raw.githubusercontent.com/neuralassembly/raspi/master/webiopi.service
このままだと環境と合わないので、一カ所だけ書き換えます。
- 書き換え前
ExecStart=/usr/bin/python3 -m webiopi -l /var/log/webiopi -c /etc/webiopi/config
- 書き換え後
ExecStart=/bin/python -m webiopi -l /var/log/webiopi -c /etc/webiopi/config
systemdの所定のフォルダにファイルを移動します。
# mv webiopi.service /etc/systemd/system/
systemctlでスタートと自動起動有効化します。
# systemctl daemon-reload # systemctl start webiopi.service # systemctl status webiopi.service ● webiopi.service - WebIOPI Loaded: loaded (/etc/systemd/system/webiopi.service; disabled; vendor preset: disabled) Active: active (running) since Fri 2016-06-03 23:02:22 JST; 4s ago Main PID: 2150 (python) CGroup: /system.slice/webiopi.service └─2150 /bin/python -m webiopi -l /var/log/webiopi -c /etc/webiopi/config
ログを確認するとHTTPのアクセスURLがわかります。
# tail /var/log/webiopi <略> 2016-06-03 23:23:26 - WebIOPi - INFO - HTTP Server binded on http://192.168.1.10:8000/ <略>
ここまでくると、ブラウザでアクセスすれば繋がるはずですが、繋がらない場合はFWではじかれている可能性があります。この場合Chromeだと「接続が拒否されました」と表示されたりします。
ここでは、FWを無効化しておきます。
# systemctl stop firewalld.service # systemctl disable firewalld.service
ユーザとパスワードを聞かれるので以下のように設定します。
ユーザ | パスワード |
---|---|
webiopi | raspberry |
繋がりました。