🗐 電装工芸日記 - 舞台照明機器の製作とか -

能登半島地震で被災された方々にお見舞い申し上げます。

or 管理画面へ

全年全月5日の投稿(時系列順)[33件]

2021年11月 この範囲を新しい順で読む この範囲をファイルに出力する

Icon of admin
Windows11を導入してみたワケですが、動作負荷を見ようとタスクマネージャーを起動するとタスクマネージャーのCPU負荷が50%とやたらと大きい。動作が重くなった印象は無いのですが、なんとも不思議な数値です。
今のところ気になる点はありません。見た目が少し変わったWindows10といった認識でしばらく使ってみます。

見た目の印象ですが、特定のどれかに酷似している訳ではないのですが、なんとなくLinuxっぽい。

#パソコン
Icon of admin
客席テーブルver5.0で使うアルミフレームが入荷しました。
ミスミなどでも扱っているスリットレール入りの物ですが、あまり出ない規格なのか中国の混乱の影響なのか、入荷に半月かかりました。
強度に不安があったのですが無用の不安。期待より少し重いかもしれませんが、この丈夫さなら帳消しかな。
鋼材で作る部品を仕上げて試作です。

#ガチ工作

2022年3月 この範囲を新しい順で読む この範囲をファイルに出力する

Icon of admin
 本日は久しぶりの現地照明。現場って感じでホッとします。

 実機での研究や試験は出来ませんが、アイデアが出てきたら整理しています。今日出てきたアイデアはArt-Netの受信に関するものです。
 Art-Netは複数の送信機を同じネットワークに接続することが出来ます。正しくはないけど間違ってもいない使い方ですが、期待してない挙動が起こっても面白くないので対応しといた方が良さそう。
 socketによる受信からはデータと送信元アドレスを取り出せますから、送信元アドレスをキーにデータを仕分けます。採用するデータは送信元を一つに限るのが道理な気もしますが、同じユニバース・スロットの最大値を採用したらHTPのミキサーになってしまいます。
 ミキサーは欲しい機能ですが、バカよけを施した副産物でミキサーになりそう。

#[Art-Net]
Icon of admin
 オレメモ

 Pythonのsocket.recvfromでタイムアウト処理をする。

 socketのインスタンスをsockとした場合、sock.recvfromの前に

 sock.settimeout(<タイムアウトの秒数>)

 とする。

 sock.recvfrom(<バッファ数>) を try: で実行し、except socket.timeout: でタイムアウトエラーを拾う。

#Python
Icon of admin
 実機を離れて考えを進めると抜けが見えてきます。
 一つ前のオレメモはArt-Netを受信していないときの対策です。タイムアウトを設定しませんと延々と待つだけの無限ループになり、適切な終了すら出来なくなります。一定時間受信が無いならそれをユーザーに伝えることも大切な処理です。
 その前の送信元が複数になった時の対策もそうです。ミキサー機能が無いと謳っても複数の接続をする人が居ないとも限りませんし、そんな人に限って勝手な想像通りに動かないと作った奴が悪いとかダメな製品だとかレッテルを貼ってくるものです。この件については副産物としてミキサー機能に至れそうな可能性が見えましたので「災い転じて何とやら」ですが、先入観を排除して可能性を熟慮することの大切さを改めて痛感です。

 受信処理は試行錯誤しながらディレイを可能にしたことでソースコードが読みにくくなってきましたので、タイムアウトと複数の送信元への対応を加えながら読みやすく書き直しです。
 パラメータが増えてくると変数の命名に配慮するだけでも読みやすさが違ってきますので、この辺りも含めてよく考えていきます。

 ここまでやってきて、思った以上に受信処理が大切なことに驚いています。
 ミキサーしかり、ディレイしかり、思い描いている機能の大半が受信直後の処理にかかっていたとは当初は全く思いもしませんでした。
 この辺りは所詮アマチュアの所業でありますが、まだまだ修行です。

#Python #[Art-Net]
Icon of admin
 オレメモ

 ● Art-Netの受信の準備でするべきこと。

  ・受信のタイムアウトを定義し、タイムアウトを例外としてキチンと処理する。

 ● Art-Netを受信したらするべきこと。

  ・受信した「Art-Netのバイナリデータ」に「いつ」「どこからか(送信元)」を絡めて受信データとする。
  ・ユニバースと内部ルートの対照データを基に、データの参照キーを「ユニバース」から「ルート」に変換してキャッシュする。
  ・「いつ」をキーに送信元からの送信が無くなったと見なせるならキャッシュも含め送信元情報を消去する。
  ・「いつ」をキーにキャッシュの有効期限が切れたならキャッシュのレベル値をすべてゼロにする。
  ・送信元ごとのキャッシュをルートで丸めて一意のキャッシュにする。

#[Art-Net]

2022年4月 この範囲を新しい順で読む この範囲をファイルに出力する

Icon of admin
 マルチマスタ処理はHTPではなく選択式が良い気がしてきました。
 HTPは同じスロットの高い値を採用しますが、ムービングの制御においてはよくありません。かといってLTPが良いワケでもない。
 ならば受信する卓(送信元IPアドレス)を選択したらどうかというアイデア。

 この処理をするには入力部の大幅な変更が必要です。
 ・・・まだまだかかるなぁ。

#Python #[Art-Net]
Icon of admin
 送信元をIPアドレスで選択する方法は簡単でした。丁寧に書いてきたおかげで左程の書き換えもせずに対応できそうです。
 現在受信中の送信元一覧を得るためのプロセス間通信チャンネルを追加し、指定した送信元のデータだけを取り出す試験はものの数分で終わりました。
 この後、一連の処理を関数化すれば完成です。
 ただ、ライトアップのバラシに気力体力が奪われているので方向性が見えたところで終わりにします。丸一日、お日様を浴びながら立ったりかがんだりを延々繰り返していたので流石にシンドイ。集中力が落ちている時に書き進めるといいことはありません。

 受信モジュールから取り出す際、それなりに大きな3次元配列からスロット毎の最大値を取り出す処理が不要になったので処理が少し軽くなりました。
 送信元を選択式にするとバックアップ卓の切り替えに使えますし、フェスなどで複数の卓を切り替えて使う際にも使えます。パッチは一意で卓を切り替えて使えるとかなり便利だと思います。

#Python #[Art-Net]

2022年6月 この範囲を新しい順で読む この範囲をファイルに出力する

Icon of admin
 ホールの増員です。
 空き時間があったので、間数マーカーの明るさを舞台でチェックしました。
 視認性が良いのにドン帳を照らし出すことがありません。ELを使った以前の物に近い特性です。
 明るさがちょうどいいので十分に使えるでしょう。

#舞台の小物
Icon of admin
 マイコン内蔵RGB LED WS2822S
20220605134751-admin.jpg
 5mm角のLEDモジュールです。電飾さんが使っているLEDリボンに搭載されている素子の部類です。
 DMX-512(拡張互換プロトコル)で動かせます。3色ですから3スロットで制御します。信号の電気特性はTTL5vですのでRS485から変換する必要がありますが、LT1785などで変換するだけなので簡単です。
 この製品で言うところの拡張互換プロトコルとは、DMX-512が最大512スロットのところ1536スロットまで扱えるようにしたものですが、データ量が3ユニバース分に増えただけで基本的な考え方は同じです。電気特性を変換すればDMX-512(1990)で直接制御出来ると思っていいでしょう。

 面倒なのはアドレスの設定です。RDMではない専用の設定プロトコルを用います。
 データシートの説明ですとイマイチわかりにくいのですが、接続順に3スロットづつ拾って設定する方法です。DMX-512にとても似た信号ですが、ビット列のエンディアンがDMX-512と違うことに注意です。

 以前からWS2812の類を使って電飾が出来ないかと考えていましたが、アドレスの設定器さえ作ってしまえば、舞台照明の環境ではこのWS2822Sの方が扱いやすいと思います。

#LED

■当面の課題

花粉症シーズンも一段落したようで重傷者にも笑顔が戻ってきました。私は原始人なので花粉が酷い日でも鼻の中が埃っぽいなぁくらいにしか感じませんけど。
気温の変化が激しいようですので、みなさま健康管理には注意してください。

編集

■全文検索:

複合検索窓に切り替える

■複合検索:

  • 投稿者名:
  • 投稿年月:
  • #タグ:
  • カテゴリ:
  • 出力順序:

■日付検索:

■カレンダー:

2021年11月
123456
78910111213
14151617181920
21222324252627
282930

■カテゴリ:

■最近の投稿:

最終更新日時:
2024年5月11日(土) 08時13分36秒