ATEMminiを使用したライブ配信で、カメラマンをやっていただく場合、タリーが欲しくなる。Blackmagic Designのデベロッパーサイトでは、スイッチャを制御するためのSDKが提供されていて、これを学べばなんとかなるのかなと考えていた。
が、改めてネットを漁ると、WiFiを使ったワイヤレスタリーの作例がわんさか。スイッチャの話だけあってyoutubeにも動画が多く上がっており、M5StackやM5Coreを使用したものの中にはビジネスにしてる人もいる。
今回は、Githubにあったコードで手持ちのESP8266(ESP-WROOM02)を使って、試してみた。
↑ここにあるコードで使うのは、
と
libraries/にあるライブラリ4つ
ATEMbase
ATEMmin
TallySaver
GitHubからzipでダウンロードして、Arduino IDEのメニュー「ライブラリをインクルード .zip形式のライブラリをインストール」でうまく読み込めなかったので、ライブラリ達は、自分のArduinoIDEのlibraryフォルダにコピーした。
には、EPS32のコードや、neopixelといったフルカラーLEDに対応したライブラリも使うことになっているが、今回はESP8266を使い、LEDは、onairを示すの赤と、preview中であることを示すの緑がそれぞれ1個づつ光ればいいということで、不要なコードは削除した。また、ESP8266 D1ボードに対応したコードなので、ESP-WROOM2で使うには#defineで指定するpinの変更が必要。今回はGPIO4を赤 GPIO5を緑に割り当てた。コンパイルも通ったのでブレッドボード上で動作試験をしてみる。
電源いれたら初期設定 esp8266がhttpサーバーかつwifiAPになるので、Tally light Setup というSSIDのWiFIアクセスポイントにPCからアクセスすることでおこなう。Tally側のIPは192.168.4.1で、そのAPに接続すると、PCは192.168.4.2が割り当てられ、ブラウザでアクセスすると設定ページが開く。
設定ページでは、スイッチャの何番の入力のタリーにするかとか、接続したいATEMminiスイッチャがいるネットワークのWiFiAPを設定する。DHCPで良ければ固定IPのチェックを外す。接続するATEMminiのIPは調べて入力する必要がある。
設定を反映すると、スイッチャに接続するはず。動作状態はシリアルモニタで見ることができる。WiFiの設定はEEPROMに格納されるので、一度設定すればOK。
設定はreadmeを見ないとわかりにくいが、LED1をnormalにして、ソースで指定したpinにLEDを接続する。いろいろいじっていたら、うまくつながった。ATEMminiの操作に応じてLEDが点灯する。これはなかなか感動ものだ。
早速、ユニバーサル基板に移植。手持ちの高輝度LED、タカチのケース、単三電池2本用の電池ボックスなど、すべて手持ち部品で一応の形になった。電池ボックスはケースの後ろに背負わせた。電池は8時間くらいは持つはず。
回路はよくある基本回路に、ソースで指定したGPIOに電流制限抵抗(470Ωとか)を入れてLEDをつないだだけ。
参考
https://www.denshi.club/pc/arduino/esp8266-iot3mqtt3.html
オリジナルはRGBのLED1個で色を変化させることになっているが、単色の独立したLEDが物理的に切り替わる表示の方が分かりやすいと思う。もし信号機が1つの灯器で3色表示だったらわかりにくそうだというのと同じ。
オリジナルの作例には、直接スイッチャに接続したタリーユニットをサーバーとしても機能させて階層的に構成する図が出てくるが、まだ試していない。
結局、先人たちのライブラリが充実していたので、ATEMminiのSDKは直接見もせず、プロトコルの概要も理解せずにここまでできてしまった。いいんだか悪いんだか。
次回の現場で使ってみます。
5/31追記
2台目のタリーをブレッドボードでつくり、2台目のタリーが接続するスイッチャのIPアドレスを1台目のアドレスに設定して階層的に構成したら、バッチリ動いた。
6/6追記
先週末のライブ配信で早速運用。カメラマンとの連携がスムースになりストレスの少ない運用ができた。