I.目的
II.部品と装置
III.ハードウェアのインストール
IV.ソフトウェアのインストール

米国から購入 イギリスから購入 ドイツから購入 イタリアから購入 フランスから購入 スペインから購入 日本から購入


このレッスンでは、モバイルアプリを使用してUDPプロトコルを介してロボットカーを制御する方法を説明します。Raspberry Piは、APPからUDPパケットを取得するためにPythonプログラムを実行します。

Pythonを使用してモバイルアプリからリモートデータ(UDPパケット)を取得する方法を学習します。


いいえ。 画像 デバイス 数量。 小物 リンク
1 超音波センサー 1 M1.5*8ネジ×4
M1.5ナット×4
こちらをクリックして購入
2 サーボモータ 1 M2.2*8 セルフタッピングネジ x 2
M2*4 セルフタッピングネジ x 1
こちらをクリックして購入
3 超音波センサー用マウントホルダー 1 M1.5*8ネジ×4 M1.5ナット×4

M2*4セルフタッピングネジ×1

こちらをクリックして購入
4 トラッキングセンサーモジュール 1 M2.5 プラスチックネジ×2
M2.5プラスチックナット×2
M2.5プラスチックピラー×2
こちらをクリックして購入
5 7ピン25cmメス-メスケーブル 1 こちらをクリックして購入
6 20ピンジャンパー線メス-メス20 cm
7 プラスドライバー 1 こちらをクリックして購入


ステップ1: レッスン 3 に従ってスマート カーの基本フレームワークをインストールします。トラッキング センサー モジュールを取り付けない場合は、レッスン 2 のインストールを完了してください。



ステップ1)rpi.gpio と adafruit-pca9685 ライブラリがインストールされていることを確認し、レッスン 1 で I2C を有効にします。

ステップ2)ロボットカーの電源を入れ、次のコマンドを入力してサンプルコードをダウンロードします。

wget http://osoyoo.com/driver/picar/picar-udp-control.py


ステップ3)次のコマンドを入力してサンプルコードを実行します(注意:Piボードに応じて正しいコマンドを選択してください)。

Raspberry Pi 2 で Python 3 を使用している場合は、次のように入力します。

python picar-udp-control.py

または、Pi 3 / 4A +でPython 3を使用している場合は、次のように入力します。

python3 picar-udp-control.py


上記のPythonが実行された後、あなたの車はあなたの携帯電話からのコマンドを待っています。

ステップ4)ダウンロード OSOYOO Wi-Fi UDP ロボットカーコントロールアプリ グーグルプレイやアップルストアでは、キーワードを検索してください “OSOYOO IoT UDP ロボットアプリ”, あなたは次のように赤いアイコンAPPを見つけるでしょう(ご注意:Google Playでこのアプリを見つけられない場合、以下のリンクから直接にアプリをダウンロードできます:https://osoyoo.com/driver/udp-app.apk):

ステップ5) Raspberry Piと同じルーターのWi-Fi SSIDにスマホを接続します。アプリを開き、「設定アイコン(1)」をクリックして設定画面に入り、「Raspberry Pi IP address」と「Port」を「8888」に入力し、「Save」をクリックします:

ステップ6)

次に、車を地面に置き、< > ^ v方向キーをクリックして車を動かすことができます。使用する ||一時停止キーを使用して、車の動きを停止します。

障害物キー(F8)をクリックすると、車はレッスン3と同様に障害物回避自動運転を行います

トラッキングキー(F7)をクリックすると、車はレッスン2と同様にリンクトラッキング自動運転を実行します

注:F1~F6は、今後のさらなる開発機能です。

IoT UDPアプリとスケッチコードに関するFAQ:

Q1)ロボットカーの速度を調整する方法は?
A:ロボットカーの速度性能を変更する場合は、ファイルの19〜21行目の次のパラメータの値を変更 picar-udp-control.py。

high_speed = 4000  # Max pulse length out of 4096
mid_speed = 2000  # Max pulse length out of 4096
low_speed = 1000  # Max pulse length out of 4096

Q 2)OSOYOO IoT UDP Robot APPのボタンを押すとどうなりますか?
A:APPのボタンを押すと、APPはUDPプロトコルを介してターゲットデバイスのラズベリーパイに<>文字のメッセージを送信します

ボタン UDP メッセージ
F1 キー /
F2 キー /
F3 キー /
F4 キー /
F5 キー /
F6 キー /
前進
戻る
正方形 止める
F7 キー トラッキング
F8 キー 障害

Q3)ラズベリーパイのpythonプログラムはどのようにUDPコマンドを処理しますか?
ループがAPPからUDPデータを受信し、実行可能なcur_statusに与える、290行目から318行目はcur_statusを処理します。

def ticker():	
    if cur_status=='R':
    	turnRight(high_speed,0)
    if cur_status=='L':
    	turnLeft(0,high_speed)
    if cur_status=='A':
    	forward(mid_speed,mid_speed)
    if cur_status=='B':
    	backward(mid_speed,mid_speed)
    if cur_status=='E':
    	stopcar()
    if cur_status=='T':
    	line_tracking()
    if cur_status=='O':
    	obstacle_avoid()

たとえば、APP ▲ キーを押すと、cur_status値が A になり、ticker() 関数が forward(mid_speed,mid_speed) 関数を呼び出して車を前進させます。