自動車エンジニアのアップデート

自動車エンジニアのアップデート

自動車部品メーカー勤務ソフトエンジニアの情報発信ブログ

~ 車載 ソフト エンジニア の 情報発信 ブログ ~

【 Raspberry Pi 4 】WebIOPi を利用してGPIOを操作してみる

f:id:Vefortec:20200523174150p:plain

WebIOPi公式サイトより引用

ラズパイで遊びながら、知見を広げたいレオハルです。

普段は、車載組込みソフト開発に従事しているため、IT系、Web系の知識が皆無です。

本日は、そんな私がRaspberr Pi 4を使いながら、ブラウザ経由でGPIOを操作してみた記録です。色々な方法があるようですが、一番簡単にできそうだったWebIOPiを利用してみることにしました。

超初歩的な内容が故に偉大な先人達がRaspberr Pi 3以前の環境で記録を残してくれています。Raspberr Pi 4でも同様にやれることを確認していきましょう。

 

環境

 ↓これ買って使ってます。

WebIOPiのインストール

まず、WebiOPiをダウンロードします。 コンソールでコマンド実行していきます。

$ wget https://sourceforge.net/projects/webiopi/files/WebIOPi-0.7.1.tar.gz

ダウンロードが終わったら、解凍しましょう。

$ tar xvzf WebIOPi-0.7.1.tar.gz

解凍したフォルダに移動います。

$ cd WebIOPi-0.7.1

続いて、修正パッチが出ているらしいので、ダウンロードして適用させます。

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

 セットアップスクリプトを実行し、インストールしていきます。

$ sudo ./setup.sh

これでインストールは完了です。
次に使い勝手を向上させるための設定をしておきました。

サービスの起動・停止

systemctlを利用して、サービスの起動や停止、状態確認をできるように登録します。

$ cd /etc/systemd/system/
$ sudo wget https://raw.githubusercontent.com/doublebind/raspi/master/webiopi.service

次のコマンドで開始、停止、状態確認、再始動ができます。

$ sudo systemctl start webiopi
$ sudo systemctl stop webiopi
$ sudo systemctl statu webiopi
$ sudo systemctl restart webiopi

私は毎回入力するのも面倒なので、自動起動するようにしてみました。

$ sudo nano /etc/rc.local

エディタでrc.localを起動すると、最後に「exit 0」があります。
これより前に、上記の開始コマンドを記述し、保存すると、起動後に自動的にコマンドを実行してくれます。

ちなみに、起動時に開始させる方法もいくつかあるようですので、興味のある方は調べてみてください。

ローカル環境のブラウザから動作確認

ラズパイのブラウザから「 http://localhost:8000/ 」にアクセスします。

f:id:Vefortec:20200524102029p:plain

ユーザ名・パスワードを聞かれるので、入力します。
デフォルトでは、次のようになっています。

 ユーザ名: webiopi

 パスワード: raspberry

 

ログイン後、メインメニューのページが開きます。

WebIOPiメニュー

GPIO Headerを開くと次の画面に遷移します。
自分の環境で設定しているGPIOの「IN/OUT」を切り替え、数字部分で「 ON/OFF 」を切り替えることができます。

WebIOPi操作画面

同一ネットワーク内のスマホからアクセス

続いて、ローカルネットワーク内の同じWifiに接続しているスマホからアクセスします。

スマホのブラウザに「 http://***.***.***.***:8000/ 」と入力し接続します。
「***」部分には、ラズパイのIPアドレスを記述してください。
あとの要領は、先ほどのローカル環境での操作と同じです。

操作感は、動画でどうぞ。


『Raspberry Pi4 』WebIOPi GPIO操作

 

いかがでしたでしょうか?
プログラムを組む必要すらなく、簡単にGPIOの操作が出来ました。
ウェブブラウザの表示ページをカスタマイズも可能なので、簡単にIotデビューが出来そうです。