Buy from US | Buy from CA | Buy from UK | Buy from DE | Buy from IT | Buy from FR | Buy from ES |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
このレッスンでは、ロボットカーに前方の視野を持たせる方法と、ウェブブラウザやモバイルアプリを介してロボットカーを制御する方法を学びます。
この作業を行うには、ラズベリーパイに「mjpg–ストリーマー」と呼ばれるウェブサーバーソフトをインストールする必要があり、このソフトは、ロボットカー上のカメラからビデオキャッチして、ウェブページにビデオ信号を送信します。
また、ラズベリーパイに「WebIOPi」と呼ばれる別のウェブサーバーソフトウェアをインストールする必要があります。このソフトウェアは、ユーザーがリモートでラズベリーパイのGPIO入出力を制御するためにブラウザを使用して、したがって、私たちのロボットモーターの動きを制御することができます。
また、ラズベリーパイに「WebIOPi」と呼ばれる別のウェブサーバーソフトウェアをインストールする必要があります。このソフトウェアは、ユーザーがブラウザを使いリモートでズベリーパイのGPIO入出力を制御すおことで、ロボットモーターの動きを制御することができます
次コマンドを入力する前に、I2C を開き、ラズベリーパイの IP アドレスを知る必要があります。
(1)もし IPアドレスが判らない場合は、ターミナルでifconfig wlan0 入力すると、
RASPBERY IPアドレスはinent addrの右側の文字である。
ifconfig wlan0
(2)I2C関数を開く
I2C関数を使用するためには、ターミナルあら下記コマンドを入力する。
sudo raspi-config
Interfacing Options->I2C->Yes->Okを選択して終了させる。
もしIPアドレスが判っていれば、上記の手順をスキップして、I2C関数を使います。
ステップ1、 下記ターミナルコマンドで入力して、ソフトパッケージをダウンロード、解凍して導入する。
cd ~
sudo apt-get install rpi.gpio -y
mkdir -p osoyoo-robot/cam-robot
cd osoyoo-robot/cam-robot
wget —-no-check-certificate http://osoyoo.com/driver/WebIOPi-0.7.1.tar.gz
wget —-no-check-certificate http://osoyoo.com/driver/mjpg-streamer.tar.gz
wget —-no-check-certificate http://osoyoo.com/driver/robot-tank.tar.gz
tar -xzvf WebIOPi-0.7.1.tar.gz
tar -xzvf mjpg-streamer.tar.gz
tar -xzvf robot-tank.tar.gz
ステップ2、WebIOPI serverをインストール
(1)Download WebIOPi patch
cd ~/osoyoo-robot/cam-robot/WebIOPi-0.7.1/
wget —-no-check-certificate http://osoyoo.com/driver/webiopi-pi2bplus.patch
(2)WebIOPi patchのダウンロード
patch -p1 -i webiopi-pi2bplus.patch
(3)Webiopiコンプライ
sudo ./setup.sh
(4).次のコマンドを入力してインストールを確認する。
webiopi -h
WebIOPiのインストールが成功していれば、次のメッセージが表示される、それ以外は
ダウンロードとインストールをやり直す。
sudo webiopi [-h] [-c config] [-l log] [-s script] [-d] [port] Options: -h, --help Display this help -c, --config file Load config from file -l, --log file Log to file -s, --script file Load script from file -d, --debug Enable DEBUG Arguments: port Port to bind the HTTP Server
(5)次のコマンド入力でwebiopiを起動する。
sudo webiopi -d -c /etc/webiopi/config
別のコンピュータ(Piの同じLAN内のコンピュータ/PAD/電話)のブラウザを使用して、PiのIPアドレスをポート“8000”にアクセスします(つまり、http://192.168.50.7:8000、192.168.50.7をPiのローカルIPアドレスに置き換える)、ブラウザにWebIOPiログインページが表示されます。サーバーにログインするには、デフオルトの WebIOPi ユーザー名 “webiopi” とデフオルトのパスワード “raspberrs” を使用する必要があります。WebIOPi ページにログインすると、次のような WebIOPI にメイン メニューが表示されます。このページが表示されない場合は、WebIOPI ソフトウェアを再インストールする必要があります。
WebIOPi を終了するには“Ctrl” + “C”を押しから“Ctrl” + “Z”押します。
ステップ3、mjpg―streamerのインストール
CSIカメラを使用している場合は、ステップAとBに従って以下のアクションを取ってください。あなたは車に付属しているUSBカメラを使用している場合は、これらの2つのステップをスキップしてください。
(A)ラズベリーパイでカメラを有効にする
sudo raspi-config
(B) 次のコマンドを入力して「/etc/modules」ファイルを編集します(それ以外の場合/devにはカメラデバイスノードがありません)
sudo nano /etc/modules
“/etc/modules” ファイルの一番下に次の行を追加してから、“ctrl” + “x” 押してから “y” を押してファイルを保存
、“enter” を押して nano エディタを終える。。
bcm2835-v4l2 (l is lowercase letters l,not digital 1)
ステップ4、次のコマンドでmjpg-streamer support library ダウンロード、インストールする
cd ~
sudo apt-get update
sudo apt-get install libv4l-dev libjpeg8-dev -y
sudo apt-get install subversion -y
ステップ5、mjpg-streamerコンパイル
(1) 次のコマンドで “input_uvc.c” を編集する。
cd ~/osoyoo-robot/cam-robot/mjpg-streamer
cd plugins/input_uvc
sudo nano input_uvc.c (if vim installed, you can type: sudo vim input_uvc.c)
次の行を(NANOエディターで“ctrl” + “W”でサーチできる)見つけて、
int width=640, height=480, fps=5, format=V4L2_PIX_FMT_MJPEG V4L2_PIX_FMT_MJPEGの文字を V4L2_PIX_FMT_YUYVに替える
ctrl” + “x” 押してから “y” を押してファイルを保存、 “enter” を押して nano エディタを終える。
2)次のコマンドでソースコードをコンパイルする
cd ~/osoyoo-robot/cam-robot/mjpg-streamer
make all
(3)カメラインストールの確認:カメラをRaspberry Piに接続し、次のコマンドを入力します
ls /dev/video*
次の結果がターミナルに見られ、“/dev/video0”はPiの中にインストールされたカメラです。
(4) 次のコマンドの入力でmjpg-streamer Serverを起動させる。
sudo ./start.sh
今、別のコンピュータでブラウザを使用してPI IPポート8899(あなたのPi IPアドレスが192.168.50.7の場合は、
お使いのブラウザではhttp://192.168.50.7:8899にアクセスする)でラズベリーパイIPアドレスにアクセスするために、別のコンピュータでブラウザを使用して、次の画像が表示されます。左メニューのストリームボタンをクリックすると、あなたのラズベリーパイのカメラ映像がリアルタイムでビデオキャプチャー表示されます
You can use Ctrl C command in terminal to end the mjpg-streamer server
ステップ6、でwebiopiとmjpg
webiopiとmjpg-streamerを同じウェブページに組み合わせることで、カメラからビデオを「見る」ことが可能になり、ロボットカーをブラウザで制御するには、WebIOPiとMJPG-ストリーマーのデフォルト設定を変更する必要があります。これを行うには、次のコマンドを入力して設定ファイルを編集し、変更 A、変更 B、変更 Cを行う必要があります。
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 default html file パスに次ぎのピンクラインを加える
# 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のアドレスをCONFIGに加える。
[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 = PCA9685 slave:0x40
#PWM1 =PCA9685 #pwm1 = PCA9685 slave:0x41 #adc0 = MCP3008 #adc1 = MCP3008 chip:1 vref:5 #dac1 = MCP4922 chip:1
ctrl” + “x” 押してから “y” を押してファイルを保存、 “enter” を押して nano エディタを終える。
ステップ7 テスト
今、地面にあなたの車を置き、バッテリーボックス内の電源スイッチをオンにすることができます。車を制御するにはSSHを使う必要があるので、、テストする前に、raspi-config コマンドで SSH を有効にする必要があります。 Windowsを使用する場合はPuttyをダウロードしてPIをsshする、、MacBookを使用している場合はPtyをダウンロードしてターミナルの上で
Sshコマンドを直接使用してください。
(1) sshターミナルで mjpg-streamerを起動するには次のコマンドを入力してください。
cd ~/osoyoo-robot/cam-robot/mjpg-streamer
sudo ./start.sh
(2) Webiopiを起動するには、別のsshターミナルを開き、次のコマンドを入力
sudo webiopi -d -c /etc/webiopi/config
今、あなたのプラウザを使いRASPBERRY IP ポート8000でアクセス出来る(例えばPI IPアドレス192.168.0.115であれば、http://192.168.50.7:8000,に行けば、次のような画像がブラウザにみられる、矢印ボタンをクリックして、
車を望む方向へ動かすことができます。
如果报错请确认两点:
A.上面配置是否正确
B.PCA9685是否供上电了,如没有电,因为软件读取不到IIC设备,会报错。
無料のAndroid用アプリ、アップル用アプリでプラウザーのかわりのこの車を制御できます。
アップル用アプリはアップルストアからダウンロード
Android用は下記URLかGoogle playよりダウンロードを
行ってください。http://osoyoo.com/driver/osoyoo-robot.apk
アプリの起動して、set up とconfigのページの各項は次の様に設定してください。
IP Address: 192.168.50.7
Your raspberrr pi ip Port: 8000
User Name: webiopi
Password: raspberry
Video Port:8899
セーブボタンをクリックしてconfigページを終了。
Now you can use the arrow buttons in App to control the car
You must be logged in to post a comment
About the Author