DoctorMXには、ほとんど知られていない「シリアル」という機能が付いています。この機能を使って、プロジェクターの制御ができる場合があります。
シリアル端子が付いているプロジェクター
本記事で対象とするのは、プロジェクターの中でもシリアル端子 (RS-232C端子) が付いている機種になります。たとえばPanasonicの業務用大型プロジェクターには、本体背面に [SERIAL IN] という表示でD-sub 9pin メス端子 が付いています。(VGA用のD-sub 15pin端子とは別物なので注意してください)
このようなシリアル端子を使って何が制御できるかというと、プロジェクターの電源ON/OFF、映像ミュート、映像入力の選択(強制的にHDMI入力に固定するなど)、アスペクト比の設定等々、リモコンの設定メニューからいじれる項目の大半を制御できます。こうした機能は主に大学や美術館等の固定設備として導入される際に、プロジェクター単体で設定をしなくても、ワンスイッチで色々な設定が整うようにシステムを組む、といった目的で用意されているものです。
この中で、舞台でプロジェクターを使用する場合に目玉となる機能は「シャッター」です。大半のプロジェクターには内蔵シャッターが用意されておらず暗転ができませんが、業務用の一部機種にはメカニカルシャッターが内蔵されており、本体内部で物理的に遮光して完全な暗転を得られるようになっています。
せっかくシャッターが付いている高級機種ならば、そのシャッターの制御はリモコンではなく、照明卓で実施できたら最高ではないでしょうか?
なぜなら調光卓と調光ユニットの記事で述べたように、究極的には照明卓で何でも一括操作できるようになることが正義だからです。
そのような目的に、DoctorMXの「シリアル」機能が使えるのです。
必要なもの
- DoctorMX (インターフェースボックス)
- DoctorMX (ソフトウェア) をインストールしたPC
- USB-RS232C変換器…私はヨドバシカメラで売っていたainex ADV-119Aというのを使っています。
- RS-232Cコマンドに対応したプロジェクター…ここではPanasonic TH-D5600を例とします。(Panasonicのプロジェクターはどの機種でもコマンド体系がほとんど同じなので、別の機種でも大丈夫です。)
接続図
必要なものが揃ったら、下図のように接続します。
DoctorMX上の設定
Mac版の画面で説明しますが、Windows版でも基本的に同じです。
流れ図
この機能は「シリアル」という機能単体で動作するので、まずは流れ図に余計なものを挟まずに「シリアル」単体で試してみることをおすすめします。また、「シリアル」は他の機能にも影響を及ぼさないので、たとえばコンソールやパッチが流れ図の途中に存在しても問題ありません。
シリアルポート設定
まずは、シリアルポートの設定を行います。
メニューバーの「シリアル」から「シリアルポート設定…」をクリックします。
「追加」をクリックし、任意の名前 (例: プロジェクター) を付けます。通信速度はPanasonicのプロジェクターの場合9600bpsなので、「9600」に設定します。
ポートは、Macでは「usbserial」などのそれっぽい名前の機器が登場するので、それを選択してください。分からない場合は、左上のリンゴマーク→このMacについて→システムレポートを開き、USB-RS232C変換器を抜き差ししながら、どのような名前で認識されているか確認します。
Windowsでは、COM**という番号でポート名が出てきます。デバイスマネージャーを開いて「ポート(COMとLPT)」を探し、USBシリアル変換器がCOM何番で認識されているか確認しましょう。
通信速度とポートの設定が済んだら、「設定」をクリックしてメニューから抜けます。すると、「シリアル」機能の左上に小さく「ポートが設定されていません。」と表示されると思います。
この状態から、メニューバーの「シリアル」→「ポート」を見ると、「OSC」「Script」の下に、先ほど追加した「プロジェクター」が出現しているので、これをクリックします。すると、シリアル左上の表示が「動作中」に切り替わると思います。これで準備完了です。
シリアルシーンの作成
DoctorMXではシリアルコマンドも「シーン」という名前になっています。「編集」→「シーンを作成」をクリックすると、「名前」と「コマンド」の入力欄が現れると思います。
「名前」は任意の名前で構いませんが、ここではプロジェクターのシャッターを開くコマンドにしたいので、「Shutter Open」と書いておきます。
「コマンド」ですが、プロジェクターの機種によっては人間の読める文字だけで書く場合もありますが (例: EPSONのプロジェクターで電源を入れるコマンドは[PWR ON]です) 、Panasonicのプロジェクターの場合、通信の始まりと終わりを示す特別な文字 <STX> <ETX> でコマンドを挟む必要があります。この <STX> <ETX> は実際には1文字なのですが、PC上で表示したり変換で出したりすることができない文字なので、ASCIIコードで直接指定してあげる必要があります。DoctorMXの公式マニュアルによれば、半角¥マーク (Macでは半角バックスラッシュ\) に続けて16進数でASCIIコードを打つことが可能とのことなので、少々面倒ですがASCIIコードを使いましょう。
Panasonicのプロジェクターのコマンド規則は下図のようになっています。
そして、シャッターを開けるコマンドは「OSH:1」なので、
- 必要なコマンド: <STX>ADZZ;OSH:1<ETX>
- ASCIIコード表を参考に、16進ASCIIコードに変換: 2, 41, 44, 5A, 5A, 3B, 4F, 53, 48, 3A, 31, 3
- DoctorMXコマンド用に変換: \x02\x41\x44\x5a\x5a\x3b\x4f\x53\x48\x3a\x31\x03 (Windowsではバックスラッシュの代わりに円マーク)
この謎の文字列 (\x02\x41\…) を、DoctorMXで「コマンド」として書いておけばよいということです。ついでなので、シャッターを閉じるコマンド (ADZZ;OSH:0) も同時に作っておきましょう。\x31 を \x30 に変えるだけです。
成功していれば、これらのシリアルシーンを選択すると、プロジェクターのシャッターが開閉するはずです。
キューシートで操作
このようにして作成したシリアルシーンは、コンソールのシーンやチェイスなどと同様に、キューシートに入れて操作することができます。
下図の例では、キュー3番を再生すると、コンソールの3番目のシーンと「Shutter Open」が同時に走ります。
応用編: OSCメッセージの送信
ポート選択のところで、デフォルトで「OSC」というポートが入っていると思います。これを使用すると、シリアル通信と同じ要領でOSCを使って任意のコマンドを発射することができます。たとえば、Mac用音響ポン出しアプリのQlabでは、「GO」ボタンをOSCコマンドで叩くことができるので、DoctorMXから音響のポン出しをすることができます。
なお、流れ図の機能としての「OSC」が別で存在しますが、こちらはそういった目的には使えません。流れ図のOSCは決められたフォーマット(blob)で流れ図上のDMX 1~512chの数値を出し続けているだけなので、任意のコマンドにすることができないのです。
コメント
コメント一覧 (1件)
[…] 前回の記事「DoctorMXのシリアル機能でプロジェクターを操作する」と同じように、マイナーな「シリアル」機能を使います。 […]