スマホから戦車を動かす!準備編/WobIOpiセットアップ
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が消灯するのがわかります。
これで準備が出来ました。
モーター制御からリモコン操作に至る過程の記事です。他の記事もぜひ、ご覧ください。
- bluetooth 通信でリモコン操作 pi3 と zero WH で通信を行う
- ラズパイでリモコンタンク製作準備!モーター制御成功!
- 戦車を製作して、ラズパイでリモートコントロールしてみた!
- スマホから戦車を動かす!準備編/WobIOpiセットアップ 本記事です
- ラズパイ戦車をスマホからコントロールする
- TAMIYAのロボット工作キットをラズパイで制御する!準備編
- TAMIYAのロボット工作キットをラズパイで制御する!実践編
- ラズパイを使ってCAM-PROGRAM ROBOTをリモコン化した
- リモコンCAM-PROGRAM ROBOTにカメラを搭載しようとしたが・・!
- えれェ小さなモータードライバーを使ってモーターを制御してみた
ディスカッション
コメント一覧
まだ、コメントがありません