Buy from US | Buy from UK | Buy from DE | Buy from IT | Buy from FR | Buy from ES | 日本 |
このレッスンでは、ロボットかーの前方に取り付けたWEBカメラの画像を通じて、Webブラウザーまたはモバイルアプリを介してロボットカーを制御する方法を学習いたします。
このタスクには、Raspberry Piに「mjpg-streamer」Webサーバーソフトウェアをインストールして使用いたします、このソフトウェアによりWEBカメラの画像信号をビデオキャッチ処理、ビデオ画像をWebページに表示させます。
また、Raspberry Piに「WebIOPi」Webサーバーソフトウェアをインストール、ブラウザーからRaspberry Pi GPIOの入出力ピンのリモート制御してロボットかーの走行を行います。
lesson1でカメラの未装着の場合は、下図参照の上カメラを取り付けしてください。尚カメラ装着済の場合は次の手順をお読みください。
上中級者様の方々には、GPIOポート番号などの機能をカスタマイズするために、webiopiおよびmjpg-streamerをご自分でインストールすることをお勧めします。この場合、次の手順1〜8を実行してwebiopiをインストールそしてmjpg-streamerを構成します。 初心者様の場合、簡易インストール手順「Raspberry Pi Robot Car Lesson 3:Simple Installation for Web Control Camera」でソフトを書き込み、カメラ画像をお試しください。
注:
1.マイクロSDカードにOsoyoo Robot Imageがプリインストールされている場合は、ステップ1からステップ8をスキップして、実行ステップ9:テストを実行してください。
2. SSHを使用してRaspberry Piをリモート操作する場合のコマンドを送信するときは、Raspberry Piをバッテリー電源に入れたままにしてください。
手順1:ターミナル入力で次のコマンドを実行してWebIOPi / mjpg-streamerインストールパッケージをダウンロードします(マイクロSDカードにOsoyoo Robot Imageがプリインストールされている場合は、この手順をスキップします)
cd ~
sudo apt-get install rpi.gpio -y
mkdir osoyoo-robot/cam-robot
cd osoyoo-robot/cam-robot
wget http://osoyoo.com/driver/WebIOPi-0.7.1.tar.gz
wget http://osoyoo.com/driver/mjpg-streamer.tar.gz
wget http://osoyoo.com/driver/robot.tar.gz
tar -xzvf WebIOPi-0.7.1.tar.gz
tar -xzvf mjpg-streamer.tar.gz
tar -xzvf robot.tar.gz
次のステップ2からステップ4までは、WebIOPIサーバーのインストール用です。
手順2:次の端末コマンドを実行してWebIOPiパッチをダウンロードしてインストールします(マイクロSDカードにOsoyoo Robot Imageがプリインストールされている場合は、この手順をスキップします)
cd ~/osoyoo-robot/cam-robot/WebIOPi-0.7.1/
wget https://osoyoo.com/driver/webiopi-pi2bplus.patch
patch -p1 -i webiopi-pi2bplus.patch
ステップ3:次の端末コマンドを実行してWebIOPiをインストールします(マイクロSDカードにOsoyoo Robot Imageがプリインストールされている場合はこのステップをスキップします)
sudo ./setup.sh
次のコマンドを入力して、インストールを確認する必要があります、
webiopi -h
WebIOPiが正常にインストールされると、ターミナルに次のメッセージが表示されます。そうでない場合は、webiopi デレクトリを削除してから、再度ダウンロードとインストールをやり直す必要があります。
ステップ4:次のコマンドを入力してwebiopiを実行します(マイクロSDカードにOsoyoo Robot Imageがプリインストールされている場合は、このステップをスキップします)
sudo webiopi -d -c /etc/webiopi/config
別のコンピュータでブラウザを使用してください(あなたのPiと同じLAN内のコンピュータ/パッド/携帯端末)、ポートをRasPi のIPアドレスにポート「8000」すなわち(http://192.168.0.115の場合は192.168.0.115:8000)、ブラウザにWebIOPiログインページが表示されます。サーバーにログインするには、デフォルトのWebIOPiユーザー名「webiopi」とデフォルトのパスワード「raspberry」を入力してください、WebIOPiページにログインすると、WebIOPIメインメニューが次のように表示されます。このページが表示されない場合は、WebIOPIソフトウェアを再インストールする必要があります。
ターミナルで「Ctrl」+「C」を押してから「Ctrl」+「Z」を押して、WebIOPiの実行を終了してください。
もしraspberry pi のIPアドレスがわからない場合は、下記コマンドを入力します
ifconfig wlan0
接続中のraspberry PiのIPアドレスは、inet に表示されています。
ステップ5からステップ7は、mjpg-streamerサーバーのインストール手順です。
ステップ5:CSIカメラを使用している場合は、ステップAおよびBに従って次のアクションを実行してください(車に付属のUSBカメラを使用している場合は、このステップをスキップしてください)(マイクロSDカードが-Osoyoo Robot Imageをインストール)
A.Raspberry Piのカメラを有効にするには下記コマンド入力してCONFIG画面を開き、カメラを有効設定に切り替えます。
sudo raspi-config
B.次の下記コマンドを入力して「/ etc / modules」ファイルを編集します(それ以外の場合、/ devにはカメラデバイスノードがありません)
sudo nano /etc/modules
「modules」ファイルの下部に次の行を追加し、「ctrl」+「x」を押してから「y」を押してファイルを保存し、「enter」を押しますnano editorを閉じます。
bcm2835-v4l2 この一行をくわえる
ステップ6:次のコマンドを入力して、mjpg-streamerサポートライブラリをダウンロードしてインストールします(マイクロSDカードにOsoyoo Robot Imageがプリインストールされている場合は、このステップをスキップします)
cd ~
sudo apt-get update
sudo apt-get install libv4l-dev libjpeg8-dev -y
sudo apt-get install subversion -y
手順7:mjpg-streamerをコンパイルします(マイクロSDカードにOsoyoo Robot Imageがプリインストールされている場合は、この手順をスキップします)
まず、次のコマンドを入力して、構成ファイル「input_uvc.c」を編集します
cd ~/osoyoo-robot/cam-robot/mjpg-streamer/plugins/input_uvc
sudo nano input_uvc.c
次の行を見つける(「ctrl」+「W」を使用して、nanoエディターに入るときに行を検索できます)
int width=640, height=480, fps=5, format=V4L2_PIX_FMT_MJPEG
文字列に置き換えV4L2_PIX_FMT_MJPEG新しい文字列とをV4L2_PIX_FMT_YUYV
次に、「ctrl」+「x」を押してから「y」を押してファイルを保存し、「enter」を押してエディター閉じます
次に、次のコマンドでソースコードをコンパイルする必要があります
cd ~/osoyoo-robot/cam-robot/mjpg-streamer
make all
3番目に、カメラのインストールをテストします:カメラをRaspberry Piに接続し、次のコマンドを入力します:
ls /dev/video*
端末に次の結果が表示されます。「/ dev / video0」はPiにインストールされているカメラです
最後に、ターミナルで次のコマンドを入力してmjpg-streamer Serverを実行します:
cd ~/osoyoo-robot/cam-robot/mjpg-streamer
sudo ./start.sh
別のコンピューターのブラウザーを使用して、ポート8899でRaspberry Pi IPアドレスにアクセスします(Pi IPアドレスが192.168.0.115の場合、ブラウザーでhttp://192.168.0.115:8899にアクセスします)。次の画像が表示されます。左メニューの[ストリーム]ボタンをクリックすると、Raspberry Piのカメラでキャプチャされたリアルタイムビデオが表示されます。
ターミナルでCtrl Cコマンドを使用して、mjpg-streamerサーバーを終了できます。
ステップ8:webiopiとmjpg-streamerを同じWebページに結合して、カメラからのビデオを表示し、ロボットカーをブラウザーで制御できるようにするには、WebIOPiとMJPG-streamerのデフォルト設定を変更する必要があります。これを行うには、次のコマンドを入力して構成ファイルを編集し、このファイルを変更A、変更B、変更Cとして変更する必要があります(マイクロSDカードにOsoyoo Robot Imageがプリインストールされている場合は、この手順をスキップします)
sudo nano /etc/webiopi/config
変更A:ブラウザからPiに制御信号を送信できるwebiopiのデフォルトスクリプトpythonファイルを置き換えます。「/ etc / webiopi / config」ファイルに次のピンクの行を追加してください
[SCRIPTS] # Load custom scripts syntax : # name = sourcefile #each sourcefile may have setup, loop and destroy functions and macros #myscript = /home/pi/WebIOPi-0.7.1/examples/scripts/macros/script.py myscript = /home/pi/osoyoo-robot/cam-robot/robot/script.py --この行を加える
変更B:次のピンク色の行を追加して、webiopiのデフォルトのhtmlファイルパスを変更します。
# Use doc-root to change default HTML and resource files location #doc-root = /home/pi/WebIOPi-0.7.1/examples/servo-control doc-root = / home / pi / osoyoo-robot / cam-robot / robot --この行に変更する
修正C:次のピンク色の行を追加して、PCA9685アドレスを構成に追加します
[DEVICES]] # Device configuration syntax: # name = device [args...] # name : used in the URL mapping #device : device name #args : (optional) see device driver doc #If enabled, devices configured here are mapped on REST API /device/name #Devices are also accessible in custom scripts using deviceInstance(name) #See device driver doc for methods and URI scheme available # Raspberry native UART on GPIO, uncomment to enable # Don't forget to remove console on ttyAMA0 in /boot/cmdline.txt # And also disable getty on ttyAMA0 in /etc/inittab #serial0 = Serial device:ttyAMA0 baudrate:9600 # USB serial adapters #usb0 = Serial device:ttyUSB0 baudrate:9600 #usb1 = Serial device:ttyACM0 baudrate:9600 #temp0 = TMP102 #temp1 = TMP102 slave:0x49 #temp2 = DS18B20 #temp3 = DS18B20 slave:28-0000049bc218 #bmp = BMP085 #gpio0 = PCF8574 #gpio1 = PCF8574 slave:0x21 #light0 = TSL2561T #light1 = TSL2561T slave:0b0101001 #gpio0 = MCP23017 #gpio1 = MCP23017 slave:0x21 #gpio2 = MCP23017 slave:0x22 pwm0 = PCA9685slave:0x40 --この行を加える #pwm1 = PCA9685 slave:0x41 #adc0 = MCP3008 #adc1 = MCP3008 chip:1 vref:5 #dac1 = MCP4922 chip:1
最後に、「ctrl」+「x」を押してから「y」を押してファイルを保存し、「enter」を押してナノエディターを作成します
サーバーインストールのテスト
これで、車を地面に置き、バッテリーボックスの電源スイッチを入れることができます。車を制御するにはSSHを使用する必要があります。そのため、テストする前にraspi-configコマンドでSSHを有効にする必要があります。Windowsを使用している場合は、PuttyをダウンロードしてPiをsshしてください。MacBookを使用している場合は、ターミナルでsshコマンドを直接使用してください。
ステップ1. sshターミナルでmjpg-streamerを開始するには、followinigコマンドを入力してください:
cd ~/osoyoo-robot/cam-robot/mjpg-streamer
sudo ./start.sh
ステップ2. webiopiを開始するには、別のsshウィンドウを開いて次のコマンドを入力してください:
sudo webiopi -d -c /etc/webiopi/config
ブラウザで車を制御する
これで、ポート8000でRaspberry IPにアクセスできます(つまり、Pi IPアドレスが192.168.0.115の場合、http://192.168.0.115:8000にアクセスしてください。次の画像が表示されます。ブラウザで矢印ボタンをクリックすると、車を希望の方向に移動させることができます。
ブラウザの代わりに無料のAndroidアプリまたはAppleアプリを使用して車を制御することもできます。
https://osoyoo.com/driver/osoyoo-robot.apk からAndroidアプリをダウンロードします
Apple iOSユーザーの場合、Apple APPストアでOsoyoo raspberry Pi Robot Carを検索し、ダウンロードしてインストールしてください。
アプリを実行し、[設定]をクリックし、次のようにフィールドを設定して設定ページに入ります。
Robot IP:
raspberrr pi ip ポート: 8000
ビデオURL: http:// your_raspberry_pi_ip:8899 /?action = stream(your_raspberry_pi_ipを置き換えるには192.168.0.16などのIPを使用してください)
ユーザー名: webiopi
パスワード: raspberry
[保存]ボタンをクリックして、編集を終了します
これで、アプリの矢印ボタンを使用して車を制御できます
DownLoad Url osoyoo.com