GT7 Dashboardでテレメトリーデータを取得

GT7 Dashboardの紹介

グランツーリスモ7には公式のテレメトリー取得機能が無いのですが、GitHub上にデータ取得用ソフトが公開されているので、ダウンロードして動作確認を行ってみます。

ソフトの動作環境と取得できるデータ

Windows、MAC、Linuxそれぞれで実行ファイルが用意されており、実行するとWEBサーバーとして動作します。起動後にブラウザでアクセスすることでデータを確認できます。データはコースの周回ごとに更新されるようで、速度やエンジン回転数だけでなく、アクセル開度やブレーキングデータ等も出力されます。

主な機能として最も新しいラップとリファレンスとして指定したラップの比較が可能です。下記の例では、7周のレースで最速だった5ラップ目と最終ラップのスピード比較を表示しています。スピード以外にも色々なデータを比較できます。

ソフトのデータ取得方法

UDPプロトコルで33740番又は33739番を使用してデータ取得を行うようです。Readmeファイルに記載があるようにオプションでPS5のIPアドレスを指定できますが、未指定で実行するとブロードキャストアドレス(すべての通信を受け取る設定)で受信開始します。LAN内に複数のPS5が存在する場合はパケットを受信するIPを指定してデータの識別を行う必要があります。多くの開設サイトや動画ではPS5のIPを指定して実行していますが、家で利用する場合はIP指定無しで受信しても問題無いでしょう。

Windows11でソフトを実行する準備

ソフトの使用方法はReadmeファイルに起動までの手順の記載があるのですが、記載内容が正確ではない点やその他の注意点があったのでメモしておきます。

Pythonバージョンの注意

ソフトを使用するにはPythonのインストールが必要なのですが、バージョンに注意が必要です。GitHub上のIssuesに記載があるのですが、3.12以降のバージョンはサポートしていないようです。そのため、3.11をインストールします。今回はPython-3.11.8をインストールしました。

Pythonのインストール

インストールの注意点としてはインストーラ実行時に"Add python.exe to PATH"というチェック項目があります。チェックをしておかないと手動でPATH登録しないといけないので、忘れずにチェックを入れておきます。

Microsoft C++ Build Tools

こちらもReadmeファイルに記載があります。ダウンロードして、「C++によるデスクトップ開発」にチェックを入れてインストールします。

UDP33739-33740ポートの解放

スタートメニューから「設定>ネットワークとインターネット>ネットワークの詳細設定」を開きます。関連設定の「Windowsファイアウォール」を選択し、「詳細設定」を開きます。「受信の規則」を選択すると右側操作メニューに「新しい規則」があるので選択します。ここで33739-33740/UDPの開放設定を行います。規則の種類は「GT7Dashboard_UDP」としました。

以上で起動までの準備は完了です。

PowerShellによる実行

ReadmeにはWindowsの場合は"run.bat"を実行すると記載がありますが、2024/2/24現在はこのファイルが見当たりません。代わりに"run.ps1"があるので、PowerShellによる実行が必要だと推測できます。

PowerShell起動時の注意

"run.ps1"ファイルを右クリックして、PowerShellによる実行を行ってもコンパイルを開始してくれません。これはWindows11がデフォルトの状態でスクリプト実行を無効にしているからです。そのため、管理者権限でPowerShellを開いて、cdコマンドで"run.ps1"のフォルダまで移動し、下記コマンドでを実行します。

powershell -ExecutionPolicy Bypass ./run.ps1

この"-ExecutionPolicy Bypass"オプションでスクリプト実行が可能になります。
実行に成功すると、下記のような表示で停止します。ここで記載のあるURL"http://localhost:5006/GT7Dashboard"にブラウザでアクセスするとダッシュボードが起動できます。

...
2024-02-24 15:58:17,159 Starting Bokeh server version 3.2.2 (running on Tornado 6.4)
2024-02-24 15:58:17,481 User authentication hooks NOT provided (default user enabled)
2024-02-24 15:58:17,485 Bokeh app running at: http://localhost:5006/GT7Dashboard
2024-02-24 15:58:17,485 Starting Bokeh server with process id: 12524

ブラウザで起動するとUDP受信用のサーバーが確立されたと表示されます。内容からブロードキャストアドレスですべての通信を受け入れていると推測できます。

2024-02-24 16:00:00,942 No IP set in env var GT7_PLAYSTATION_IP using broadcast at 255.255.255.255
2024-02-24 16:00:01,284 WebSocket connection opened
2024-02-24 16:00:01,284 ServerConnection created

PS5からのデータ受信の確認

無事にブラウザでDashBorad画面が立ち上がるとグランツーリスモ7との通信状態を確認できます。左上の丸マークが緑色であれば通信が確立出来ており、赤色だと通信出来ていません。この通信状態はPS5でグランツーリスモを立ち上げると緑色に変化しました。

データ取得の終了

ブラウザのページを終了すると、通信を終了するようです。

実際にデータを取得してみた

実際に走行データを取得してみます。

UIの使い方

まず、コースを変更した場合などに記録をリセットする方法です。"ResetLaps"のボタンで初期化できますが、最終ラップのデータが残ることがあります。その時はブラウザで画面を再読み込みするとリセットできます。

"SaveLaps"ボタンはログとしてファイルにデータを保存できると書いてあるのですが、ファイル名は時刻と車名で自動付与されるようです。ただ、保存時にファイル名等の通知がないので、少々使いにくく感じます。また、保存ファイル一覧はブラウザを再読み込みしないと更新されません。
このデータは"\GT7Dashboard\data"内に保存され、後で読み込み出来ます。

S660でパドルシフトと3ペダルMT操作を比較

走行データにどのような差が出るか実際のデータで比較してみます。Last Lapが3ペダルMTによる操作で、Best Lapがパドルシフトによる操作です。Last Lapはスロットル全開で加速している途中にスロットル開度が0になっている瞬間があります。このようにギアチェンジでアクセルを閉じている様子を確認できました。

使用した感想

走行動画とこのようなテレメトリーを一緒に保管すればおもしろいと思いました。欲を言えばデータの保存先や読み込むデータのパスを設定できればさらに使いやすそうです。

バッチファイルの作成

毎回PowerShellを開いて実行するのは手間なので、バッチファイルを作成します。
デスクトップに"GT7Dashboard.bat"として下記ファイルを作成します。

cd C:\Users\[ソースの保存先]\GT7Dashboard
powershell -ExecutionPolicy Bypass ./run.ps1

これでデスクトップのバッチファイルをダブルクリックするだけで起動できるようになりました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

three × two =