スマホから戦車を直接動かす!準備編/WobIOpiセットアップ

シェアする

Pocket

1.次にやるべきこと

bluetoothを使用した戦車のリモートコントロールに成功した60爺の次の挑戦は、スマホから直接指示を与えて戦車をコントロールすることです。

単純に、スマホから ssh を使用して行えば、先ほどのもので実行すれば、スマホから動かしたように見えますが、それでは面白くありません。

スマホ上に、ボタン等を配置して、それを押すことで戦車を動かしてみることを目標にします。

2.何を使用して実現するか

さて、それでは、上述したことを実現する方法はあるのでしょうか?少し、調べてみたんですが、wubiopi というソフトで実現できるようです。

このページです。こんなことが書いてあります。

WebIOPi を利用すると、Webブラウザから Raspberry Pi をリモート操作することができます。 (Control, debug, and use your Pi’s GPIO locally or remotely, from a browser or any app.

3.WebIOPiのインストール

先ほどのページを忠実に実施することで、何の問題もなく WebIOPi のインストールが完了できます。

(1) 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]

(2) ダウンロードファイル解凍

pi@raspberrypi:~ $ tar xvzf WebIOPi-0.7.1.tar.gz
WebIOPi-0.7.1/


WebIOPi-0.7.1/setup.sh

(3) 修正プログラムダウンロード

解凍した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]

(4) ダウンロードプログラム適用

ダウンロードした修正プログラムでパッチを当てます。

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

(5) セットアップ実施

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

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のインストールは完了です。

4.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 を動かす準備ができました。

5.動作確認

さて、それでは、WebIOPi の動作確認を行いましょう。

(1) WebIOPi をサービスとして開始

まずは、WebIOPi をサービスとして開始します。

pi@raspberrypi:~ $ sudo systemctl start webiopi

(2) ブラウザ起動ポート8000にアクセス

パソコンやスマートフォンのWebブラウザを起動し、WebIOpiをインストールしたRaspberry Pi のIPアドレスのポート8000にアクセスします。

IPアドレス:8000と指定してクリックします!

すると、認証ダイアログが表示されるので、以下入力をします。

  • ユーザー名:webiopi
  • パスワード:raspberry
これは、スマホでの入力画面です

すると、次のようなページが表示されます。

「GPIO Header」を選択すると、GPIOピンの設定(入力/出力)、状態(HIGH/LOW)を確認・変更できる画面が表示されます。

左右のグレー背景白抜き文字のボタンは、それぞれのGPIOピンの入力/出力の設定を表します。

INが入力、OUTが出力を示しますが、最初は全てが、INになっています。クリックすると、IN/OUTの設定が変わります。

IN をクリックすると!
OUT に変わります!

中央の白抜き数字のボタンは、それぞれのGPIOピンのHIGH/LOWの状態を表します。

グレーがLOW、オレンジがHIGHを表しています。こちらもクリックすることで、HIGH/LOWの状態が変わります。

これで、12番ピンがHIGHとなりました

6.Lチカをやってみた

それでは、動作検証するため、上記のピン12にLEDをつないで、Lチカをやってみました。

回路は、簡単なので写真しか載せません。

実行結果を動画で見てください。

画面上のグレーの 12 をクリックすると、背景がオレンジに変わると共に、LEDが点灯します。

次に、オレンジの 12 をクリックすると、背景がグレーに戻り、LEDが消灯するのがわかります。

スポンサーリンク

シェアする

フォローする