読者です 読者をやめる 読者になる 読者になる

Raspberry Π

Raspberry Piでいろんなことをやってみようというブログです。

mincraft

第11回 Raspberry Piでラジコンを作る。

前回まででWebサーバ対応とGPIOコマンドによるラズコン(ラズパイ+ラジコン)操作が可能になりました。
今回でそれを組み合わせて、スマホからラズコンを操作できるようにします。
f:id:taka230035:20161127151810j:plain:w300

また記事の最後に大切なお知らせがありますので、今回少し長いですが、最後まで読んだいただけますと嬉しく思います。



前回の記事は以下です。

rasp0035.hatenablog.com






phpよりシェルスクリプトを実行する

前回シェルスクリプトを作成したので、Webページからシェルスクリプトを実行できるようにします。
Webページはphpを使って製作します。

ラズパイの /var/www/htmlよりphpファイル(moter.php)を作ります。

cd /var/www/html

sudo vi moter.php


以下のプログラムを記載します。

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<title>moter</title>
</head>
<body>
<form method="POST" action="">
<input type="submit" value="init" name="button"> 
<input type="submit" value="start" name="button"> 
<input type="submit" value="stop" name="button"> 
</form>

<?php
if (isset($_POST["button"])) {
    switch (htmlspecialchars($_POST["button"], ENT_QUOTES, "UTF-8")) {
        case "init": shell_exec("sh ./init.sh"); break;
        case "start": shell_exec("sh ./start.sh"); break;
        case "stop": shell_exec("sh ./stop.sh"); break;
        default:  echo "error"; exit;
    }
}
?>
</body>
</html>



phpの説明は省きますが、ボタンの表示とボタンを押したときの処理でシェルスクリプトを呼び出すようにしております。




Webページを確認する

それではスマートフォンよりWebページを確認してみましょう。
スマホのブラウザ画面よりURL入力欄にラズパイにある上記phpファイルを指定します。

192.168.X.X/moter.php



ページが表示されると思うのですが、表示されない場合はPCからも確認してみましょう。
PCからも表示されない場合は、Webサービスが停止している場合があります。

以下のコマンドをラズパイのコンソールで入力してみてください。

$ sudo service lighttpd start



問題なく表示された場合、
moter.phpファイルのデザインは以下のようになっております。
f:id:taka230035:20161127135554p:plain:w200

本当はすこし凝ったデザインにしても良いかもしれませんが、自分しては使用できればよいので、デザイン性は質素・皆無となります。

一応、スマートフォンからでもボタンが押しやすいようにしております。



う ご か す !!!

最新のラズコンは見た目も少し変えていて、少し干渉を減らしております。
f:id:taka230035:20161127143523j:plain:w200


それでは動かしましょう。
f:id:taka230035:20161127151145g:plain:w200
動きました!!
わかりにくいですが、
init → start → stop → start → stop
と実行しています。
ラズコンの動き、相変わらず遅いですね。

ただ、スマートフォンの操作に変えただけでも、なかなかかっこよくラジコン感が出たと思います。


かなり満足です。




告知

さて、課題はまだ残っているものの、第1回の目標であったラズコンは製作できました。
第1回のリンクは以下です。

rasp0035.hatenablog.com


そして、ここで第一回で記載した”やりたいこと”の報告です。

ずばり、今回作ったラズコンでレースコンテストをしたいと思います。
コンテストなので、もちろん本サイトに訪れた方を誘って、


ラズコンでレース大会!!


具体的な内容を以下の記事にまとめました。

rasp0035.hatenablog.com


まだ課題はあり、レース対応をしていきますので、引き続きこのシリーズは続きます。
今回は以上です。


次回のリンクは以下となります。

rasp0035.hatenablog.com