I.目的
II.部品とデバイス
III.ハードウェアのインストール
IV.回路接続
V.ソフトウェアのインストール
VI.操作方法y

Buy from US Buy from UK Buy from DE Buy from IT Buy from FR Buy from ES ここでご購入を!



ラズベリーパイのロボットカーをインターネットで制御する方法はたくさんあります。 このプロジェクトでは、Raspberry PiにWebサーバーをインストールするという一般的な方法を紹介します。このプロジェクトでは、Raspberry PiにWebサーバーを設置し、Raspberry Piとの間でデータのやりとりをすることができます。

このプロジェクトが完了したら、Raspberry PiのIPアドレスにアクセスして、レッスン2で設置した5つのトラッキングセンサーのオンライン状態をブラウザウィンドウで確認することができます。



番号 画像 デバイス 個数 アクセサリー リンク
1 トラッキングセンサーモジュール 1 M2.5プラスチックネジ x 2
M2.5プラスチックナットx2
M2.5プラスチックピラー x2
ここをクリックして購入する
2 7ピン25cmメス-メスケーブル 1 ここをクリックして購入する
3 プラスドライバー 1 ここをクリックして購入する


ステップ1: レッスン2 にしたがって、スマートカーの基本フレームワークをインストールします。




ステップ1) 以下のコマンドを入力して、インストール用のシェルスクリプトファイルをダウンロードします:

wget http://osoyoo.com/driver/picar/pi-webserver.sh

と入力し、次のコマンドを入力します:

bash pi-webserver.sh

上記のコマンドを実行すると、pythonのFlaskライブラリがインストールされ、”picar-lesson3”というディレクトリと、picar-lesson3の下に”static”と”templates”という2つのサブディレクトリが作成され、以下のような構成になります

pi-webserverディレクトリには”python”のコードファイルを、”static”ディレクトリにはCSSファイルを、”templates”フォルダにはhtmlファイルを格納します。もしHTMLやCSSが何かわからなくても問題ありません。

ステップ2) “hostname -I “コマンドを実行して、Raspberry PiのIP番号を画面に表示取得します:

上の結果では、 192.168.0.107がこのラズベリーパイのIPアドレズ番号です

ステップ3) pythonコードファイルを編集して、IPアドレスを変更します。

次のコマンドを入力してpi-webserver.py ファイルをエディターで編集します:

cd pi-webserver


次のコマンドを入力して、pi-webserver.pyファイルを編集します:

nano pi-webserver.py

192.168.0.107」をあなたのRaspberry PiのIPアドレス番号」に置き換えてください。そして、「ctrl」と「x」をクリックし、「Y」をクリックしてファイルを保存し、「enter」をクリックしてファイルを終了してください。

nanoエディタでpi-webserver.py ファイルを開くと、以下のようなpythonコードが表示されます。
確認が出来ましたら、「ctrl」と「x」をクリックし、「Y」をクリックしてファイルを保存し、「enter」をクリックしてファイルを終了してください

import RPi.GPIO as GPIO
from flask import Flask, render_template, request
app = Flask(__name__)
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
pi_ip_address='10.0.0.89' # replace this ip value with your Raspberry Pi IP address, you can use ifconfig command to see the IP

#define actuators GPIOs
sensor1= 25 # No.1 sensor from right
sensor2= 9 # No.2 sensor from right
sensor3= 11 # middle sensor
sensor4= 8 # No.2 sensor from left
sensor5= 7 #No.1 sensor from left
#initialize GPIO status variables
Sts1 = 0
Sts2 = 0
Sts3 = 0
Sts4 = 0
Sts5 = 0

# Define sensor pins as output
GPIO.setup(sensor1, GPIO.IN)   
GPIO.setup(sensor2, GPIO.IN) 
GPIO.setup(sensor3, GPIO.IN) 
GPIO.setup(sensor4, GPIO.IN)   
GPIO.setup(sensor5, GPIO.IN) 

		
@app.route("/")
def index():
	# Read Sensors Status
	Sts1 = GPIO.input(sensor1)
	Sts2 = GPIO.input(sensor2)
	Sts3 = GPIO.input(sensor3)
	Sts4 = GPIO.input(sensor4)
	Sts5 = GPIO.input(sensor5)

	
	templateData = {
      'title' : 'IR tracking sensor Status!',
      'sensor_status_1'  : Sts1,
      'sensor_status_2'  : Sts2,
      'sensor_status_3'  : Sts3,
      'sensor_status_4'  : Sts4,
      'sensor_status_5'  : Sts5
      }
	return render_template('index.html', **templateData)

if __name__ == "__main__":
   app.run(host=pi_ip_address, port=80, debug=True)

 

ステップ4) 以下のコマンドを入力して、pi-webserver.pyコードを実行します:

sudo python pi-webserver.py

ステップ5) python flask ウェブサーバーが起動します。Raspberry Piと同じWifiネットワークに接続されたPCや携帯電話で、BROSWERを開き、http://your_raspberry_pi_ip_address (私の場合はhttp://192.168.0.107)にアクセスすると、5つのトラッキングセンサーの状態がブラウザに表示されます:

センサーの表示は5秒ごとに更新されますので、もし他のセンサーの下に黒いラインを置くと、Webページのセンサー表示の値は5秒後に新しい表示に変わります。