MultiMascon

DCC鉄道模型をたくさんのマスコンで楽しもう。


ロゴ

このプロダクトは、DSAir2に接続して、市販のゲーム用マスコンを多数接続したうえで車両を自由に加減速操作したり、ボタンをサウンドやポイントなどのファンクションに割り当てたりできるものです。

DSC03172

目次

入手方法

もしまだお持ちでなければ、こちらのBOOTHにて購入可能です。

聞きたいこと、知りたいこと、ご意見があったら

DesktopStation様のご協力により、デジタル鉄道模型フォーラムにスレッドを建てさせていただいております。お気軽に質問・感想・要望などを書き込んでください。 また、限度はありますが、個人的に作者のTwitterなどへ連絡していただいても構いません。

最新ファームウェアで対応しているマスコン

  • サンイン重工ワンハンドル(OHC-PC01A)
  • タイトー 電車でGO Type2コントローラPS2向け (ツーハンドル)
  • タイトー 電車でGO 旅情編コントローラPS2向け (ツーハンドル・自動空気(または直通)ブレーキ)
  • タイトー ワンハンドル MTC(MultiTrainController) P5B8+EBカセット装着状態(電車でGO Type2互換状態)
  • 瑞起 電車でGO!!専用ワンハンドルコントローラー for Nintendo Switch

起動・終了方法

電源を入れる

  • 2つ並んだMicroUSBポートのうち、右側が電源供給ポートです。こちらに付属のACアダプタのMicroUSB端子を接続してください。
  • Linuxベースのコンピュータですので、起動完了(LEDランプが1秒間隔で点滅)には2分弱ほどかかります。焦らずお待ちください。

LEDランプの状態説明

  • 起動途中または正常終了済み: 滅(OFF)
  • システム正常実行中: 1秒間隔で点滅
  • 制御システム異常終了: 高速点滅

シャットダウンボタン

LEDランプの隣の赤いボタンは、電源を切るためのシャットダウンボタンです。電源を切りたいときは、このボタンを1秒程度押すと、10秒程度で安全に電源が切れます。このボタンか、管理画面でシャットダウンをすることなく、電源ケーブルを突然引き抜くのはなるべく避けてください。データ破損の恐れがあります。

本体へのWiFi接続、管理画面アクセス

  • SSID: MultiMascon-[ランダム] (末尾は個々で異なります)
  • 初期パスワード:12345678
  • 一部のAndroidでは「このネットワークはインターネットに接続していません。接続を維持しますか?」というダイアログが出てきますが、「はい」を選択してください
  • 接続した状態で http://mm.test にアクセスすると、管理画面にアクセスすることができます。この管理画面から様々な設定をしていただくことになります。

コントローラの接続

  • 左側のMicroUSBポートに、付属のUSBハブを接続してください。4つのポートがあり、DSAir2を除くと3台のマスコンを接続できます
  • 更に接続したい場合は、別途通常のUSBハブをお求めいただき、接続すればさらに増やすことができます。最大接続数の制約はありませんが、操作のレスポンスが遅くなる可能性があります。
  • 電源が切れた状態で、あらかじめ使用するコントローラを接続することをおすすめします。
  • 起動中にも抜き差しできますが、電源系のトラブルがより避けられます。
  • なお、ジョイスティック系(サンイン重工ワンハンドルなど)は、一度抜くと再接続には管理画面よりソフト再起動が必要になります。

列車を緊急に止めるとき

衝突しそうになったときなど、緊急に止める際の方法はいくつかあります。

  • DSAir2のリセットボタンを押す
  • MultiMascon管理画面のソフト再起動画面のボタンを押す
  • MultiMasconのシャットダウンボタンを押す(MultiMasconの電源を突然遮断しても列車は止まらないので注意してください)
  • 線路を短絡させる(機器群に突発的な負荷を与えるため、推奨はしません。せめてポリスイッチを使用してください)

管理画面の操作

車両設定

Screenshot from 2021-09-19 14-11-07

  • 車両の基本特性を設定します
  • アドレス: DCCのアドレスを入力してください
  • 加速曲線番号: 後述する加速曲線編集画面で設定できる曲線の識別番号です。これによりどの速度ではどのくらい加速するかを選択できます。
  • 出力曲線番号: 後述する出力曲線編集画面で設定できる曲線の識別番号です。これによりどの速度ではどの出力値をデコーダに送信するかを選択できます。
  • 最低出力: 車両が動き出す最低の出力値です。ここを時速0kmとみなして動作します。実際に車両で試して、最適な値を設定してください。
  • 減速度: 減速する程度の値です。単位はなく、内部的な係数です。ブレーキのかかり具合を設定できます。
  • ライトファンクションID: 前照灯をつけるファンクションIDです。標準で点灯します。方向「切」では消灯します。一般的な車両では0です。
  • 識別名: 任意につけられる、ユーザーが車両を判別するための名前です。これを次のマスコン割付で使用します

マスコン割付設定

Screenshot from 2021-09-19 14-11-51

  • 前述の「車両設定」で設定した車両を、どのポートに接続されたマスコンで動かすかを設定できます。
  • 物理的なポート番号を入力します。記法は設定画面に詳しく書かれています。(例: ポート2であれば「2」、ポート3につながったUSBハブのポート1に繋がっていれば「3/1」)
  • 「現在のUSBデバイス(マスコン以外も含む)接続状況」にポートの使用状況が書かれていますので、それを参考に物理ポート番号を特定してください
  • 同じポートは複数設定できません。

加速曲線編集

Screenshot from 2021-09-19 14-13-06

  • どの速度ではどのくらい加速するかを設定できます。
  • 点を複数設定することで、一次曲線により補完され、中間の速度では下に表示されるグラフのとおりの加速レベルになります。
  • ここで加速レベル0.0になる点が、最高速度となります image

出力曲線編集

  • どの速度ではどの出力値をデコーダに送信するかを設定できます。
  • 点を複数設定することで、一次曲線により補完され、中間の速度では下に表示されるグラフのとおりの加速レベルになります。 image

ボタン設定

Screenshot from 2021-09-19 14-13-43

  • どこに接続されたマスコンのボタンを押すと、どのファンクションや、アクセサリ動作が発生するかを設定します。

キーボード設定

  • キーボードのどのボタンを押すと、どのファンクションやアクセサリ動作が発生するかを設定します
  • 車両選択ボタンで選ばれる車両のDCCアドレスを入力します
  • 車両選択ボタンを押してから、ファンクションキーを押すと、その車両に対してファンクション指令が送信されます
  • また、マスコンに割り付けられていない車両に限り、キーボードにより簡易な運転もできます。

CV値読み書き

  • 車体やアクセサリの設定値であるCVの読み書きを行えます
  • CV読み書きをするとDCC制御ソフトウェアが停止するので、読み書きが終わったら次のソフト再起動画面で起動してください。

ソフト再起動

  • DCC制御ソフトウェアを再起動します。一瞬で完了します。
  • なにか動作がおかしいと感じたり、ジョイスティックタイプのコントローラを再接続するときには必要です
  • 全列車の速度などが起動直後の状態に戻ります。

ログ表示

  • LEDランプが点滅したり、なにか動作に異常があった場合は、ここを確かめてみてください。
  • お問い合わせ・フォーラムへの相談時には、ここに書かれた情報があるとスムーズに問題解決につながるかも知れません。また、情報提供も歓迎しております。

ファームウェアアップデート

  • DCC制御ソフトウェアと管理画面のソフトウェアバージョンを最新にしたり、逆に安定していたバージョンに戻すことができます。
  • 最新のファームウェアは、まずインターネットにつながった状態でこちら から「MultiMasconFirm-ver(バージョン).img」をクリックしてダウンロードしていただきます。
  • image
  • その後、WiFi接続先をMultiMasconに切り替えた上で、フォームでファイルを選択して「ファームウェアを更新」を押してください。

Screenshot from 2021-09-19 14-14-14

更新画面例

設定情報ダウンロード・復元

  • ためしに設定を変更するとき、あらかじめダウンロードして保管しておくと、前の設定に簡単に戻せるようになります。
  • ファイル名は変更して構いません
  • また、万が一データが破損してしまった場合も、予め保管しておけば前の設定を復元できます。
  • 出荷時設定はまずインターネットにつながった状態で こちら(ver5) からダウンロードしていただきます。
  • その後、WiFi接続先をMultiMasconに切り替えた上で、フォームでファイルを選択して「設定情報を復元」を押してください。

WiFiパスワード変更

  • WiFiのパスワード(PSK)は標準では12345678と、容易に推測できるものとなっています。
  • 悪意のある方に破壊される他にも、誤って他の方の管理画面に入ってしまわないためにも、変更することをおすすめします。

電源操作

  • 電源を切るときは、シャットダウンボタン、あるいはこの画面から実行できます。
  • また、再起動も可能です。

運転操作

サンイン重工ワンハンドル(OHC-PC01A)

  • 前・切・後により進行方向が変更できます。

タイトー 電車でGO Type2コントローラPS2向け

  • 左右ボタンで進行方向が変更できます。下ボタンので切となります。

タイトーMTC(MultiTrainController)P5B8+EBカセット装着状態

  • 左右ボタンで進行方向が変更できます。下ボタンで切となります。

タイトー 電車でGO旅情編コントローラPS2向け

  • 左右ボタンで進行方向が変更できます。下ボタンで切となります。

瑞起 電車でGO!!専用ワンハンドルコントローラー for Nintendo Switch

  • 前後ボタンで進行方向が変更できます。左右ボタンで切となります。

うまくうごかないとき

車両が動かない

  • DSAir2のランプが点滅しているか確認して、点滅している場合はソフト再起動をしてください。
  • 多くは、線路がショートしたり、車両の過負荷によりDSAir2に接続されたACアダプタの限界に達したのが原因です。
  • また、DSAir2のACアダプタが正しく接続されているかも確認してください

管理画面にアクセスできない

  • 起動が完了していて、WiFi接続先が正しいか確認してください。

LEDランプ高速点滅(制御システムが異常終了)した場合

  • 管理画面からソフトリセットを行ってください。
  • なお、ログデータと状況をフォーラムなどで報告していただけると、今後の参考になりますので、ぜひ報告をお願いします。

起動しなくなった場合

  • ケーブルを全て抜きます
  • RaspberryPi Zeroの蓋のポートがある側を軽く持ち上げて開きます
  • ケースの幅を軽く広げつつ、裏のピン部分の穴から押して、やさしく基板をケースから取り外します
  • 白いMicroSDカードを取り外します (写真)
  • お手持ちのコンピュータ(Windows/Macなど)に接続します。「破損しています」などといったメッセージが出るかも知れませんが、無視してください。
  • BACKUPというパーティションを認識したら、こちら の最新のアップデートファイルをダウンロードして、そのまま配置します ダウンロードフォルダからそのまま配置してください
  • MicroSDカードを白い面を上に確実に奥まで挿入して、電源ケーブル以外なにも繋がないで起動するか確かめます。また、基板表面の緑色のランプが点灯・点滅するかも確認してください。
  • それでも起動しない場合は、ご相談ください。

今後予定している機能(順番は要望の多さと実装の難度により決定します。要望は随時Twitterにて募集中です)

そのほかのマスコンへの対応

  • 今後現物が手に入り次第、増やしていきます。貸与などでご協力していただける方も募集しております。

線路電源ボタン

  • 特定のマスコンの特定のボタンを、線路電源ON/OFFボタンとして割り当てられるようになります

最新バージョンでの不具合

把握しているものはありません

その他の情報

モバイル運用

安定性の面から、AC100Vのある環境での動作をおすすめしていますが、もしモバイル運用をしたい場合には、注意が必要です。特に、いわゆるスマートデバイス充電用の「モバイルバッテリ」での動作は電圧安定性の面からおすすめしません。ニッケル水素充電池(エネループなど)からの昇圧供給などをおすすめします。

技術説明

内部写真

Raspberry Pi Zero WH

  • 日本国内で小売されているものを使用しています。そのため、いわゆる技適を通過しており、気兼ねなく電波発射できます。
  • 電源入力部分が小容量の積層セラミックコンデンサだけで、機器接続時の突発的な電流増加が原因でシステムがダウンする事象が確認されました。そのため、出荷する製品すべてに、はんだ付けのプロフェッショナルにより手作業で電解コンデンサの取り付けを行っております。

MultiMascon

根幹をなすソフトウェアです。すべてPythonで記述されています。

mm_web

Flaskにより動いている管理画面です。こちらもすべてPythonで記述されています

DietPi

Linuxディストリビューションの1つで、Raspberry Pi向けに軽量性を重視して開発されているものです。

使用しているOSS

  • Linux (GPLv2ライセンス)
  • DietPi (GPLv2ライセンス)
  • Python3 (PSF License Agreement・0BSDライセンス)
  • pyserial (3条項BSDライセンス)
  • pygame (LGPLライセンス)
  • libsdl2 (zlibライセンス)
  • RPi.GPIO (MITライセンス)
  • svg.charts (MITライセンス)
  • pyudev (LGPLライセンス)
  • pyusb (3条項BSDライセンス)
  • dnsmasq (GPLv2/v3ライセンス)
  • Flask (3条項BSDライセンス)
  • hotspotd (MITライセンス)
  • SQLite (パブリックドメイン)
  • boppreh/keyboard (MITライセンス)

SSH接続(サポート対象外)情報

  • WiFi接続によるIPアドレス: 192.168.42.1
  • USB-Ethernetコンバータによる有線接続IPアドレス: 192.168.3.190
  • ユーザー名:root パスワード:multimascon