某装置を制御する仕掛けを作る | 2021.11.22 02:39 |
XopsAddonCreatorを触るつもりでいましたが、完全に別件で とある所で
使うため、某装置を制御する仕掛け(ソリューション)を作っていました。
「某装置を制御するソリューションって何ぞや?」って話ですが、PCを用い
て、ディスプレイの入力信号を受け取り、出力装置を制御する系(?)です。
もう少し詳しく書くと、HDMIの映像信号をUSB接続のHDMIキャプチャーで
受け取り、制御PCで映像を判定した上で、Arduinoを使って仮想キーボード
として出力するお話です。まだ実験段階です。
別に無理に隠すことはないものの、いつ誰が見るか分からないので、
一応これ以上の詳細は伏せておこうと思います。
ハードウェアとソフトウェアが絶妙に混ざっているため、このブログ記事の
カテゴリもどうするか悩みました(^^;
こういうハードウェアとソフトウェアが融合した仕掛け作りは、昔から自分の
得意分野だったりします。
発想・原理としては結構単純なのですが、今まで形にしたことがないタイプ
で、所々に罠・癖があったりと結構大変でした。
過去形で語れる話ではなく、現在進行形なのですがw
使うため、某装置を制御する仕掛け(ソリューション)を作っていました。
「某装置を制御するソリューションって何ぞや?」って話ですが、PCを用い
て、ディスプレイの入力信号を受け取り、出力装置を制御する系(?)です。
もう少し詳しく書くと、HDMIの映像信号をUSB接続のHDMIキャプチャーで
受け取り、制御PCで映像を判定した上で、Arduinoを使って仮想キーボード
として出力するお話です。まだ実験段階です。
別に無理に隠すことはないものの、いつ誰が見るか分からないので、
一応これ以上の詳細は伏せておこうと思います。
ハードウェアとソフトウェアが絶妙に混ざっているため、このブログ記事の
カテゴリもどうするか悩みました(^^;
こういうハードウェアとソフトウェアが融合した仕掛け作りは、昔から自分の
得意分野だったりします。
発想・原理としては結構単純なのですが、今まで形にしたことがないタイプ
で、所々に罠・癖があったりと結構大変でした。
過去形で語れる話ではなく、現在進行形なのですがw
HDMIの映像入力については、ネット通販で目についた適当に安い中華製HDMI
キャプチャーを買いました。
どれがいいとか どこに注意するべきかなど未知なので、半ば適当に選んで買って
います。
言うほど超高画質ではなく ちょっと色がおかしい気がしますが、まぁ実験・検証
に使う分にはコスパは良い商品でした。
ただ、メインPCでは接続中は正しく動き続けるのですが、サブのノートPC
だと、数分で自動的に映像が切断され動かなくなります。
PCのハードの問題なのか、OSのどっかに省電力設定のようなものが紛れている
のか、ドライバーの問題なのか、特定の常駐アプリの有無みたいな話なのか、
よく分かりません。この辺は要調査ですね。
HDMIをキャプチャーした映像の画像処理は、自前で実装しました。
ガチでやるならOpenCLとか使った方が良いのですが、入力されてくる映像は
かなりパターン(法則性)があり、そんな本格的な画像処理エンジンを使わな
くても何とかなるレベルだったからです。
この手のソリューションは映像処理の(あらゆる意味での)優秀さに掛かって
いますね。
今回の用途としては、まぁまぁの出来になったかな っと満足しています。
自己評価で点数を付けるなら60~70点ぐらい。
仮想出力(対象装置から見たら入力)は、今回キーボードだったのでArduinoを
使いました。
最初はPSoC3を使おうとしたのですが、参考文献が少なく ちょっと調べても
使い方がよく分からなかったので辞めました(汗
PSoC3をネチネチやりたかった気持ちもなくは無いですが、今回は成果物と
しての完成を優先し、PSoC採用は諦めました。
Arduinoにした理由は、10年ぐらい前(もうそんな前!?)に触ったことが
あったことと、大きさや完成度の要求が特段高くない点、後は情報量の多さ
から短期間で作品自体の完成・テストへ到達できると考えたからです。
10年前に手に入れたモデルだと使いたい機能が使えなかったので、モデルは
買い替えたのですが。
Arduinoって、非常に簡単ですぐにプロトタイピングできるので、成果物を
急ぐときには重宝しますね。これは良かった。
・・・なんかゲームエンジン使う話と似ているなぁ...(遠い目
HDMIのキャプチャーデバイスで映像が映らなくなる問題もそうですが、
実は解決の糸口が見つかっていない点が もうひつあります。
それはソフトウェアのGUIです。
PC上で動作させるソフトウェアのGUIが、まともにできていません。
そりゃC言語でWinAPIを使えば、良いGUIのソフトが作れるのは分かって
いますが、手間ばっかり掛かり過ぎるので使いたくありません。
最初HTA(HTML Application)を使いましたが、外部のexe・batの実行処理
がイマイチで、途中で使うのを諦めました。
HTAって、気軽にGUIが作れ環境依存も少ないので非常に理想に近いの
ですが、なんでこう外部exe・batの実行機能が弱いんだろ・・・って
いつも思います。
実行時にコンソールのウインドウが一瞬出てくるとか、親プロセスが
終了しても実行したプロセスは残るとか、標準出力が一発で拾えないとか、
かゆい所に手が届かない感じです。。残念。
ネットを調べると、あの手この手で回避する手法を発明してる人が多々
いますが、なんで標準機能でサクっとできないのだろうか。
あと残りの手札は・・・HSPか。。 HSP...うーむ。。
そんなこんなで休日が過ぎ去りました。
もう11月下旬ですね。あと一ヶ月ちょっとで1年間が終わるようで。
今年も早かったなぁ。
category : ソフト・ツール開発 | comment [1] |