Raspberry Piと、INDIを活用した統合天体観測システムを紹介していきます。
※改造については、あくまでご自身の責任にてお願いいたします。本内容は参考情報としてご覧ください。
1. 統合天体観測システム
本システムは、屋外で天体観測を楽しむための統合天体観測システムです。カードサイズの小型コンピュータRaspberry Pi 5 を中核に、観測機器の制御と運用を行います。
Raspberry Pi 5は司令塔として機能し、INDI (Instrument Neutral Distributed Interface) の通信プロトコルを用いて、赤道儀(ここではOnStep)を制御します。INDIは多様な機器に対応しており、柔軟な拡張性を備えています。
さらに、KStars/EKOS といった高機能なプラネタリウム・観測制御ソフトと連携することで、自動導入や高度な観測支援が可能です。
また、Windows PCからVNC接続を介してRaspberry Pi 5のデスクトップを操作できるため、車内など離れた場所から無線で望遠鏡を制御するができます。
このページでは、Raspberry Pi 5のセットアップから、ネットワーク設定までを紹介していきます。
2. システム構成
2.1 ハードウェア構成
フィールドでの煩雑な準備作業を最小限にし、スムーズな運用できることを優先し、システムを構成しています。
Raspberry Pi 5 を Wi-Fi アクセスポイントとして構成し、そのネットワークに Windows PC と OnStep の SWS をクライアントとして接続します。
さらに、Raspberry Pi 5 と OnStep は USB で接続され、INDI を介して通信・制御を行います。
自宅では Raspberry Pi 5 をインターネットに接続することが多いため、観測システムにはローカル Wi-Fi、ホームネットワークには有線 LAN を割り当てます。LAN ケーブルを挿すだけでインターネットに接続でき、同時に観測用の Wi-Fi ネットワークも維持できるので、準備やデータ転送をスムーズに行えます。


| ハード ウェア | Raspberry PI 5 (8G) |
| OS | Raspberry Pi OS (64-bit) Trixie リリース日時 25-11-24 |
以下に、ネットワーク環境の一覧を示します。あくまでも一例なので、必要に応じて修正してください。
| 🌌フィールド運用時 | 🏠自宅運用時 | ||
|---|---|---|---|
| RPi 5 | wifi アクセスポイント名 | FieldAP | FieldAP |
| wifi IPアドレス | 192.168.50.1 (アクセスポイント) | 192.168.50.1 (アクセスポイント) | |
| インターネット接続 | 切断 | イーサネット(有線 LAN)経由 | |
| Onstep SWS | wifi接続先 | FieldAP | FieldAP |
| wifi IPアドレス | 192.168.50.20 | 192.168.50.20 | |
| Windows PC | Wifi 接続先 | FieldAP | FieldAP |
| Wifi IPアドレス | 192.168.50.100 | 192.168.50.100 | |
| インターネット接続 | USBデザリング経由 など | イーサネット(有線 LAN)経由 など | |
2.2 ソフトウェア構成
以下は使用するソフトウェアの一覧です。すべてオープンソースで、無料で利用できます。
| INDI | デバイス制御・通信プロトコル | 望遠鏡・カメラ・フォーカサー・フィルターホイールなど、さまざまな天体観測機器を制御するためのオープンソースの通信プロトコルです。INDIはLinuxベースで動作し、Raspberry Piのような軽量なコンピュータでも快適に運用可能です。 |
| KStars | プラネタリウムソフト | Linux・Windows・macOSで動作するフリーの高機能なプラネタリウムソフトで、リアルタイムの星図表示や天体情報の検索、望遠鏡の自動導入などが可能です。 |
| Ekos | 観測自動化・機器制御モジュール | KStarsに組み込まれている、観測自動化・機器制御モジュールです。INDIを通じて望遠鏡・カメラ・フォーカサー・オートガイダーなどの観測機器を制御することができます。 |
3. Raspberry Pi OSのインストール
note: 2023年10月以降、Raspberry Pi OS はDebian 11(Bullseye)ベースから Debian 12(Bookworm)ベースへと移行しました。 この変更により、ネットワーク関連の挙動や初期設定が大きく変化しています。
用意するものは、Windows PC、Raspberry Pi 5、micro SDカード、インターネットに接続可能な有線LAN、Raspberry Pi 5に対応した電源ケーブルを用意します。
まず、Raspberry Pi5にOSをインストールします。Windows PCで、Raspberry Pi Imagerを使用して、SDカードにインストールを進めていきます。
OSは、Raspberry OS(64-bit)のBookwormをえを選択します。
アプリの流れに沿って、設定を行って行きますが、ここでの注意点は、WiFi使用の仕様にチェックを入れず、設定を行わないことです。これはのちにRasppberry Piをアクセスポイントモードを行う際に、設定が競合しないためです。

4. VNC設定
SDカードに書き込みが終わったらRaspberry Pi にSDカードを挿入し起動します。最初はモニター、キーボード、マウスをRaspberry Piに接続し、設定を行います。最初に行うのはVNC(リモートデスクトップ)の環境を整えるところから始めます。
4.1 ウインドウズシステムの変更
Terminalを起動し、以下のコマンドを実行し、raspi-configを起動します。
sudo raspi-config
Raspberry Pi 5では新しいウインドウシステムの「Wayland」が使われていますが、VNC(リモートデスクトップ)との相性に一部問題があります。そのため、安定したリモート操作を行うために、従来のX11(X Windows System)方式に切り替えます。
→ 6 Advanced Options
→ A7 Wayland
→ W1 X11
設定後、再起動します。

4.2 VNCの有効化
再起動後に、再び、Raspi-configを起動し、VNCを有効化します。
3 Interface Options
→ I3 VNC
これにより、画面右上に VNC のアイコンが表示され、VNC が有効になったことを確認できます。アイコンをクリックすると、Raspberry Pi の IP アドレスを確認できます。 その後は、Windows PC から Real VNC Viewer を利用して、リモートデスクトップ経由で Raspberry Pi を操作できます。なお、Real VNC Viewer は Microsoft Store からインストール可能です。
※現段階では、有線LAN経由の接続になりますが、のちに、WiFi経由の接続に設定します。

5. Raspberry Pi のアクセスポイント化
Raspberry PiをWiFiアクセスポイント(AP)に設定します。このことで、Raspberry Piがホストとなり、赤道儀のコントローラであるOnstepや、WindowsPCがクライアントとしてアクセスが可能になります。
# 既存の「FieldAP」接続設定を削除(重複や設定ミスを防ぐため)
sudo nmcli connection delete FieldAP
# 新しいWi-Fiアクセスポイント接続を作成(SSIDは「FieldAP」、インターフェースはwlan0)
sudo nmcli connection add type wifi ifname wlan0 con-name FieldAP ssid FieldAP mode ap
# IPアドレスを固定し、IPv4共有モードで設定(他の機器にインターネットを共有可能に)
sudo nmcli connection modify FieldAP ipv4.method shared ipv4.addresses 192.168.50.1/24
# WPA2-PSK方式でセキュリティ設定(パスワードは「xyzxyzxyz」)
sudo nmcli connection modify FieldAP 802-11-wireless-security.proto rsn 802-11-wireless-security.key-mgmt wpa-psk 802-11-wireless-security.psk ‘xyzxyzxyz’
# PMF(Protected Management Frames)を無効化(古い機器との互換性向上)
sudo nmcli connection modify FieldAP 802-11-wireless-security.pmf disable
# Wi-Fiを有効化
sudo nmcli radio wifi on
# wlan0 を手動で UP にする
sudo ip link set wlan0 up
# 設定したアクセスポイントを起動
sudo nmcli connection up FieldAP
Windows PCより、WiFiのアクセスポイントとして、選択できるようになっているはずです。
6. Windows PCの設定
Windows PCをWi-Fi経由でVNC接続できるように設定します。
6.1 固定IP化
Raspberry Pi 5でDHCPが失敗するのを防ぎ、安定した接続を確保するために、Windows PCのWi-Fiアダプタに固定IPを割り当てます。
IPアドレス: 192.168.50.100
ゲートウェイ: 192.168.50.1
6.2 ルーティングルールの設定
Windows PCは有線LANとWi-Fiの両方に接続するため、どっちの回線を使って通信するかを自動で選択します。これを安定して動作するように、ルーティングルールを明示させます。
1. Windowsの検索窓に「コマンドプロンプト」または「PowerShell」と入力します。
2. 表示されたアプリを右クリックし、「管理者として実行」を選択します。
3. 以下のコマンドを入力してインターフェイス一覧を確認します。
route print
4. 表示された一覧から、Wi-Fiアダプタ(例: Intel(R) Wi-Fi 6 AX201 160MHz)に対応するインターフェイス番号(例: 17)を控えます。
5. Raspberry Pi 5 (192.168.50.1) 宛ての通信を確実にWi-Fiアダプタ経由にするため、以下のルールを追加します。
route ADD 192.168.50.1 MASK 255.255.255.255 192.168.50.1 IF 17 METRIC 1 -p
※ IF 17 の部分は、ご自身の環境に合わせてインターフェイス番号を置き換えてください。
これにより、Windows PCはインターネット接続とローカルWi-Fiネットワーク接続を安定して併用できます。設定完了後、Windows PCを Raspberry Pi 5 (FieldAP) に接続し、Real VNCでRaspberry.PiのWi-FiのIPアドレスを指定して接続してください。
7. Samba(共有フォルダ)の設定
Samba(サンバ)は、Raspberry PiとWindowsパソコンのあいだで「ファイルのやりとり」ができるようにするためのソフトです。これを使えば、ネットワーク経由でファイルを簡単に共有できるようになります。
7.1 Sambaのインストール
まず、以下のコマンドで、sambaをインストールします。
sudo apt update
sudo apt install samba samba-common-bin
7.2 設定ファイルのバックアップと編集
Sambaの設定ファイル /etc/samba/smb.conf を編集する前に、念のためバックアップを取っておきます。
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo nano /etc/samba/smb.conf
7.3 ゲストアクセスの無効化
この設定は、認証に失敗したときに「ゲスト」としてアクセスを許可するかどうかを決めるものです。今回はセキュリティのため、コメントアウトし、無効にしておきます。
[global]
…
# This option controls how unsuccessful authentication attempts are mapped
# to anonymous connections
; map to guest = bad user
7.4 [homes]セクションの無効化
Sambaには [homes] というセクションがあり、ログインしたユーザー名と同じ名前の共有フォルダを自動で作成する機能があります。今回は不要なので、以下のようにすべての行をコメントアウトして無効にします。
;[homes]
; comment = Home Directories
; browseable = no
; read only = yes
; create mask = 0700
; directory mask = 0700
; valid users = %S
7.5 共有フォルダの設定を追加
以下のコードは、Sambaの設定ファイルの一番下に追加してください。
この例では、ユーザー のホームディレクトリ内にある Public フォルダを、Windowsからアクセスできる共有フォルダとして設定しています。
- path の部分には、共有したいフォルダのパスを指定します。ここでは /home/Public を使っていますが、必要に応じて変更しても構いません。
- <username>の部分は、実際にRaspberry Piで使っているユーザー名に置き換えてください。
- [PiShare] の部分は、Windowsから見えるフォルダ名になります。たとえば、Windowsのエクスプローラーで /raspberrypi/PiShare のように表示されます。好きな名前に変更してもOKです。
[PiShare]
comment = Raspberry Pi Shared Folder
path = /home/<username>
browseable = yes
writeable = yes
guest ok = no
valid users = <username>
create mask = 0644
directory mask = 0755
以下のを実行し、アクセス時のパスワードを設定します。
7.6 Sambaユーザーのパスワード設定
共有フォルダにアクセスするためのパスワードを設定します。以下のコマンドで、Samba用のユーザーを追加します。
sudo smbpasswd -a <username>
※<username>の部分は、実際にRaspberry Piで使っているユーザー名に置き換えてください。
7.7 Sambaの再起動
設定後に、以下のコマンドで、sambaを再起動します。これで、Raspberry Pi側の設定は完了です。
sudo systemctl restart smbd
Windowsパソコンから \192.168.xx.xx\PiShare にアクセスすれば、共有フォルダに接続できるようになります。
8. Raspberry Pi 5のファイヤウォールの設定
セキュリティのために、UFW (ファイヤウォール) をインストールをします。この設定により、有線LANからのVNC接続はできなくなり、ローカルWiFi経由のみVNC接続が可能になります。
sudo apt update
sudo apt install ufw -y
ファイヤウォールを設定し、特定のポートのみアクセスを許可します。必要に応じて、許可するポートを変更する必要があります。
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow from 192.168.50.0/24 to any port 22 proto tcp
sudo ufw allow from 192.168.50.0/24 to any port 5900 proto tcp
sudo ufw allow from 192.168.50.0/24 to any app Samba
sudo ufw enable
| コマンド | ルールの意図 (From) | 許可する「扉」(Port) | システムでの役割 |
|---|---|---|---|
| sudo ufw default deny incoming | すべて拒否 (デフォルト) | すべてのポート | これ以降、許可設定がない限り、外部からの通信をすべて遮断します。これがセキュリティの土台となります。 |
| sudo ufw default allow outgoing | すべて許可 (デフォルト) | すべてのポート | Pi 5自身が開始する通信(例:アップデートのためのインターネットアクセス、OnStepへのINDIデータの送信など)は、外部へ自由に送信できるようにします。 |
| sudo ufw allow from 192.168.50.0/24 to any port 22 proto tcp | 観測ネットワーク内 (192.168.50.x) | SSH (22番) | 観測専用のAPに接続している機器(操作端末など)からのみ、Pi 5へのコマンドライン操作(メンテナンス)を許可します。 |
| sudo ufw allow from 192.168.50.0/24 to any port 5900 proto tcp | 観測ネットワーク内 (192.168.50.x) | VNC (5900番) | 観測専用のAPに接続している機器からのみ、Pi 5のデスクトップ画面の遠隔操作(KStars/Ekosの操作)を許可します。 |
| sudo ufw allow from 192.168.50.0/24 to any app Samba | 観測ネットワーク内 (192.168.50.x) | Samba | 観測専用のAPに接続している機器からのみ、Sambaのアクセスを許可します。 |
| コマンド | 意味 |
|---|---|
| sudo ufw enable | ufwの有効 |
| sudo ufw disable | ufwの無効化 |
| sudo ufw status | ufwのステータスの表示 |
9. Smart Web Server
Onstepを、Raspberry PiのAPにクライアントとして自動的に接続するように、ソースコードの変更を行います。OnStepのSWS(Wemos)のソースファイルを変更し、書き込みます。この変更により、OnstepはRPi 5のアクセスポイントに自動的に接続するようになります。
📄ExtentedConfig.h
// These settings are stored in NV (EEPROM) and the SWS will not recognize the settings below except on the first upload unless
// NV is wiped, these settings (where applicable) can be changed at runtime however.
#define AP_ENABLED false // true, Wifi Access Point Enabled. Adjust
#define AP_SSID “ONSTEP” // “ONSTEP”, Wifi Access Point SSID. Adjust
#define AP_PASSWORD “password” // “password”, Wifi Access Point password. Adjust
#define AP_CHANNEL 7 // 7, Wifi Access Point channel. Adjust
#define AP_IP_ADDR {192,168,0,1} // ..,168,0,1}, Wifi Access Point IP Address. Adjust
#define AP_GW_ADDR {192,168,0,1} // ..,168,0,1}, Wifi Access Point GATEWAY Address. Adjust
#define AP_SN_MASK {255,255,255,0} // ..55,255,0}, Wifi Access Point SUBNET Mask. Adjust
#define STA_ENABLED true // false, Wifi Station Enabled. Adjust
#define STA_SSID “FieldAP” // “Home”, Wifi Station SSID to connnect to. Adjust
#define STA_PASSWORD “xyzxyzxyz” // “password”, Wifi Station mode password. Adjust
#define STA_DHCP_ENABLED false // false, Wifi Station/Ethernet DHCP Enabled. Adjust
#define STA_IP_ADDR {192,168,50,20} // ..168,1,55}, Wifi Station/Ethernet IP Address. Adjust
#define STA_GW_ADDR {192,168,50,1} // ..,168,1,1}, Wifi Station/Ethernet GATEWAY Address. Adjust
#define STA_SN_MASK {255,255,255,0} // ..55,255,0}, Wifi Station/Ethernet SUBNET Mask. Adjus
10. INDI / Kstarsのインストール
INID Kstar / Ekos のインストールは、こちらで公開されているバッチファイルを使用するのが容易です。以下のシェルスクリプトを実行します。
※インストールには、1時間程度必要です。
git clone https://gitea.nouspiro.space/nou/astro-soft-build.git
フォルダを移動し、シェルスクリプト(install-dependencies.sh)を実行し、依存ファイルをインストールします。
cd astro-soft-build
./install-dependencies.sh
安定版と、最新版の二つをビルドすることができますが、安定版のシェルスクリプト(build-soft-stable.sh)を実行します。
./build-soft-stable.sh
これで、画面左上のラズベリーアイコン→Education→Kstarsで、Kstarsが起動できるようになります。

10. Windows PCのWiFiへの自動接続(オプション)
Windowsでは、イーサネット接続が有効な場合、起動時に自動的にWi-Fiへ接続されないことがあります。そこで、バッチファイルとタスクスケジューラを利用し、起動時に自動的にWi-Fiへ接続する方法を紹介します。
10.1 バッチファイルの作成
メモ帳を開き、以下の内容をコピー&ペーストします。ファイルを「ConnectWiFi.bat」などの名前にして保存します。保存時に「ファイルの種類」を すべてのファイル に変更し、拡張子が .bat になるようにしてください
@echo off
REM 30秒待機
echo WiFi FieldAP に自動接続します。起動完了待ち中。
timeout /t 30 /nobreak
REM 指定のAPに接続する。
netsh wlan connect name=”FieldAP”
exit
10.2 タスクスケジューラの設定
PC起動時にバッチファイルを自動実行するには、タスクスケジューラを利用するのが確実です。スタートアップフォルダに入れる方法よりも安定し、管理者権限や遅延(例: 30秒)を設定できます。
1. Windowsの検索窓に「コマンドプロンプト」または「PowerShell」と入力し、実行します
2. 以下のコマンドを実行し、タスクスケジューラを起動します。
taskschd.msc
3. タスクの作成
右側メニューの「タスクの作成…」をクリックします。
📌 全般タブの設定
名前:Auto_WiFi_Connect など、任意の名前を入力します。
セキュリティオプション:
「ユーザーがログオンしているときのみ実行する」を選択します。
「最上位の特権で実行する」にチェックを入れます。
📌 トリガータブの設定
「新規…」ボタンをクリックします。
タスクの開始:プルダウンから「ログオン時」を選択します。
遅延時間を指定する:30秒間を選択します。
(これはバッチファイル内の timeout /t 30 と重複しますが、念のため設定します。)
📌 操作タブの設定
「新規…」ボタンをクリックします。
操作:「プログラムの開始」を選択します。
プログラム/スクリプト:9.1で作成した「ConnectWiFi.bat」の完全なパス
(例: C:\Users\YourName\Documents\ConnectWiFi.bat)を入力します。
📌 条件タブの設定
コンピュータをAC電源に使用している場合のみタスクを開始するのチェックを外します。
「OK」をクリックしてタスクを保存します。
✅PC起動から約30秒後に、Wi-Fi接続コマンドが実行されます。これにより、有線LAN接続が有効な状態でもWi-Fiが自動的に有効化され、指定したSSIDへ接続されます。