fc2ブログ

EkosでProfile Editorに登録されていないドライバを使用するには

INDIサーバ・ドライバはこちらの記事に掲載したように、サーバ側から立ち上がっているドライバの情報をxmlファイルでクライアントアプリに送信し、クライアントアプリ側でその情報を受け取り選択することで使うことができる仕様になっています。
このため、どのような独自に作成されたオリジナルドライバであってもINDIの仕様に沿っていれば、クライアントにドライバ情報が送信され、選択すれば使用できるのですがEkosに関してはこの部分にかなりローカルルールがありますので、通常のINDIサーバ・ドライバの挙動で読み取れなくなっています。


以下にINDIサーバ・ドライバに対してEkosのローカルルール部分を記載します。

1.ローカルサーバに関してはサーバ・ドライバの立ち上げ機能がある。(リモートサーバ立ち上げに関してはINDIWebマネージャーなどを併用が必要

2.通常サーバから受け取るドライバ情報を読み取り選択するためのxmlファイルが内包されており、Profile Editorのリストに表示される。

3.Profile Editorのリストから最低でもCCDドライバなどを事前に選択していないとサーバに接続できない。(リストを空にしてサーバに接続できない。)


私自身も初期の頃、この部分の独自仕様に混乱しました。
通常のINDIクライアントはサーバと接続後、ドライバ情報をxmlで受け取り、そのドライバ情報を選択することでコントロールパネルにアクセスできるようになり、機器との接続、設定を行うという流れになります。
いわば、サーバから受け身の状態で接続されるため、サーバが起動しているドライバはどのようなものであっても表示、選択ができるわけです。(クライアントが対応していないと使用はできませんが。。例としてステラリウムや、SkyChartsはマウントドライバにしか対応していません。)

サーバの立ち上げ機能が内包されているのは良いのですが、ローカルサーバとリモートサーバの扱いが異なります。
その上、通常はサーバから受け取る(初回のみ、二回目以降はクライアントに保持される)xmlファイルがすでに内包されており、最初にそれをProfile Editorで選択する仕様になっています。

Ekos自体が開発元が配布するアプリであること、開発元がほとんど全てのサードパーティドライバを開発していること、さらには、通常のクライアントアプリとは異なり、複数機器の制御が行えることや、サーバ・ドライバの立ち上げ機能を内蔵していることからそのようにしたのかもしれませんが、仕様自体に矛盾があります。

Ekosはサーバ・ドライバの立ち上げ機能も兼任しているため、待受からの接続が仕様上とれません
そうなるとタイトルにも記載したEkosでProfile Editorに登録されていないドライバを使用する方法が無くなってしまいます。

ほとんどのドライバは開発元が配布しているので、そのドライバを使用するのであれば、この仕様でも問題ありませんが、ご自身がカスタマイズしたドライバやINDIGOサーバ・ドライバを使用するとなるとEkosのProfile Editorでは設定できません。

ではどうすれば良いのでしょうか?
サーバ側からドライバのxmlファイルを手動で抜き出し、KStarsに組み込むなどの方法もありますが、最も簡単な手順を記載しますので、お困りの方はお試しください。


前提条件として
1.サーバ・ドライバは事前に立ち上げて機器と接続しておくが必要です。(Ekosから立ち上げを行いません。)

INDIGOサーバであればWebブラウザからドライバの起動→接続が可能です。
カスタムドライバなどがインストールされているラズパイなどは、INDIWebマネージャーなどで立ち上げをしておいてください。



Ekos側で行うこととしては以下になります。

1.立ち上がっているサーバをリモートサーバとして設定(INDIGOサーバは、ローカルであってもリモートサーバとして設定します。)
2.Profile Editorでシミュレーションドライバを選択(CCDのものだけで大丈夫だと思います。)

上記の状態にして、Ekosで接続を行えばサーバで接続した機器のドライバが自動的に読み込まれます。


簡単に言えば、Ekosのローカルルールを逃れ、通常のINDIサーバ・ドライバ、クライアントアプリの関係と同じ状態を作り、待受状態から接続する設定です。
このようにすれば簡単にProfile Editorに登録されていないドライバを使用することができます。

Ekosにはこのようなローカルルールがいくつかあります。
本当はこのような混乱を招く仕様は改善してほしいのですが、原理を知っていれば逃れられますので、都度回避方法をご紹介していこうと思います。

関連記事
スポンサーサイト



INDI web manager

はじめまして、あんとん、と申します。
Raspberry Piでの天文機器の制御に興味をもち、AstrPiで勉強させてもらっています。
いまいち、リモート、サーバーなどの意味がわかっていないからだと思うのですが、
たとえば機器のリストには表示される(ローカルのサーバーにはない?)Pentax (Native)とかRas pi cameraなどのdriverを使いたいときは、具体的にはどうすればよいのでしょうか?
ローカルのサーバーは立ち上げて、webには繋げてみたのですが。。。。

Re: INDI web manager

あんとんさん

はじめまして、T-Studioです。
AstRPiをサーバ(機器接続側)、リモート側はPCのKStarsをお使いということでしょうか。

一番簡単なのはVNCビューアなどでAstRPiのデスクトップを制御してしまうことですが、リモートドライバとしてINDIを使用したい場合は以下に注意してください。

1.高速なネットワーク環境(特にカメラドライバの影響が大きいです。)
2.サーバ側の機器にリモート側の機器が対応しているか。(ジョイスティック(Linuxのみ)やラズパイカメラ(ラズパイのみ)などは機種特有のドライバになるのでリモート側の機器も同様に対応していないと使用できません。

AstRPiはVNC、リモートデスクトップ、NoMachineなど複数のリモートデスクトップサーバを稼働していますのでこれらを利用してラズパイの画面をリモート操作するのが最も簡単です。

もちろんAstRPiをINDIドライバのサーバとしてPCなどのクライアントからリモートドライバとして使用することも出来ますが、上記1,2部分をクリアしているかご確認ください。

リモート側でドライバが対応しているけれどドライバ名の記述が無いドライバを使用したい場合は以下の手順で使用できます。

サーバ側:使用したいドライバを選択して起動しておく
リモート側:EkosのProfileEditerでラジオボタンのローカルをリモートに変更→サーバのIPアドレスを記載→ドライバ選択部分はCCDドライバのみシミュレーションドライバを選択しておく

この状態でリモート側のEkosを起動すれば、サーバ側のドライバを読み込んで使用できます。

信号の流れが少しややこしくかんじますが、サーバ側のドライバをまずは起動して、リモート側で起動したドライバを読み込んで使うとお考えください。

ASCOMには無い特徴として立ち上げたサーバのドライバを複数のクライアントやPCでドライバを共有して使用することが可能です。(どのクライアント、PCで操作しても何の設定をしなくても状態が常に同期してくれます。)

ありがとうございます。

t-studioさん

基本、AstRPiに機器を接続し、VNCビューアでAstRPiのデスクトップを制御しているのですが、
Ekosのコントロールパネルで選択できるINDI driverで、ローカルの?INDI Web Managerではリストにないものを、リモートからなら読み込めるのかな?と思ったのですが、当方の理解が不十分で、
INDI Web Managerを適切に設定して適切なネットワーク環境下で設定すれば、リモートではなくても設定できるかと承知しましたので、試してみたいと思います。
ありがとうございます。
またわからないことがあったら、教えてください。

ps. 別の記事で、デジカメの場合、カメラ本体のSDカードにRAWのデータを保存し、ラズパイ側はJPEGでプレビューし、プレードソルブなどに使用できるよう設定すると、ラズパイの記憶領域を節約し、読み込みの時間も短縮できる拝見したのですが、これは具体的にどのように設定すればよいのでしょうか?

Re: ありがとうございます。

あんとんさん

INDI-WebManagerに関してはAstRPiのブラウザインターフェイスから呼び出して、VNCに関してはAstRPiのデスクトップをコントロールすれば同じサーバのドライバになりますので使用できます。

ドライバの選択や起動をEkosのプロファイルエディタからでなく、ブラウザインターフェイスからINDI-WebManagerを呼びだし起動するように記載しているのは以下の利点からです。

・遠征時にスマホなどからドライバを選択、起動できる
・ドライバを個別に再起動できる(Ekosからはできません)

Ekosのプロファイルエディタは若干癖があるため、時刻合わせでWebインターフェイスにアクセスしたついでにドライバの起動までをスマホなどのブラウザで済ましてしまうという考え方です。(スマホならQRコードでアクセスできるので)

INDIサーバ・ドライバの流れなどは以下をご参照ください。

https://tstudioastronomy.blog.fc2.com/blog-entry-124.html
https://tstudioastronomy.blog.fc2.com/blog-entry-125.html


デジカメの画像の扱いについてはEkosのキャプチャーモジュールで設定します。

https://tstudioastronomy.blog.fc2.com/blog-entry-57.html

上記アドレスの画面キャプチャの青枠部分を切り替えることでラズパイに保存するか、SDカードに保存するかを選択できます。

デジカメのドライバの場合はキャプチャモジュール画面に保存形式を選べる項目が出てきますので、プレビューやPlateSolvingなどで使用する場合はファイル形式をJPEG、青枠部分をクライアントにしてラズパイにダウンロードされるようにします。
(PlateSolvingに関してはアライメントモジュールにもダウンサンプルなどの設定項目がありますのでそちらも設定します。)

撮影の設定などが完了したら青枠部分をローカル(デジカメの場合は選択できます。)、ファイル形式は保存したい形式に変更して撮影のスケジュールをスタートします。

完結に言えば処理や撮影プレビューの部分はラズパイに読み込みが必要なのでファイルをなるべく軽いものを使用し、速度低下を抑える。撮影画像の保存に関しては最も早い転送経路を使用するということです。(キャプチャモジュールのプレビューやPlateSolving、フォーカスモジュールでのフォーカス制御など処理や確認で行う撮影は保存する画像ではないので(処理やプレビュー確認のための撮影)転送が軽くなるように設定します。)

デジカメはカメラのSDカードに保存できますが、天体カメラはラズパイに画像を保存しないといけないため、USB3のSSDドライブなどを追加します。(高速な転送経路を作ります。システムが入ったmicroSDカードに保存すると非常に遅くなります。)

デジカメの場合キャプチャモジュールの設定でラズパイ本体とSDカードの両方に保存する設定も可能ですが、転送経路が二つになると速度が半分に落ちますし、ラズパイに転送が終了するまで他のことができなくなりますので、撮影する画像に関してはSDカードに保存することをお薦めします。(SDカードに保存すればデジカメのバッファメモリを活用できるのでラズパイの処理の待ち時間が無くなります。)



Re: ありがとうございます。

あんとんさん

ご質問を読み返しましたが、AstRPiのINDIWebManagerの項目にEkosにあるドライバのいくつかが不足しているということですよね。

ラズパイカメラやペンタックス(ネイティブ)などはAstRPi配布後のドライバなのでデフォルトでは入っていませんが、アップデートなどをしましたか?

同じサーバであれば同じxmlファイルを読むはずなので、EkosのプロファイルエディタとINDI-WebManagerのドライバ項目が異なるということはないはずですが。。。

新しいバージョンのマイナーバグかもしれません。

T-Studioさん

理解できていなかったところが、よくわかりました。
T-StudioさんのブログやStellarmate(こちらもOSを購入し導入してみました)のチュートリアルなどで勉強してみます。

Re: T-Studioさん

あんとんさん

INDIはネットワークドライバという概念や、ドライバ項目の煩雑さで導入時の敷居が高くなってしまっています。
この部分をクリアすれば動作自体は安定していますし、様々な応用が効きますので粘り強く取り組んでみてください。

ご不明なことはお気軽にご連絡ください。(私も分かる範囲ですが(笑))
非公開コメント

プロフィール

TーStudio

Author:TーStudio
色々工夫しながら星空を楽しんでいます。
興味あるカテゴリを選択してお楽しみください。

カレンダー
05 | 2023/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
カテゴリ
最新記事
最新コメント
月別アーカイブ
アクセスカウンター