N.I.N.Aを使い始める #1

最近 N.I.N.A.(NINA)を使おうと思い、セットアップを行っています。

セットアップしているツールは、
 NINA 2.0 BETA058
 Cartes du Ciel 4.2.1
 PHD2 2.6.11
 ASCOM 6.5 + Device Hub
  + MeadeGeneric.Telescape(ドライバ 32bit版)
  + HW Virtual Serial Port 3.1.2

の組合せです。

セットアップは次のWebページを参考にさせていただいています。
ありがとうございます。
www.nuasa.org

これまで、ステラショットと SS-one の内蔵ソフトの組合わせで動かしてきましたが、ASCOMを介してSS-oneを接続すればいろいろなツールが使えることが分かってきたので、ツールの構成を変えてみたいと思っています。

一応、これらのツールの構成で動いているようです。
実戦はこれからですが...。
ちなみに目標は、庭に設置した機材を使って、リモートで電子観望です。
次回以降は、設定で試行錯誤したことなどをメモとして記録していきます。

最近、巣ごもりで ...

巣ごもり状態がつづき、平日でも星をみることができるようになりました。
(通勤時間がなくなり、そして、通勤そのもののストレスがなくなったのが大きい...)

最近は、裏庭にすぐに出すことができて、簡単にセットアップできる機器を使うことが多くなりました。

 鏡筒:PENTAX 75SDHF
 カメラ:asi533mc pro
 赤道儀:Vixen SXD + 元祖starbook
 ガイド:qhy5L-II-M
 ソフトウェア:ステラショット2、PHD2、ASI Studio Live、...

f:id:cloudynight:20210123194126j:plain


ちなみに、どのようなセットアップになっているかというと、

f:id:cloudynight:20210123224641j:plain


SXDの極軸を(コンパスで適当に)北に向けて、
西に鏡筒を向けたホームポジションにしてから、
アライメントせずに適当な恒星に導入してステラショットの導入補正を行うと
後はステラショットで自動導入が可能になります。

ずれたら、再度ステラショットで導入補正。

ただし、極軸が合ってないので、このままでは結構星が流れます。
そこで、PHD2のオートガイドで補います。

北極星が見えず、
2等星がギリギリ見える明るい空で、
西の天頂付近しか見えない場所で、
しかも、
設定に時間をかけずに、星を見ることができます。

部屋の中からリモートアクセスでして、コーヒーを飲みながら
星雲が見れるなんて昔は考えられなかったなぁ。

ステラショット2の星図表示部分が表示されなくなってしまう現象が、Brynhildrで解消しました。

ステラショット2を使っています。
かなり便利なのですが...、

ステラショット2の星図表示部分が表示されない

ステラショット2になってから、ステラショットの星図表示部分が表示されなくなることが時々発生してしまいます。
ZWOのCMOSカメラ(asi533mc pro、asi224mc)を使っていますが、SharpCapやASIStudioとステラショットを同時に使うと、ステラショットの星図表示部分が表示されなくなってしまうのです。
ステラショットを再起動すると、一応表示されるようにはなります...。

原因は、リモートデスクトップ

いろいろと確認してみたところ、Windowsリモートデスクトップを使用していることが原因であることが分かりました。

ちなみに私の環境ですが、
■ ステラショットが動いているPC

  • Windows 10 Pro
  • SharpCap 3.2
  • ASIStuido
  • asi533mc pro、asi224mc (どちらでも、問題は発生してしまう。)

■ リモートで接続するPC

この環境で、Windows 10 HomeのPCからステラショットが動いているPCに、リモートデスクトップを使ってリモートログインしてステラショットを操作しています。
そこで、
リモートデスクトップの代わりに Brynhildr を使用したところ、ステラショットの星図表示が正常に表示されるようになりました。
OKです。
どうも、リモートデスクトップDirectXに制限がかかっていることが原因のようです。

Brynhildr のセットアップ方法

備忘録として、Brynhildrのセットアップ方法を残しておきます。
Brynhildrをダウンロードします。

  1. Brynhildrを次のWebページからダウンロードします。ステラショットが動いているPC(以下、サーバ側PC)とリモートで接続するPC(以下、クライアント側PC)のどちらにも、適切なディレクトリ(例えば、c:\tool\brynhildr)にBrynhildrを置きます。(インストールは不要です。)

blog.x-row.net
サーバ側PCでは、

  1. brynhildr.exe をダブルクリックで起動
  2. ModeをServer に指定、パスワードやポート番号(5550)を指定して、OKをクリック
  3. これでServerモードで動作を開始

クライアント側PCでは、

  1. brynhildr.exe をダブルクリックで起動
  2. ModeをClient に指定、パスワードやポート番号(5550)をServerモードで指定した設定を指定して、OKをクリック

これでリモート接続できるはず。

接続できない場合、
Windowsファイアウォール等で5550が遮断されている可能性があるので、ファイアウォールのポート設定を確認します。

サーバ側PCで Brynhildr をサービスとして登録しておくことも可能です。
その場合、brynhildr.exe を「管理者として実行」して、Serviceに「Create」を指定してOKをクリックするとサービスに登録されます。
サービスとして登録しておくことで、brynhildr.exe を都度起動させなくても、Windowsを起動したときに自動的に brynhildr.exe が起動されます。

クライアント側PCの表示に関して、WindowsScrollをONにすると画面を自動的に拡大・縮小してウィンドウサイズに合わせて表示されます。
OFFにすると画面を拡大・縮小されずに表示されます。

ちなみに、brynhildr.ini で設定することも可能です。
私はクライアント側PCのbrynhildr.iniに次のように設定しました。
brynhildr.ini

sound=0      ; サウンドOFF
caption=0    ; キャプション(タイトルバー) OFF
windowmax=1  ; ウインドウサイズ最大

この設定でWindowsの「タスクバーを固定」OFFにして、タスクバーが自動的に隠れるようにしています。

ステラショット2から SS-one AutoGuider pro を動かしてみる。 #3 [Open DHCP Server]

今回は、SS-oneのIPアドレスを設定します。

ステラショット2からSS-oneに接続する際、SS-oneのIPアドレスを固定しておいた方が便利です。
SS-oneはできるだけ変更せずに使いたいため、SS-oneの外から設定する方法をとります。
SS-oneは DHCP クライアントとして動いていますので、ステラショットがインストールされているWindows PCにDHCP サーバ を立てて、DHCP サーバからSS-oneのIPアドレスを設定するようにします。

DHCPサーバはこちらの Open DHCP Server を使用します。
オープンソースDHCP サーバで、設定もわかりやすいツールです。
Windowsのサービスとして動きます。

ja.osdn.net

まずは、OpenDHCPServerInstallerV1.75.exe (2020年8月20日時点の最新版)をダウンロードして、Windows PCにインストールします。
インストール方法はいろいろなWebページで説明されていますので、Google先生に聞いてみてください。

インストールが終わったら、DHCP Serverの設定を行います。

Windowsのスタートメニューをクリックし、Open DHCP Server / Configure から OpenDHCPServer.ini を変更します。直接、インストールされたフォルダの「OpenDHCPServer.ini」というファイルを変更してもOKです。
ここでは、SS-oneのIPアドレスを192.168.1.41にする設定を行います。
Open DHCP Serverが稼働しているWindows PCのIPアドレスは 192.168.1.40です。
また、192.168.1.41から192.168.1.49までのIPアドレスの払い出しされるようにします。

[LISTEN_ON]
192.168.1.40

[LOGGING]
LogLevel=All

[RANGE_SET]
DHCPRange=192.168.1.41-192.168.1.49
Router=192.168.1.1

[GLOBAL_OPTIONS]
SubnetMask=255.255.255.0
DomainServer=192.168.1.1
AddressTime=360
Router=192.168.1.1

# SS-oneのMACアドレスを指定する。
[b8:27:**:**:**:**]
IP=192.168.1.41


次に、Open DHCP Serverが稼働しているWindows PCのIPアドレスを 192.168.1.40に固定します。

  1. コントロール パネル / ネットワークとインターネット / ネットワーク接続 / イーサネットのプロパティ を選択します。
  2. インターネットプロトコル(TCP/IPv4)を選択して、プロパティボタンをクリックします。
  3. 「次のIPアドレス」の各項目を設定します

SS-oneは DHCP クライアントとして動いていますので、
Open DHCP Serverから振られたIPアドレスが設定されるようになります。

ステラショット2から SS-one AutoGuider pro を動かしてみる。#2 [ 機器構成 ]

SS-oneを中心とした機器構成です。

鏡筒:セレストロンC5
赤道儀:EM-200B+SS-one
電子ファインダー:EOS Kiss X3+標準ズームレンズ(55mm-250mm)
CMOSカメラ:ZWO ASI224MC

ソフトウェア:
 ステラショット2
 HW VSP3
 OpenDHCP Server
 リモートデスクトップ


f:id:cloudynight:20200817233218j:plain


使用する機器をできるだけ少なくするために、WiFi環境はステラショットが動作するPCのモバイルホットスポットを使っています。もう一台のPCからリモートデスクトップでこのPCに接続し、リモート操作できるようにしています。
また、ステラショットからSS-oneを制御するために、HW VSP3というソフトを使っています。

SS-oneを動かしてみると、電力不足の傾向があり赤緯軸のモーターで「ガガッ」と音がして脱調することがありました。
SS-oneの消費電力を抑えるために、極軸カメラのUSBケーブルをSS-oneから外し、当初使用していたエレコムWiFiアダプタも外すと脱調しなくなったため、この2つは使用しないことにしました。WiFiアダプタが使用できないので、SS-oneとPCはLANクロスケーブルでつないでいます。

Open DHCP Server を使用して、SS-oneのIPアドレスをPCのネットワークセグメント(192.168.1.*)に合わせるようにしています。

SS-one autoguider pro で使える エレコム USB WiFi アダプタ(その2)

エレコム WDC-150U2MBKドライバをss-oneに組み込む

それでは、
エレコム WDC-150U2MBK
のUSB WiFiアダプタをss-oneに組み込む方法です。

ユーザ sspi でss-one(ラズパイ Raspberry Pi)にログインします。
(sspiユーザについては、以前の記事を参照してください。)

初めにファームウェアやOSの確認を行います。

$ cat /boot/.firmware_revision
b2f5782d2a61cdfa1967942d34eae48900266ae1

$ uname -a
Linux raspberrypi 4.0.7-v7+ #1 SMP PREEMPT Sat Jul 11 20:44:05 CEST 2015 armv7l GNU/Linux

$ lsmod
r8188eu               433274  0

$ modinfo r8188eu
filename:       /lib/modules/4.0.7-v7+/kernel/drivers/staging/rtl8188eu/r8188eu.ko
version:        v4.1.4_6773.20130222
author:         Realtek Semiconductor Corp.
description:    Realtek Wireless Lan Driver
license:        GPL
・・・

次に
http://downloads.fars-robotics.net/wifi-drivers/8188eu-drivers/
からドライバをダウンロードして、ss-oneの適当な場所に置きます。
ダウンロードするファイルは、先ほどのunameコマンドで確認したLinuxカーネルのバージョンに合ったファイル名のものを探します。4.0.7-v7で探して、その後ろの枝番は...すみません。不明です。

$ ls
8188eu-4.0.7-v7-801.tar.gz
$ tar -xvzf 8188eu-4.0.7-v7-801.tar.gz
8188eu.ko
8188eu.conf
install.sh
$ ls
8188eu-4.19.75-1270.tar.gz  8188eu.conf  8188eu.ko  install.sh
$ ./install.sh 
sudo install -p -m 644 8188eu.ko /lib/modules/4.0.7-v7+/kernel/drivers/net/wireless
sudo depmod 4.19.75+

Reboot to run the driver.

If you have already configured your wifi it should start up and connect to your
wireless network.

If you have not configured your wifi you will need to do that to enable the wifi.

$ sudo vi /etc/modprobe.d/blaklist-rt8xxxu.conf
blacklist r8188eu

ss-oneを再起動して、ドライバが組み込まれたことを確認します。

$ lsmod | grep 8188
8188eu                859650  0
cfg80211              417277  1 8188eu

$ modinfo 8188eu
filename:       /lib/modules/4.0.7-v7+/kernel/drivers/net/wireless/8188eu.ko
version:        v4.3.0.8_13968.20150417
author:         Realtek Semiconductor Corp.
description:    Realtek Wireless Lan Driver
license:        GPL
・・・

確認できましたか。
これでエレコムWiFiアダプタが使えるようになります。

退屈なことはPythonにやらせよう の望遠鏡版 その2~ss-oneの時刻を設定する

第2弾は、SS-one AutoGuider proの時刻を設定する。です。

ss-oneの時刻設定はちょっと大変
ss-oneに限らず、raspberry pi (ラズパイ)は内蔵時計を持っていないため、時刻がずれてしまいがちです。
インターネットに接続できる環境であればNTPサーバと時刻同期できるのですが、そもそも、ss-oneは単独で使うことが多いので対策が必要です。

方法その1: SkySafariを使って、スマホの時刻と同期する方法
 これが一番簡単かも。でも、SkySafari Plus or Proを購入しなければなりません。

方法その2: ss-oneにログインして、dateコマンドで設定する方法
 一番ベーシックな方法ですが、少し面倒です。

  1. TeraTermで ss-one にSSHでログイン。ユーザは前に説明したsspiを使います。
  2. dateコマンドで時刻を設定します。
$ sudo date -s "2020/08/09 10:00:00 JST"
[sudo] password for sspi: <パスワードを入力>
Sun Aug  9 01:00:00 UTC 2020

 ちなみに、ss-oneはタイムゾーンUTC協定世界時)なので、JST日本標準時)で設定すると-9時間の時間差で表示されます。

ss-oneの時刻をPCと同期する。
というわけで、今回はss-oneの時刻設定を自動化します。

このPythonのプログラムで、ss-oneの時刻とPCの時刻を同期します。
実行する際にはparamikoがないとエラーで怒られますので、その際には pip でparamikoをインストールしてください。

import paramiko
import datetime

with paramiko.SSHClient() as ssh:
    hostname = '192.168.2.102'
    port=22
    username='sspi'
    password='<パスワード>'

    def __exec_command(command, mode = ''):
        if mode == 'sudo':
            # eg. echo <password> | sudo -S <command>
    	    command = 'echo ' + password + ' | sudo -S ' + command;

        print('\n$ ' + command)
        stdin, stdout, stderr = ssh.exec_command(command)

        for o in stdout:
            print(' ', o, end='')
        for e in stderr:
            if '[sudo] password for' not in e:
                print('[err]', e, end='')

if __name__ == "__main__":

    # paramikoの初期設定(SSH)
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

    # sshで接続
    ssh.connect(hostname, port, username, password)

    # hostnameを表示
    __exec_command('hostname')

    # raspberry pi の時刻設定
    dt_now = datetime.datetime.now()
    str_time = dt_now.strftime('%Y/%m/%d %H:%M:%S')
    __exec_command('date -s "' + str_time + ' JST"', 'sudo')

    # 設定された時刻を表示
    __exec_command('date')

    print('\ndate & time changed.')
    input(' Press ENTER to exit.')

このpyファイルを実行すると、実行結果は、こんな感じです。
f:id:cloudynight:20200809074648g:plain

前回同様、デスクトップ等にショートカットを作っておくと便利です。

では。