No.448
このところライトアップのご要望を多く頂きます。
特定の日時に人集めることが難しいため、特に行政さんではイベント予算の消化のためにライトアップをお考えになる事例が多いようです。
ただ、長くて2か月の半仮設に適したライトアップの制御システムは既製品にありません。電源は電気工事さんにタイマーとリレーを施工してもらえば何とでもなりますが、DMXを出力する制御盤はありそうで無いのです。5時間のライトアップをDMXレコーダーで現尺保存などしたくありませんし。
ならば作ってしまえとなるワケです。時刻をトリガーにシーンをめくる簡素なDMXコンソールってイメージですが、どうせならIoT的な手法でインターネット経由の遠隔操作が出来たらいいんじゃないかと。制御の核にRaspberryPiなどのLinuxベースのマイコンを用い、ポケットwi-fiを介してVPN接続するのです。VPNによってローカルLANと等しい接続をしてしまえばJAVA-scriptとPythonのsocketで自由度の高い制御が出来ます。現地の装置との接続を仲介するサーバーが別途必要なので、インフラ整備に物と手間と維持費がかかりますし、インターネットサーバーを扱うスキルも必要です。ナンのことすか?って話ですけどね。
未解決の課題は少なくありませんが、インターネットを介したVPNで遠隔操作する手段はとうの昔に獲得済みですから、ブラウザで操作できるコンソールをRaspberryPi上に構成すれば必要な要素は揃います。IoT照明コンソール(笑
未解決の主な課題はC言語によるPython用の計算ライブラリを書くことです。調光データの計算(マスター値を当てるとか、複数のシーンのレベルをマージするとか)に特化したものですが、繰り返し処理が激遅なPythonを補完するだけですので、PtyhonライブラリをC言語で書く教科書を熟読すればいけると思います。もちろんnumpyでも出来ることですが、繰り返し処理を軽くするには専用ライブラリがいいかなと。特化しといた方が書きやすいし。この案件に限らず、いずれ獲得したいライブラリです。
本題のような余談ですが、PythonはC言語より100倍楽に書けるけど100倍遅いイメージです。Pythonは変数の型に自由度があること(整数の除算の結果が自動的に浮動小数点なるとか)が書きやすい特徴の一つですが、Pythonのコアが変数の「型」を推測するのに時間がかかるのだそうです。代表的な例がfor文を多用した際の激遅っぷりです。for文は繰り返しのステップ毎に扱う変数の型を推測しますから遅くなるのは当然です。C言語は変数の型が厳密に扱われて気難しい反面、優しさ全開のアシスト機能が無いので速いのです。あちらを立てればこちらが立たず。処理内容に寄ると言ってしまえばそれまでですが、単精度で単純な計算を延々と続ける調光卓みたいなシステムでは繰り返しが多い計算をC言語によるライブラリとして書くメリットは多大なのです。どうやら、Pythonというシステムはそんな使い方をするようにデザインされているとのこと。PythonはC言語で書かれたガチなライブラリを出来るだけ楽に使うための踏み台だとイメージすると良いようです。
懸念されることは、世の中がコロナ前の状況に戻ってしまうと、ライトアップの件数も元に戻ってしまうことです。作っても使わないと意味ありません。
#照明器具 #Python
特定の日時に人集めることが難しいため、特に行政さんではイベント予算の消化のためにライトアップをお考えになる事例が多いようです。
ただ、長くて2か月の半仮設に適したライトアップの制御システムは既製品にありません。電源は電気工事さんにタイマーとリレーを施工してもらえば何とでもなりますが、DMXを出力する制御盤はありそうで無いのです。5時間のライトアップをDMXレコーダーで現尺保存などしたくありませんし。
ならば作ってしまえとなるワケです。時刻をトリガーにシーンをめくる簡素なDMXコンソールってイメージですが、どうせならIoT的な手法でインターネット経由の遠隔操作が出来たらいいんじゃないかと。制御の核にRaspberryPiなどのLinuxベースのマイコンを用い、ポケットwi-fiを介してVPN接続するのです。VPNによってローカルLANと等しい接続をしてしまえばJAVA-scriptとPythonのsocketで自由度の高い制御が出来ます。現地の装置との接続を仲介するサーバーが別途必要なので、インフラ整備に物と手間と維持費がかかりますし、インターネットサーバーを扱うスキルも必要です。ナンのことすか?って話ですけどね。
未解決の課題は少なくありませんが、インターネットを介したVPNで遠隔操作する手段はとうの昔に獲得済みですから、ブラウザで操作できるコンソールをRaspberryPi上に構成すれば必要な要素は揃います。IoT照明コンソール(笑
未解決の主な課題はC言語によるPython用の計算ライブラリを書くことです。調光データの計算(マスター値を当てるとか、複数のシーンのレベルをマージするとか)に特化したものですが、繰り返し処理が激遅なPythonを補完するだけですので、PtyhonライブラリをC言語で書く教科書を熟読すればいけると思います。もちろんnumpyでも出来ることですが、繰り返し処理を軽くするには専用ライブラリがいいかなと。特化しといた方が書きやすいし。この案件に限らず、いずれ獲得したいライブラリです。
本題のような余談ですが、PythonはC言語より100倍楽に書けるけど100倍遅いイメージです。Pythonは変数の型に自由度があること(整数の除算の結果が自動的に浮動小数点なるとか)が書きやすい特徴の一つですが、Pythonのコアが変数の「型」を推測するのに時間がかかるのだそうです。代表的な例がfor文を多用した際の激遅っぷりです。for文は繰り返しのステップ毎に扱う変数の型を推測しますから遅くなるのは当然です。C言語は変数の型が厳密に扱われて気難しい反面、優しさ全開のアシスト機能が無いので速いのです。あちらを立てればこちらが立たず。処理内容に寄ると言ってしまえばそれまでですが、単精度で単純な計算を延々と続ける調光卓みたいなシステムでは繰り返しが多い計算をC言語によるライブラリとして書くメリットは多大なのです。どうやら、Pythonというシステムはそんな使い方をするようにデザインされているとのこと。PythonはC言語で書かれたガチなライブラリを出来るだけ楽に使うための踏み台だとイメージすると良いようです。
懸念されることは、世の中がコロナ前の状況に戻ってしまうと、ライトアップの件数も元に戻ってしまうことです。作っても使わないと意味ありません。
#照明器具 #Python