スマホから戦車を動かす!準備編/WebIOpiセットアップ
前回の記事(⇒こちらをどうぞ)では、bluetoothを使用して製作した簡易的な戦車の稼働に成功しました。
それはそれでうれしかったのですが、60爺のさらなる挑戦は、スマホから直接指示を与えて戦車をコントロールすることです。
単純に、スマホからsshを使用して行えば、現在行っている方法でも、スマホから動かしたように見えますが、それでは面白くありません。
やっぱり、スマホ上に、それなりのボタン等を配置して、それを押すことで戦車を動かしてみないと、スマホから直接指示を与えたことにはなりませんよね。
そのため、どうやれば実現できるかを図ることから始めます。
今回も、どうか最後までご一緒下さるよう、お願いします。
何を使用して実現するか
さて、それでは、上述したことを実現する方法はあるのでしょうか?少し、調べてみたんですが、webiopi というソフトで実現できるようです。
このページです。こんなことが書いてあります。
WebIOPi を利用すると、Webブラウザから Raspberry Pi をリモート操作することができます。
フーム、それでは、このソフトを使用して実行してみますか。
WebIOPiのインストール
先ほどのページを忠実に実施することで、何の問題もなく WebIOPi のインストールが完了できます。
WebIOPiダウンロード
どうやら、対象ソフトをダウンロード後に、修正パッチを当てる必要があるようです。
順に実施していきましょう。
まずは、2019/9/末現在、最新バージョンは 0.7.1 なので、WebIOPi-0.7.1.tar.gz をダウンロードします。
pi@raspberrypi:~ $ wget https://sourceforge.net/projects/webiopi/files/WebIOPi-0.7.1.tar.gz
--2019-10-02 13:55:43-- https://sourceforge.net/projects/webiopi/files/WebIOPi-0.7.1.tar.gz
sourceforge.net (sourceforge.net) をDNSに問いあわせています… 216.105.38.13
・
・
・`WebIOPi-0.7.1.tar.gz' に保存中
WebIOPi-0.7.1.tar.g 100%[=====================>] 208.88K --.-KB/s 時間 0.1s
2019-10-02 13:55:47 (1.96 MB/s) - `WebIOPi-0.7.1.tar.gz' へ保存完了 [213894/213894]
ダウンロードしたファイルを解凍します。
pi@raspberrypi:~ $ tar xvzf WebIOPi-0.7.1.tar.gz
WebIOPi-0.7.1/
・
・
WebIOPi-0.7.1/setup.sh
次に、先程、本体を解凍したWebIOPiのディレクトリに移動します。
pi@raspberrypi:~ $ cd WebIOPi-0.7.1
パッチを当てるための修正プログラム(WebIOPi-0.7.1 Patch for Raspberry B+ and Pi 2)をダウンロードします。
このパッチは、最初ダウンロードした WebIOPi-0.7.1 では、26PIN のラズパイにしか対応していないので、40PIN 用のラズパイ向けに訂正が必要であるためです。
pi@raspberrypi:~/WebIOPi-0.7.1 $ wget https://raw.githubusercontent.com/doublebind/raspi/master/webiopi-pi2bplus.patch
--2019-10-02 13:57:35-- https://raw.githubusercontent.com/doublebind/raspi/master/webiopi-pi2bplus.patch
・
・
・
webiopi-pi2bplus.pa 100%[=====================>] 6.16K --.-KB/s 時間 0.001s
2019-10-02 13:57:36 (5.31 MB/s) - `webiopi-pi2bplus.patch' へ保存完了 [6308/6308]
ダウンロードした修正プログラムでパッチを当てます。
pi@raspberrypi:~/WebIOPi-0.7.1 $ patch -p1 -i webiopi-pi2bplus.patch
patching file htdocs/webiopi.js
patching file python/native/cpuinfo.c
patching file python/native/gpio.c
patching file python/webiopi/utils/version.py
patching file python/webiopi/protocols/http.py
セットアップ実施
セットアップスクリプトを実行します。
pi@raspberrypi:~/WebIOPi-0.7.1 $ ./setup.sh
Installing WebIOPi…
・
・
・
Installing startup script…
Installing webiopi command…
Installing webiopi-passwd command…
このスクリプト実行には、そこそこの時間がかかります。
ほっておくと、以下の質問でセットアップ画面が中断しますので、「n」を入力します。
Do you want to access WebIOPi over Internet ? [y/n]
n
WebIOPi successfully installed
* To start WebIOPi foreground : sudo webiopi [-h] [-c config] [-l log] [-s script] [-d] [port]
* To start WebIOPi background : sudo /etc/init.d/webiopi start
* To start WebIOPi at boot : sudo update-rc.d webiopi defaults
* Run ./weaved-setup.bin to install the Weaved IoT Kit and access your device over Internet
* Look in /home/pi/WebIOPi-0.7.1/examples for Python library usage examples
以上で、WebIOPiのインストールは完了です。
WebIOPi をサービスとして開始
WebIOPi をサービスとして開始するために必要なファイルをダウンロードします。
ディレクトリのセットが必要なので忘れないようにしましょう。
pi@raspberrypi:~ $ cd /etc/systemd/system/
pi@raspberrypi:/etc/systemd/system $ sudo wget https://raw.githubusercontent.com/doublebind/raspi/master/webiopi.service
raw.githubusercontent.com (raw.githubusercontent.com) をDNSに問いあわせています… 151.101.228.133
raw.githubusercontent.com (raw.githubusercontent.com)|151.101.228.133|:443 に接 続しています… 接続しました。
HTTP による接続要求を送信しました、応答を待っています… 200 OK
長さ: 259 [text/plain]
`webiopi.service' に保存中
webiopi.service 100%[=====================>] 259 --.-KB/s 時間 0s
2019-10-02 19:07:23 (992 KB/s) - `webiopi.service' へ保存完了 [259/259]
ホームディレクトリに戻ります。
pi@raspberrypi:/etc/systemd/system $ cd
これで、WebIOPi を動かす準備ができました。
動作確認
さて、それでは、WebIOPi の動作確認を行いましょう。
WebIOPi をサービスとして開始
まずは、WebIOPi をサービスとして開始します。
pi@raspberrypi:~ $ sudo systemctl start webiopi
ブラウザ起動ポート8000にアクセス
パソコンやスマートフォンのWebブラウザを起動し、WebIOpiをインストールしたRaspberry Pi のIPアドレスのポート8000にアクセスします。
すると、認証ダイアログが表示されるので、以下入力をします。
- ユーザー名:webiopi
- パスワード:raspberry
すると、次のようなページが表示されます。
「GPIO Header」を選択すると、GPIOピンの設定(入力/出力)、状態(HIGH/LOW)を確認・変更できる画面が表示されます。
左右のグレー背景白抜き文字のボタンは、それぞれのGPIOピンの入力/出力の設定を表します。
INが入力、OUTが出力を示しますが、最初は全てが、INになっています。クリックすると、IN/OUTの設定が変わります。
中央の白抜き数字のボタンは、それぞれのGPIOピンのHIGH/LOWの状態を表します。
グレーがLOW、オレンジがHIGHを表しています。こちらもクリックすることで、HIGH/LOWの状態が変わります。
これで動作確認は終了です。
Lチカをやってみた
それでは、動作検証するため、上記のピン12にLEDをつないで、Lチカをやってみました。
回路は、簡単なので写真しか載せません。
実行結果を動画で見てください。
画面上のグレーの 12 をクリックすると、背景がオレンジに変わると共に、LEDが点灯します。
次に、オレンジの 12 をクリックすると、背景がグレーに戻り、LEDが消灯するのがわかります。
これで準備が出来ました。
最後に
スマホから戦車を動かすにはどうするかを考えました。
WubIOPiというソフトを使用すれば実現可能性がありそうということで、そのセッティングを実施しました。
ダウンロード後修正パッチを当てて、WebIOPiのセッティングは無事完了しました。
LチカでWebIOPiの稼働を確認でき、戦車稼働の準備が整いました。
■思えば「リモコンタンク」の記事も増えてきました。
ディスカッション
コメント一覧
まだ、コメントがありません