2026-05-30
#astronomy
#kstars
indi-server と INDI Web Manager を使用することで kstars から 導入、ガイド、撮影までをリモートから行うことができます。
この構成の利点は、Raspberry Pi を完全ヘッドレスに運用できることで、LANケーブル1本で車の中のノートパソコンからすべてを操作できることです。
本記事は、Linux での基本的なコマンド操作と SSH 接続を問題なく行えることを前提にしています。
接続イメージは次の通りです。
シンプルに赤道儀とカメラしかない構成です。遠征しやすくコンパクトに組んでいます。
Raspberry Pi の OSインストールとSSH接続はできていることとします。
また、インストールするときだけはインターネットアクセスが必要です。
運用時は必要ありません。
上の構成ではPCとRaspberry Piを直接LANで繋いでいるので、Raspberry PiのIPアドレスを固定しておく必要があります。
参考: https://blog.amedama.jp/entry/raspi-os-trixie-static-ip-address
INDI サーバー (indiserver) は、INDI ドライバーとクライアント間の通信を管理するスタンドアロン プロセスです。
まずは依存するパッケージをインストールし、本体をビルドします。
sudo apt update
sudo apt install -y \
git \
cdbs \
dkms \
cmake \
ninja-build \
fxload \
libev-dev \
libgps-dev \
libgsl-dev \
libraw-dev \
libusb-dev \
zlib1g-dev \
libftdi-dev \
libjpeg-dev \
libkrb5-dev \
libnova-dev \
libtiff-dev \
libfftw3-dev \
librtlsdr-dev \
libcfitsio-dev \
libgphoto2-dev \
build-essential \
libusb-1.0-0-dev \
libdc1394-dev \
libboost-regex-dev \
libcurl4-gnutls-dev \
libtheora-dev \
libxisf-dev \
liberfa-dev
git clone --depth 1 https://github.com/indilib/indi.git
cd indi
./developer-build.bash
cd build
sudo make install各メーカー用のINDIドライバをまとめて管理するリポジトリ
ここから必要なメーカーのドライバをビルドします。
今回は上の構成の通り、SVBonyとPlayerOneのドライバをビルドします。
(赤道儀は、ここで挙げた構成ではデフォルトのドライバで動作を確認しました)
他のドライバも各フォルダにあるINSTALLファイルに、ビルド手順が記載されています。
sudo apt -y install libnova-dev \
libcfitsio-dev \
libftdi-dev \
libboost-dev \
liblimesuite-dev \
libftdi1-dev \
libavcodec-dev \
libavdevice-dev \
libzmq3-dev \
libudev-dev
git clone --depth=1 https://github.com/indilib/indi-3rdpartymkdir -p ~/build/libsvbony && cd ~/build/libsvbony
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug ~/indi-3rdparty/libsvbony
make -j4
sudo make installmkdir -p ~/build/indi-svbony && cd ~/build/indi-svbony
cmake -DCMAKE_INSTALL_PREFIX=/usr ~/indi-3rdparty/indi-svbony
make
sudo make installmkdir -p ~/build/libplayerone && cd ~/build/libplayerone
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug ~/indi-3rdparty/libplayerone
make -j4
sudo make installmkdir -p ~/build/indi-playerone && cd ~/build/indi-playerone
cmake -DCMAKE_INSTALL_PREFIX=/usr ~/indi-3rdparty/indi-playerone
make
sudo make installINDI Web Manager
web(ブラウザ) から INDI Server を扱うためのツール
このマネージャー経由でkstarsからINDI Serverにアクセスする
Raspberry Pi OS (Trixie) からは Pythonのバージョンの問題や pip の問題があり、README通りにインストールできない点に注意
Python3.12以下でないとcgiモジュールがないため、 pyenvでインストールする
curl -fsSL https://pyenv.run | bash
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init - bash)"' >> ~/.bashrc
source ~/.bashrc
sudo apt update
sudo apt install libsqlite3-dev
pyenv install 3.12
Trixieではシステム Python への pip install が制限されるため、以下のリンクの通り pipenv を使います。
参考: https://github.com/knro/indiwebmanager/issues/59#issuecomment-2327044696
sudo apt install pipenv
mkdir ~/indiweb && cd ~/indiweb
pipenv --python=`which python3.12`
pipenv install indiweb
# 動作チェック
pipenv run indi-web -v電源投入で indi-web が起動するように、systemd でデーモン化します。
まずはサービスファイルを作成します。
以下の 2 か所でユーザー名の {user} を必ず置き換えてください。
cd ~/indiweb
cat << EOF > indiwebmanager.service
[Unit]
Description=INDI Web Manager
After=multi-user.target
[Service]
Type=idle
# MUST SET YOUR USERNAME HERE.
User={user}
WorkingDirectory=/home/{user}/indiweb
ExecStart=/usr/bin/pipenv run indi-web -v
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
サービスファイルを配置して自動起動を設定
sudo cp indiwebmanager.service /etc/systemd/system/
sudo chmod 644 /etc/systemd/system/indiwebmanager.service
sudo systemctl daemon-reload
sudo systemctl enable indiwebmanager.service
ラズパイを再起動して、
sudo reboot
動作を確認してください。
sudo systemctl status indiwebmanager.servicehttp://{raspi_ip}:8624Ekos Profile Wizard から設定します。
8624。 INDI Web Manager running on the Remote Computer? は Yes右の再生ボタンから接続ができます。
この構成でRaspberry Piを鏡筒の上に亀の子で同架してしまえば、LANケーブル一本で絡まる心配もありません。
一般的には統一した望遠鏡制御といえばASCOMが使われますが、Windowsを使わない方法としてはINDIがもっとも使いやすいと思います。
特にkstarsの統合UIが使いやすいところが非常に気に入っています。