目次

概要

概要

 WinSSMとは、スバル(SUBARU)の インプレッサ(IMPREZA) や レガシィ(LEGACY) などに搭載されている SSMP : Subaru Select Monitor Protocol を使って通信を行い、ECU : Engine Control Unit 情報を表示します。USBカメラにも対応しており、ECU情報の他に映像を記録できます。

 ソフトウェアの動作に最低限必要なものは、Windows系のコンピュータと OpenPort系のケーブル1本で済みます。そのため、電子/機械式の後付メータや他社製ロガーと異なり、とても簡単にシステムを構築できます。

機能一覧

  • ECU情報の表示
    • 最大値/最小値の保持 (ピークホールド)
    • 丸型メータ表示
    • 表示項目一覧
      • エンジン回転数 (rpm)
      • アクセル開度 (%)
      • 車体速度 (km/h)
      • ブースト圧 (kg/cm^2)
      • 水温 (C)
      • 吸気温度 (C)
      • ギアポジション (1〜6)
  • 簡易ラップタイム表示
  • カメラによる映像撮影及び録画
  • 各種情報とカメラ映像の合成 (スーパーインポーズ)
    • 必須表示 (表示を消すことができません)
      • ソフトウェア名及びバージョン
      • 現在の日時
    • 選択表示 (表示しないこともできます)
      • ECU情報
      • ラップタイム
  • ECU情報の CSV出力 *1

動作環境及び必要な機器

ソフトウェアのセットアップ

ソフトウェアのダウンロード

  • 次のページから、あらかじめ WinSSMをダウンロードしてください。
  • WinSSM Version 1.0.0 RELEASE

ダウンロードしたファイルを解凍する

  • 適当なフォルダを作成して、そこへダウンロードしたファイルを解凍してください
  • C:\WinSSM 辺りだと、後述するコンソールからの操作が楽になります (^^)
もちろんセットアップ先に関係なく、動画やCSVログの保存先は別ドライブにもできます
 
extract.png
 

クルマのセットアップ

OpenPortケーブル

ケーブル

  • あらかじめ PCにドライバをインストールしておいてください
 
OpenPort_00.jpg
 

コネクタの場所

  • 運転席下部にコネクタがあります (写真のペダルは関係ありません (^^;))
 
OpenPort_01.jpg
 

コネクタに差し込む

  • OpenPortのケーブルをコネクタに差し込みます
  • ケーブルが邪魔であれば、適当に固定しておくことをお勧めします
 
OpenPort_02.jpg
 

USBカメラ

  • ここでは USBカメラを例に進めます.
  • Windowsが認識できるカメラデバイスであれば、DVカメラなど他の物が使用できます
    試してはいませんが、ビデオキャプチャカードなども使用できるハズです。
  • カメラは必須ではありませんが、安いものでは数千円ですし、あると感激すると思いますよ (^^)
カメラを使用する方は、あらかじめ PCにドライバをインストールしておいてください

USBカメラを取り付ける : UVCAM編

  • 助手席のサンバイザーに固定しましたが、イマイチですね...
  • 振動が多いと落ちてしまいそうです...
 
Camera_01.jpg
 
Camera_00.jpg
 

USBカメラを取り付ける : GR-CAM130N2編

  • こちらも助手席のサンバイザーに固定しましたが、先ほどよりもっとしっかり固定できました
  • なかなか良さそうです
 
Camera_02.jpg
 
Camera_03.jpg
 

車載PC

  • ここではノートパソコンを例に進めます
  • AC電源が用意できるのであれば、デスクトップ型PCでも構いません (^^;

PCの設置とケーブル接続

  • 私はいつも助手席に置いています
  • 振動や衝撃によって PCが動いてしまうのであれば、PCの裏側にマジックテープを
    貼り付けると良いでしょう
  • ただしあまり振動が多い環境では HDDへ障害を与えてしまいますので、
    その場合は簡単な免振装置を作ることをお勧めします
 
PC_00.jpg
 

AC電源

  • WinSSMの開発では必須アイテムですが、ノートパソコンの稼働時間が長いのであれば必要ありません
  • ただしノートパソコンによっては、バッテリー駆動しているとフルに性能を
    発揮できないように設計されているものもあります
  • 動画保存など負荷が大きい場合には、あった方が良さそうです (^^)
 
PC_01.jpg
 

WinSSMが動くと...

  • こんな感じになります [heart]
 
PC_02.jpg
 

ソフトウェアの設定

  • 設定が多すぎて挫折しそうです、という声が聞こえてきそうですが...
  • 実際はそれほど難しい設定はありませんので、今は勘弁してください (^^;

winssm.cfgについて

  • WinSSMの設定はすべて winssm.cfgというファイルに書き込まれています
  • メモ帳などのテキストエディタを使用して、winssm.cfgのテキストファイルを書き換えてください

スクリーンについて

  • WinSSMでは、スーパーインポーズのためのスクリーンという画面を持っています。表示や録画の解像度がそれぞれ異なっても、スムーズに表示するための仕組みです。標準では 640x480 (VGA)の解像度に設定されています。
  • 通常は特に書き換える必要はありません...
 
  • より解像度の大きい高画質のカメラを使用する場合には、カメラの解像度に合わせておくと良いでしょう (^^)
;------------------------------------------------------------------------------
;スクリーンサイズの設定
;------------------------------------------------------------------------------
;メータ合成など、内部処理用の解像度.
;モニタウィンドウや録画の解像度がスクリーンサイズと異なるときは、
;内部で自動的に拡大縮小処理が行われる
;0 < SCREEN_SIZE_X < 2048 pixel
;0 < SCREEN_SIZE_Y < 2048 pixel
SCREEN_SIZE_X   = 640
SCREEN_SIZE_Y   = 480

座標系

  • 画面中の左上が (0,0), 右下が (639,479) になっています
  • メータなどの表示位置を変更するときには、この範囲内に設定してください
 
screen.png
 

OpenPort (COMポート) の設定

デバイスマネージャで確認する

  • OpenPortの USBケーブルを PCに刺してから、デバイスマネージャを開いてください
  • COMポートのポート番号 (写真中では、COM4) を確認してください
 
device_manager.png
 

設定を変える

  • winssm.cfgの ECU_xxxの項目を変更しましょう
  • ほとんどテキストファイルのコメント通りですが、一応もう少し詳しく説明します (^^;
    • ECU_USE : ECUに接続する/しないを選択できます。接続しない場合は、メータが変化しません。主に開発用に用意されています
    • ECU_PORT : COMポートの番号を指定します
    • ECU_LOG : CSV出力をする/しないを選択できます。CSV出力の使い方については、後述します
 
;------------------------------------------------------------------------------
;OpenPortの設定
;------------------------------------------------------------------------------
;ECUに接続...
;0         : しない
;1         : する
;それ以外  : 起動しない
ECU_USE                        = 1

;OpenPortのポート(COM)番号
ECU_PORT                       = 4

;ログ出力を...
;0         : 行わない
;1         : 行う
;それ以外  : 起動しない
ECU_LOG                        = 0

シフトポジション表示の設定

シフトポジションの表示と座標

  • シフトポジションは、N, 1 〜 6の範囲で変化します
  • ECUから情報が取得できないため、エンジン回転数、車体速度、タイヤサイズから現在のギア比逆算して、最終的にシフトポジションを判断しています
    • MISSION_USE : シフトポジションの表示をする/しないを選択できます
    • MISSION_FONT : 文字の大きさを決めます. 数字が大きくなるほど文字が大きくなります
    • MISSION_X : 文字表示の X座標を決めます
    • MISSION_Y : 文字表示の Y座標を決めます
;------------------------------------------------------------------------------
;シフトポジション表示の設定
;------------------------------------------------------------------------------
;シフトポジション表示を...
;0          : しない
:1          : する
MISSION_USE                 = 1
MISSION_FONT                = 1.5
MISSION_X                   = 280
MISSION_Y                   = 450

タイヤサイズとギア比の設定

  • 標準では、IMPREZA WRX STi (GDB-F) の標準仕様に設定されています
  • 他の車種やタイヤを変えている方は、カタログなどを参考に適宜設定してください
  • ここの数値は、シフトポジション表示以外では使われていません
 
;タイヤの幅 (mm)
MISSION_TIRE_WIDTH          = 235

;タイヤの扁平率 (%)
MISSION_TIRE_FLAT           = 45

;タイヤの直径 (inch)
MISSION_TIRE_INCH           = 17

;ギア比
MISSION_FIRST               = 3.636
MISSION_SECOND              = 2.375
MISSION_THIRD               = 1.761
MISSION_FOURTH              = 1.346
MISSION_FIFTH               = 1.062
MISSION_SIXTH               = 0.842
MISSION_FINAL_GEAR_RATIO    = 3.900

メータ表示の設定

  • 次のメータ表示設定の項目は、それぞれ共通になっています。
    • エンジン回転数
    • アクセル開度
    • スピードメータ
    • 水温計
    • 吸気温計
 
  • 試す程度あれば、これらの項目は設定を変更する必要はないと思います (^^)

表示の有無

  • METER_xxx_USE : メータの表示をする/しないを選択できます
  • ECU_USEが 1のときは、メータ表示はしなくてもデータ自体は取得しています

メータのタイプ

  • メータの表示タイプを選択します
  • METER_xxx_TYPE
    • 0 : テキストのみ
    • 1 : 丸型メータ

メータの大きさ (直径)

  • 丸型メータの大きさ(直径)を設定します
  • METER_xxx_CIRCLE_SIZE

フォントサイズ

  • メータのフォントサイズを設定します
  • METER_xxx_CIRCLE_FONT

メータの中心座標

  • メータ表示位置の中心座標を設定します
  • METER_xxx_CIRCLE_X
  • METER_xxx_CIRCLE_Y

文字色

  • Red, Green, Blueの RGBを設定します。それぞれ 0 〜 255の範囲にしてください
  • 文字には縁取りがあります、反対色を設定してください
  • METER_FONT_RED
  • METER_FONT_GREEN
  • METER_FONT_BLUE
  • METER_FONT_EDGE_RED
  • METER_FONT_EDGE_GREEN
  • METER_FONT_EDGE_BLUE

メータの円の色

  • 文字色と同じように設定します
  • METER_CIRCLE_RED
  • METER_CIRCLE_GREEN
  • METER_CIRCLE_BLUE
  • METER_CIRCLE_EDGE_RED
  • METER_CIRCLE_EDGE_GREEN
  • METER_CIRCLE_EDGE_BLUE

最小/現在/最大値の色

  • いわゆるピークホールドの機能です
  • METER_CIRCLE_MIN_RED
  • METER_CIRCLE_MIN_GREEN
  • METER_CIRCLE_MIN_BLUE
  • METER_CIRCLE_MAX_RED
  • METER_CIRCLE_MAX_GREEN
  • METER_CIRCLE_MAX_BLUE
  • METER_CIRCLE_VALUE_RED
  • METER_CIRCLE_VALUE_GREEN
  • METER_CIRCLE_VALUE_BLUE

デフォルト設定

;------------------------------------------------------------------------------
;メータ表示の設定
;------------------------------------------------------------------------------

;メータ表示を...
;0          : しない
;1          : する
;それ以外   : 起動しない
;_USE

;メータのタイプ
;0          : 数値のみ
;1          : ゼロ指針の丸型メータ
;それ以外   : 起動しない
;_TYPE

;フォントサイズ
;0.0 < _FONT_SIZE < 10.0

;メータの大きさ
;0 < _CIRCLE_SIZE < 2048 pixel

;メータの中心位置
;0 < _CIRCLE_X < 2048 pixel
;0 < _CIRCLE_Y < 2048 pixel


;エンジン回転数
METER_RPM_USE               = 1
METER_RPM_TYPE              = 1
METER_RPM_CIRCLE_SIZE       = 60
METER_RPM_CIRCLE_FONT       = 0.6
METER_RPM_CIRCLE_X          = 190
METER_RPM_CIRCLE_Y          = 400

;アクセル開度
METER_THROTTLE_USE          = 1
METER_THROTTLE_TYPE         = 1
METER_THROTTLE_CIRCLE_SIZE  = 60
METER_THROTTLE_CIRCLE_FONT  = 0.6
METER_THROTTLE_CIRCLE_X     = 65
METER_THROTTLE_CIRCLE_Y     = 400

;スピードメータ
METER_VEHICLE_USE           = 1
METER_VEHICLE_TYPE          = 1
METER_VEHICLE_CIRCLE_SIZE   = 60
METER_VEHICLE_CIRCLE_FONT   = 0.6
METER_VEHICLE_CIRCLE_X      = 400
METER_VEHICLE_CIRCLE_Y      = 400

;ブースト計
METER_BOOST_USE             = 1
METER_BOOST_TYPE            = 1
METER_BOOST_CIRCLE_SIZE     = 45
METER_BOOST_CIRCLE_FONT     = 0.45
METER_BOOST_CIRCLE_X        = 295
METER_BOOST_CIRCLE_Y        = 370

;水温計
METER_COOLANT_USE           = 1
METER_COOLANT_TYPE          = 1
METER_COOLANT_CIRCLE_SIZE   = 45
METER_COOLANT_CIRCLE_FONT   = 0.45
METER_COOLANT_CIRCLE_X      = 510
METER_COOLANT_CIRCLE_Y      = 380

;吸気温計
METER_INTAKEAIR_USE         = 1
METER_INTAKEAIR_TYPE        = 1
METER_INTAKEAIR_CIRCLE_SIZE = 45
METER_INTAKEAIR_CIRCLE_FONT = 0.45
METER_INTAKEAIR_CIRCLE_X    = 590
METER_INTAKEAIR_CIRCLE_Y    = 430


;メータ部共通設定
;各種色設定
;METER_FONT         文字
;METER_FONT_EDGE    文字の縁
;METER_CIRCLE       丸形メータ
;METER_CIRCLE_EDGE  丸形メータの縁
;METER_CIRCLE_MIN   丸形メータの最小値
;METER_CIRCLE_MAX   丸形メータの最大値
;METER_CIRCLE_VALUE 丸型メータの現在値
;0 < _RED   < 255
;0 < _GREEN < 255
;0 < _BLUE  < 255

METER_FONT_TIME             = 0.4
METER_FONT_RED              = 255
METER_FONT_GREEN            = 255
METER_FONT_BLUE             = 255
METER_FONT_EDGE_RED         =   0
METER_FONT_EDGE_GREEN       =   0
METER_FONT_EDGE_BLUE        =   0
METER_CIRCLE_RED            = 255
METER_CIRCLE_GREEN          = 255
METER_CIRCLE_BLUE           = 255
METER_CIRCLE_EDGE_RED       =   0
METER_CIRCLE_EDGE_GREEN     =   0
METER_CIRCLE_EDGE_BLUE      =   0
METER_CIRCLE_MIN_RED        =  64
METER_CIRCLE_MIN_GREEN      =  64
METER_CIRCLE_MIN_BLUE       = 255
METER_CIRCLE_MAX_RED        = 255
METER_CIRCLE_MAX_GREEN      =  64
METER_CIRCLE_MAX_BLUE       =  64
METER_CIRCLE_VALUE_RED      = 255
METER_CIRCLE_VALUE_GREEN    = 255
METER_CIRCLE_VALUE_BLUE     =  64

ラップタイム表示の設定

  • メータ表示とほぼ同じような設定になっています
  • 標準では画面左上に表示されます
 
  • 合計時間とラップ時間の2つのみ表示できます
 
;------------------------------------------------------------------------------
;ラップタイム表示の設定
;------------------------------------------------------------------------------
;ラップタイム表示を...
;0          : しない
;1          : する
LAPTIME_USE                 = 1
LAPTIME_TOTAL_FONT          = 0.5
LAPTIME_TOTAL_X             = 5
LAPTIME_TOTAL_Y             = 15
LAPTIME_LAP_FONT            = 0.5
LAPTIME_LAP_X               = 5
LAPTIME_LAP_Y               = 30

モニタウィンドウの設定

  • モニタウィンドウの表示設定を選択できますが、後述するショートカットキー(起動中)でも設定を変更できます
;モニタウィンドウを...
;0          : 表示しない
;1          : 表示する
;それ以外   : 起動しない
VIEWER_USE      = 1

モニタウィンドウの更新ウェイト

  • 内部では FPS (ms)になるように調整されています
  • 高速な CPUやグラフィックボードではより速く表示できますが、通常は 100ms程度で十分でしょう
;モニタウィンドウの更新ウェイト (ms)
VIEWER_FPS      = 100

モニタウィンドウの解像度

  • 表示するウィンドウサイズになります
  • 通常はスクリーンサイズと同じに設定してください
  • それ以外のサイズですと、拡大縮小の処理が入るため若干CPU負荷が増えます
;モニタウィンドウの解像度
;0 < MONITOR_SIZE_X < 2048 pixel
;0 < MONITOR_SIZE_Y < 2048 pixel
;それ以外   : 起動しない
VIEWER_SIZE_X   = 640
VIEWER_SIZE_Y   = 480

カメラの設定

録画の設定

デバックモードの使い方

ソフトウェアの使い方

ソフトウェアの起動方法

表示だけの場合

録画をする場合

CSVログを保存する場合

ショートカットキー


*1 EXCELなどの表計算ソフトウェアに簡単に取り込むことができます。FAQ : ログファイルをグラフ表示したい