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

今年は開発案件を進めたい

or 管理画面へ

2024年11月 この範囲を時系列順で読む この範囲をファイルに出力する

Icon of admin
 PegasysG10 に使えないかと中華電機でレンズを買ってみました。リフレクタタイプではなく凸レンズ。
 これがですね、イイ感じなんすよ♪。
 仮にかざしてみましたが、500wの凸を絞った感じです。ルーメン数は落ちていると思いますが、挟角なので主張が強く明るく感じる。
 純正レンズとは形状が全く違うので取り付け方を考えないといけませんが、ハレーション対策をすればビームラインがバッチリ出そう。
 カラーミックスのLEDでビームラインがハッキリ出る、ACLみたいなLEDスポットが欲しかったのでテンション上がってます。

追記
 取り付け方は、3Dプリンタでレンズの受けを作り、出来るだけ既存の部品で固定出来る様にします。
 試作品をプリントしていますが、CAM曰く、1台分18個が9時間半かかります。早くはないけど、1日で2台分作れるならアリかな。

 レンズはこんなんです。中華電機のサイト
 純正は直径28mmのレンズですが直径21.8mm、高17.6mmです。焦点距離のデータはありません。
20241122153140-admin.jpg
 底面にLED素子に合わせた gasket をハメますが、今回は次の受けを使います。

 受けはこんなんです。3Dプリンタで作ります。
20241122130220-admin.png

追記の追記
 受け(ホルダー)を入れますとレンズが基板から2mm離れます。焦点距離の値が不明とはいえ短いことは間違いないので2mmの違いは大きい。
 状況を確認したくて落ち着かなったのでバンド線を挟んでみました。丁度2mm径です。
 マーブルな感じが出てきたのでギリギリと思われますが、ホットスポットの見た目は7~8度くらいです。
 ハレーション切りを兼ねた受け(ホルダー)は今夜遅くに出来上がります。
 マーブルになっても出来るだけ細いビームが欲しいので、底面厚のバリエーション(2.5mmや3.0mm)も作ってみましょう。

#照明器具 #器具の製作
Icon of admin
 RaspberryPi CM4 のマザーボードが入荷しました。
 見た目はとてもキレイです。EtherNetが2口、RTC(リアルタイムクロック)、電源が背面のDCコネクタの仕様です。
 困ったのは何のマニュアルも付属していないことです。
 と、検索したらメーカーのサイト。
「CM4-DUAL-ETH-BASE」
 一通り説明があります。

#RaspberryPi
Icon of admin
 セマフォの使い方が見えたので構造の重要な要素は獲得出来ました。
 構成ですが、起動し mmap や pipe を定義し子プロセスの状態を監視する親プロセス「ArtNetPatch」、ユーザーの操作の相手やデータを画面表示をする子プロセス「ArtNetConsole」、Art-Netを送受信しパッチ処理やプロファイルカーブ処理を行う子プロセス「ArtNetEngine」の3本柱にしようと思います。
 子プロセスの生成は fork を使います。fork ならば mmap、pipe、semaqhoe を子プロセスに渡すのが楽です。メモリの消費は多くなるようですが、実体の複製ですからポインタ祭りにならずに済みます。メモリの消費が多いと言っても、私が作るソフトウェアの規模などたかが知れていますので RaspberryPiCM4 の8GBモデルなら楽勝でしょう。
 こういった構造は面倒な気もしますが、プロセス構造をシッカリ作っておけば開発が楽になると思いますし、何よりも「ArtNetEngine」の処理にリソースを集中したいのです。状態監視やユーザー相手は100msec毎で十分ですが、Art-Net の処理は5msec毎が欲しいのです。分散処理というより、求めるラップが違う処理を明確に分けたいのです。
 処理時間を意識してしまうのは PIC マイコンからのクセですが、RaspberryPiCM4 で8ユニバースのパッチ処理をするならダイエットが大事かと。

#[Art-net] #C言語
Icon of admin
 ArtNet-Patch で共有メモリの mmap を使うために セマフォ を勉強しています。mmap へのアクセスを排他的にするためです。
 ただ、プロセス間のセマフォを使うような人は上級者が多いのか解説ページを見てもわかりにくい。
 POSIX系のセマフォは物凄くシンプルな感じがしますが、とどのつまりがわからない。
 man もわかっている人向けなのか引数の記述があるだけ。
 もっと勉強です。

追記
 なんて愚痴っていたらよい記事がありました。
 開始が sem_init だったり sem_open だったりするけど、同じことみたいですからヘッダファイルのプロトタイプ記述を読めば良さそう。
「sem_overview - POSIX セマフォの概要」
「man-pages-ja sem_init(3)」
 次の記事は、パーミッションにおける umask のことが主題ですが、セマフォの使い方がよくわかる。シンプルな記述を示してくれるこんな記事が嬉しい。
「sem_openで、Permission denied になる」
 わかった気になった。

#[Art-net] #C言語
Icon of admin
 少し時間が空いたので ArtNet-Patch を考えていました。
 部分はなんとなく出来ているので、全体の構造をどうするか。
 まずプロセスを分けます。シングルプロセスではたぶんダメ。画面やキーボード操作を親プロセスにし、Art-Net の受信、パッチ処理、送信などを子プロセスとしようかと。子プロセスはタイムアウトする様にし、親プロセスからのリフレッシュが一定時間無ければ自動的に閉じることにします。こうしておけば親プロセスが飛んでも子プロセスがゾンビにならずいいかなと。操作が飛んでも Art-Net は生きている方がいいとする考え方もありますが、タイムアウト処理をコメントにすればそうなります。少なくとも開発中はタイムアウトした方がいいでしょう。
 プロセス間は mmap や Pipe で繋ぎます。データには mmap を用い、コマンドには Pipe を用いるイメージです。
 子プロセスの Art-Net 処理をイメージしながら表示画面やキーボード操作を考えてみましょう。

#[Art-net] #C言語
Icon of admin
 PegasysG10 の修理・改造は先が見えてきました。
 以前おかしな症状があったのは私のミスが原因でしたが、RS485のトランシーバーICを LT1785 にしたことで動作がとても安定しています。
 まだまだ手を付けなければならない機体は多いですが、手順が決まれば無心で頑張るだけです。

 さて、そんな PegasysG10 ですが、更に手を加えました。
 お寺さんの本堂の大屋根を染める依頼があるのですが、仕込める位置から大屋根は30~50mあります。出力というより狭角なスポットライトが必要です。
 ソースフォーのカラーミックスを使えたらいいのですが屋外に置くことは不可能に近い。かといって、全天候のLED-PARで狭角なモノは皆無。
 ならば、PegasysG10 のレンズを狭角なモノに換えてしまえと。
 以前、公称半減角5度のレンズを100個試し買いしたことがあります。ホットスポットは確かに5度くらいですが、ハレーションが酷すぎるし10m未満ですと出目がマーブルになってしまいます。ビームライトにならないなら使い物にならないとデッドストックになっていたのですが、改めて試したところ20m以上なら色が混ざり、ホットスポットもシッカリ見えます。ハレーションが酷すぎてステージのライトととしては使えませんが、投射距離が20~50mのライトアップには使えそう。ハレーションはハットを作れば軽減出来ます。
 問題は同じレンズが手に入らないこと。中華電機で買いましたが、扱っていたショップが消えてました。他のショップに似たようなレンズはありますが、中華電機では使う側が必要とするスペックを書いていないことが多く、お試し買いをする時間もありませんので、今回は手持ちの100個の範囲でやりましょう。

#器具の修理 #照明器具
Icon of admin
 ncurses はウィンドウも定義出来ます。
 今時のウィンドウとは違い、画面の中に子領域を作るイメージです。この領域内で文字位置が指定出来ます。子領域の左上を文字位置の 0,0 として扱えます。
 ダイアログウィンドウを描くことも出来ますし、画面の区分けにも使えます。
 今ネタになっている ArtNet-Patch では、すべてのレイアウトに共通する要素をメイン画面に描き、機能ごとの要素をウィンドウにして描こうかなと。表示位置のオフセット管理が楽になりますし、複数のレイアウトで共通する要素は使いまわしがしやすくなります。
 ncurses はキー入力も受け取れますので、ユーザーの相手にする部分は ncurses で全て作れそうです。
 後は string の使い方を頭に刷り込めば画面は作れるかなと。C言語の欠点は文字列の扱い難さですが、文字列は char の配列であることを頭に染み込ませてから string を勉強しなおしましょう。

 アホかと思うくらいC言語について検索してきたので、これまで ncurses を知らなかったのは何故だろう。

#[Art-net] #C言語
Icon of admin
 C言語のライブラリである ncurses を勉強しています。ANSIエスケープシーケンスを簡単に使える様にしたライブラリです。
 コマンドで全て描画するので今時の画面作りツールに比べたら面倒ですが、ANSIエスケープシーケンスを直接触ると思えば超簡単。歴史の長いライブラリのためか、奇妙な変化球がなくシンプルなのが私好み。
 x-windowベースのグラフィカルな画面にしてもいいのですが、リソースの節約をしたいし、あえてレガシーな風味がいいかなと思っております。
 Art-Netを受信して処理して送信する機能は一応出来ているので、まずは画面作りのお勉強をしましょう。データのモニターが出来ないと見えない部分の動作のチェックもし難いですしね。

#[Art-net] #C言語
Icon of admin
 「TourZCAM/ETZ(初代)」を使っています。
 かなり初期の LED-PAR です。明るさはボチボチですが全天候で消費電力が少ないので電源事情が厳しいライトアップで重宝しています。明るければイイとは限らないと思ったり。
 購入して年数が経っていますので正常に動作しない機体も出ています。この製品は電源基板がNGになることがあり、部品交換で修理をするワケですが、メニュー画面もキー操作も正常なのに点灯しない機体を2台発見。開腹してチェックするも不良が見えない。基板がお亡くなりになったかと思いましたが、マニュアルを読み直したところ「RESET」メニューがある。工場出荷状態に戻す機能のようですが、ダメ元で試したところ2台とも復活してしまいました。
 点灯しないモードに入ってしまった理由は不明ですが、サーマル・プロテクト(過熱保護)に入ると手動リセットしないといけないのかもしれません。
 「不調ならまずリセットせい!」ってことにしました。
 とりあえず全台復活です。

#器具の修理
Icon of admin
 こんなん欲しいなぁ~と思っていた RaspberryPiCM4 用のマザーボードを発見!
20241109224720-admin.jpg
 中華電機のサイト
 EtherNet が2系統、RTC、電源入力がUSB-Cでなく裏側にある、etc.
 PCI-Ex1 もあれば満点ですが、USB-3.0 が3系統あるので十分です。
 これが入荷したら ArtNet-Patch の開発を再開しようかと。晩酌の肴ですけどね。
 画面作りに ncurses を使えばと思っていましたが、ふと思いついて調べ直したらこれは便利。ネットにも man にもわかり易く整理された情報がないので、お試ししながらオレオレマニュアルを作成して本体ページにアップしましょう。自分の為にですけどね。
 最近、RaspberryPi の価格も下がってきました。CM4 が 中華電機で1万円せずに買えます。

#RaspberryPi #C言語 #[Art-Net]

■思ってみた

春ですねぇ~。
花粉症の部下は死にそうですが、暖かいってのはいいことです。

編集

■複合検索:

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

■日付検索:

■カレンダー:

2024年11月
12
3456789
10111213141516
17181920212223
24252627282930

■カテゴリ:

■最近の投稿:

最終更新日時:
2025年4月29日(火) 20時16分48秒