はじめに
SatNOGSプロジェクトは、オープンな衛星地上局ネットワークを形成する完結したプラットフォームです。SatNOGSは、モジュール方式に最適化され、入手しやすく手頃なツールとリソースで構築されるオープンソースの地上局とネットワークです。インターネット、Raspberry Pi、SDR USBドングルとアンテナがあれば地上局をつくることができ、SatNOGSの地上局ネットワークに参加することができます。
このページでは、Raspberry Pi 3 Model B(+) と RTL-SDR を用いてSatNOGSの地上局を構築する手順を示します。
地上局構築の流れ
1.SatNOGSアカウント作成
2.地上局の追加
3.SatNOGSクライアントのインストール・設定
4.動作テスト
地上局の構築方法はSatNOGSサイトではWikiのBuildセクションで解説されています。
SatNOGSアカウント作成
Sine Up
SatNOGS NetworkページでSine Upを行います。
アカウントのベリファイ
サインアップを行うと登録したメールアドレスに"Verify your email"が届くので、アカウントのVerifyを行います。
地上局の追加
アカウントを作成できたら地上局の追加を行います。まず、Dashboad画面で「Add Ground Station」をクリックします。
地上局の登録画面が表示されます。
- Generl Info
- Name : 地上局名 どう名づけてもいいですが、地名-対応周波数帯-アンテナの種類 がいいのではないかと思います。
- Description : 地上局の説明です。
- Location
- Settings
- Minimum Horizon : 可視の最低仰角です。水平線が0°でここに設定した角度以上を可視範囲とします。デフォルトは10°です。
- Target Utilization : よくわかりません。
- Testing? : チェックを入れると地上局が動作確認中であることを示します。(地上局にオンラインにするとIDの色がオレンジになります)
- Antennas
- Image
- 入力が終わったら「Submit」をクリックします。
APIキーの確認
APIキーは、受信機(Raspberry Pi)とアカウントをひもづけるためのキーです。Raspberry Piの設定時に必要となりますので、表示させてメモします。
- Dashboard画面の表示
地上局の追加はこれで終わりです。
SatNOGSクライアントのインストール・設定
Raspberry PiはSatNOGSのリファレンスプラットフォームで、Raspberry Pi 3 または 4 対応のRaspbianイメージが提供されています。
この後の流れ
1.Raspbian SatNOGS イメージのダウンロード
2.Raspbianの設定
3.SatNOGSクライアントの設定
1.Raspbian SatNOGS イメージのダウンロード
執筆時点では 2020年12月27日リリースが最新版ですので、このバージョンで説明をしていきます。
- Wiki > Build > [Station] INstall a Raspberry Pi を開きます。
- artifacts.zip をダウロードします
- ダウンロードした arifacts.zip を解凍し、さらに image_2020-12-27-Raspbian-SatNOGS-lite.zip を解凍します。
- 2020-12-27-Raspbian-SatNOGS-lite.img がイメージファイルです。
- イメージファイルを Win32DiskImager といったツールを使ってマイクロSDカードに書き込みます。
- メモリのサイズは最低4GB必要です。受信中は作業ファイルが作られますので、余裕をみて8GB以上あるといいでしょう。
2.Raspbianの設定
Raspbian SatNOGS イメージが書き込まれたマイクロSDカードでRaspberry Piを起動し、まずRaspbianの設定を行います。
- SDカードスロットにSDカードを挿入し、HDMIインタフェースのディスプレイとキーボードを接続します。マウスは必要ありません。
- Raspberry PiにUSBケーブルを接続し、起動します。
- ログインします。
- ユーザー名:pi
- パスワード:raspberry
raspi-config
raspi-configでRaspbianの設定を行います。詳しい設定方法はいろんなところに出ていますのでそれらを参照してください。以下に私が行った設定を示します。お好みで設定を加えてください。
- raspi-config を起動します。
pi@raspberrypi:~$ sudo raspi-config
- 1 System Options
- S1 Wireless LAN
- Select the country in which the Pi is to be used (Wi-Fi使用国の選択): JP Japan
- Please enter SSID : 接続するWi-FiアクセスポイントのSSID
- Please enter passphrase : 接続するWi-Fiアクセスポイントのパスフレーズ
- Wi-Fi設定は、
/etc/wpa_supplicant/wpa_supplicant.conf
に保存されます。
- S3 Passoward
- 'pi'ユーザのパスワードを変更しましょう。
- S1 Wireless LAN
- 3 Interface Options
- P2 SSH
- リモートログインするためSSHサーバを有効にします。
- P6 Serial Port
- シリアルコンソールを使用するときは有効にします。
- P2 SSH
- 5 Localisation Options
- L2 Timezone SatNOGSはUTCで管理されるのでUTCに設定します。
- Geographic area: で None of the above を選びます。
- Time Zone: で UTC を選びます。
- L2 Timezone SatNOGSはUTCで管理されるのでUTCに設定します。
- 6 Advanced Options
- A1 Expand Filesystem
- RaspbianのファイルシステムをSDカードの空き領域に拡張します。
- A1 Expand Filesystem
固定IPアドレス設定
デフォルトではDHCPでIPアドレスが割り当てられます。固定IPアドレスを使用するときは、/etc/dhcpcd.conf
を編集します。
パッケージの update と upgrade
Raspberry Piを再起動し、インターネットへの接続を確認したら、パッケージのupdate と upgrade を行います。
pi@raspberrypi:~ $ sudo apt-get update
pi@raspberrypi:~ $ sudo apt-get upgrade
Raspbianの設定は以上です。次は、SatNOGSクライアントの設定を行います。
3.SatNOGSクライアントの設定
次に、SatNOGSクライアントの設定を行います。設定については SatNOGS Client Setup ページに記載されています。
satnogs-setup ユーティリティの起動
satnogs-setupはメニュー方式でSatNOGSクライアントの設定を行うユーティリティです。設定項目はBasicとAdvancedに分かれています。Basicだけ設定すれば動作させることができます。ここでは、Basicに加えてAdvancedのRFゲインの設定を行います。
コマンドラインで satnogs-setup を起動します。起動するとメインメニューが表示されます(表示のされかたは使用する環境に依存します)。
pi@raspberrypi:~ $ sudo satnogs-setup
Basic 設定
- Main MenuでBasicを選択し、が選択された状態で[Enter]キーを押します。
- [↑][↓]カーソルキー押下でメニュー項目の移動、[←][→]キーまたは[TAB]キー押下で 間の移動が行われます。
- Basic Configuration options メニューが表示されます。
- 項目を選択し、選択で[Enter]キーを押すと入力画面がポップアップ表示されます。
- Basic configurationの各設定
-
SATNOGS_API_TOKEN
-
SATNOGS_SOAPY_RX_DEIVE
- SDR が RTL-SDR なら
driver=rtlsdr
と入力します。
- SDR が RTL-SDR なら
-
SATNOGS_ANTENNA
-
RX
と入力します。
-
-
SATNOGS_RX_SAMP_RATE
- RTL-SDRなら
2.048e6
(2Msps)と入力します。
- RTL-SDRなら
-
SATNOGS_STATION_ELEV
- Ground Stationの「Altitude」に設定した値を入力します。
-
SATNOGS_STATION_ID
- 地上局のIDを入力します。
-
SATNOGS_STATION_LAT
- Ground Stationの「Coordinates」の緯度として設定した値を入力します。
-
STANOGS_STATION_LON
-
- 入力が終わったら、Main Menuに戻ります。
Advanced 設定
- より詳細な設定を行えます。satnogs-setup ユーティリティの起動に書いたようにRFゲインの設定だけ行います。
- Main Manuで、Advanced を選択し、Advanced configuration options メニューを表示します。
- Advanced configuration options メニューでRadioを選択します。
- Radio settingsメニューでSATNOGS_RF_GAINを選択します。
-
SatNOGS Client Setupでは、SATNOGS_RF_GAIN設定はBasicに含まれていますが、インストールしたバージョンではAdvancedのみのなっていました。
-
SatNOGS Client Setupでは、SATNOGS_RF_GAIN設定はBasicに含まれていますが、インストールしたバージョンではAdvancedのみのなっていました。
- SDRのRFゲインを入力します。
- RTL-SDRでは、0~49.6dBの間で設定することができます。
- Setting the Gainにゲインの決め方について書かれています。
- 私はこの方法ではうまく受信できなかったため、SDR#で44.5に決めました。
- 入力を終えたら,でMain Manuまで戻ります。
設定の確認
設定の適用
- 設定を確認し終えたら、設定値をSatNOGSクライアントに適用します。
- Main Menuでを選択し、[Enter]キーを押します。
- スクリプトが実行され、終了するとMain Menuに戻ります。
- Rebootを選択するか、でユーティリティを終了し、コマンドでリブートを行います。
SatNOGSクライアントの状態確認
- 再起動後、Dashboard画面から地上局画面を表示し、SatNOGSクライアントの状態を確認します。
- Client Versionの下が、オレンジ色の[Testing]で、Last seen 0 minutes agoとなっていれば、SatNOGSクライアントがサーバに接続されています。
動作テスト
- 受信の予約と確認を行いましょう。
衛星パス予測の表示
- 地上局画面で、「Calculate Future Passes」をクリックします。
- パスの予測はこのように表示されます。
予約
- 予約したい衛星の「Schedule」をクリックします。
- New Observation画面に「Schedule」ボタンが表示されたら予約可能です。このボタンをクリックします。
- 予約されるとDashboard画面のObservationに追加されます。
受信結果の確認
-
LOS時刻から数分経ったら、受信結果を確認してみましょう。
-
Dashboard画面をリロードします。
-
ObservationsのIDの色が受信状態を表します。
-
ID番号をクリックすると受信情報とウォーターフォールが表示されます。
おわりに
SatNOGSのアカウント作成から受信までを順を追って説明しました。Raspberry Pi + RTL-SDR であればこの手順どおりにやれば受信できるはずです(と思っています)。
予約の方法、地上局や受信データのサーチする方法などは改めて記事にしたいと思います。