チュートリアル: 公共衛星からデータをダウンリンクする
Azure Orbital Ground Station サービスを使用して、Azure から衛星と直接通信できます。 データをダウンリンクしたら、Azure でそれを処理して分析できます。
このチュートリアルで学習する内容は次のとおりです。
- 選択した公共衛星用の宇宙船を作成する。
- ダウンリンクされたデータを受信するように仮想マシン (VM) を準備する。
- ダウンリンク ミッションのコンタクト プロファイルを構成する。
- Azure Orbital Ground Station を使用して、サポートされている公共衛星とのコンタクトをスケジュールし、ダウンリンクされたデータを保存する。
Azure Orbital Ground Station では、Aqua、Suomi NPP、JPSS-1/NOAA-20、Terra など、いくつかの公共衛星をサポートしています。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- サブスクリプション レベルでの共同作成者のアクセス許可。
- サポート チケットを送信するための Basic サポート プラン以上。
Azure へのサインイン
Azure portal の Orbitalにサインインします。
宇宙船リソースを作成する
- Azure portal の検索ボックスに「Spacecrafts (宇宙船)」と入力します。 検索結果で [Spacecrafts]\(宇宙船\) を選択します。
- [宇宙船] ページで、[作成] をクリックします。
- コンタクトする公共衛星 (Aqua、Suomi NPP、JPSS-1/NOAA-20、または Terra) を選択します。 次の表は、各衛星の NORAD ID、中心周波数、帯域幅、リンク方向と偏波の概要を示しています。 以下の手順およびこのチュートリアル全体で、この情報を参照してください。
宇宙船 | NORAD ID | Center Frequency (中心周波数) (MHz) | 帯域幅 (MHz) | 方向 | Polarization (偏波) |
---|---|---|---|---|---|
水色 | 27424 | 8160 | 15 | Downlink | RHCP |
Suomi NPP | 37849 | 7812 | 30 | Downlink | RHCP |
JPSS-1/NOAA-20 | 43013 | 7812 | 30 | Downlink | RHCP |
Terra | 25994 | 8212.5 | 45 | Downlink | RHCP |
CelesTrak で目的の公共衛星を検索し、その衛星の現在の 2 行軌道要素 (TLE) を特定します。
Note
コンタクトをスケジュールする前に、必ずこの TLE を最新の値に更新してください。 2 週間より前の TLE では、ダウンリンクが失敗する可能性があります。
[宇宙船リソースの作成] の [基本] タブで、次の情報を入力または選択します。
フィールド Value サブスクリプション サブスクリプションを選択します。 リソース グループ リソース グループを選択します。 名前 公共宇宙船の名前を入力します。 リージョン [米国西部 2] を選択します。 NORAD ID 上記の表の NORAD ID を入力します。 TLE タイトル行 AQUA、SUOMI NPP、NOAA 20、またはTERRA を入力します。 TLE 行 1 CelesTrak から TLE の行 1 を入力します。 TLE 行 2 CelesTrak から TLE の行 2 を入力します。 次へ をクリックします。 [リンク] ペインで、[新しいリンクの追加] を選択します。
[リンクの追加] ページで、次の情報を入力または選択します。
フィールド 値 名前 「Downlink」と入力します。 方向 [ダウンリンク] を選択します。 Center Frequency (中心周波数) 上記の表の中心周波数を MHz 単位で入力します。 帯域幅 上記の表の帯域幅を MHz 単位で入力します。 Polarization (偏波) [RHCP] を選びます。 [Review + create](レビュー + 作成) をクリックします。 検証が完了したら、[作成] をクリックします。
宇宙船リソースが手順 3 の情報と正確に一致する場合、宇宙船は Microsoft の地上局で自動的に認証されます。
Note
宇宙船リソースが承認されていることを確認するには、宇宙船の概要ページで [承認の状態] に [許可] と表示されているかどうかを調べます。
公共衛星データを受信するように仮想マシンとネットワークを準備する
宇宙船リソースが配置されている場所と同じサブスクリプションとリソース グループを使用して、データ エンドポイント仮想マシン (VM) をホストする仮想ネットワークを作成します。
宇宙船リソースが配置されている場所と同じサブスクリプションとリソース グループを使用して作成した仮想ネットワーク内に、仮想マシンを作成します。 この VM に次の仕様があることを確認します。
- [基本] タブで、次の情報を指定します。
- イメージ: オペレーティング システムは Linux (Ubuntu 20.04 以降) です。
- サイズ: VM には、32 GiB 以上の RAM が必要です。
- [ネットワーク] タブで、次の情報を指定します。
- パブリック IP: VM には、1 つの標準パブリック IP アドレスを使ってツールをダウンロードするためのインターネット アクセスが必要です。
ヒント
このパブリック IP アドレスは、インターネット接続のためのもので、コンタクト データ用ではありません。 詳細については、「Azure での既定の送信アクセス」を参照してください。
- [基本] タブで、次の情報を指定します。
新しく作成された VM に移動します。 手順 2 のリンクされている手順に従って、VM に接続します。 VM の bash プロンプトで次のコマンドを入力して、VM 上に一時ファイル システム (tmpfs) を作成します。 この VM には、ディスクへの書き込み速度が低下しないようにデータが書き込まれます。
Note
次のコマンドは、Aqua を参照しています。 使用している公共宇宙船が反映されるようにコマンドを編集してください。
sudo mkdir /media/aqua sudo mount -t tmpfs -o size=28G tmpfs /media/aqua
VM に次のコマンドを入力して、Socat ツールがマシンにインストールされていることを確認します。
sudo apt install socat
手順に従って、Azure Orbital Ground Station にサブネットを委任します。
手順に従って、VM エンドポイントを準備します。 VM に次のコマンドを入力して、MTU レベルを 3650 に設定します。
sudo ifconfig eth0 3650
アンテナ テレメトリ用に Event Hubs を構成する
選択した公共衛星とのコンタクト中にアンテナ テレメトリを受信するには、手順に従って、サブスクリプションに Azure イベント ハブを作成して構成します。
公共衛星からダウンリンクするようにコンタクト プロファイルを構成する
Azure portal の検索ボックスに、「コンタクト プロファイル」と入力します。 検索結果から [コンタクト プロファイル] を選択します。
[コンタクト プロファイル] ページで、[作成] をクリックします。
[コンタクト プロファイル リソースの作成] の [基本] タブで、次の情報を入力または選択します。
フィールド Value サブスクリプション サブスクリプションを選択します。 リソース グループ リソース グループを選択します。 名前 「[衛星名]_Downlink」 (例: Aqua_Downlink) と入力します。 リージョン [米国西部 2] を選択します。 Minimum viable contact duration (実用可能な最短コンタクト時間) 「PT1M」と入力します。 Minimum elevation (最低標高) 「15.0」と入力します。 Auto track configuration (自動追跡構成) [X バンド] を選択します。 テレメトリをイベント ハブに送信する [はい] を選択します。 イベント ハブの名前空間 コンタクトのテレメトリ データの送信先となる Azure Event Hubs の名前空間を選択します。 Event Hubs の名前空間を選ぶ前に、サブスクリプションを選ぶ必要があります。 Event Hubs Instance (Event Hubs インスタンス) 先ほど選択した名前空間に属している Event Hubs インスタンスを選択します。 "このフィールドは、最初に Event Hubs 名前空間を選択した場合にのみ表示されます"。 仮想ネットワーク 前に作成した仮想ネットワークを選択します。 サブネット 前に作成して委任したサブネットを選択します。 "このフィールドは、最初に仮想ネットワークを選択した場合にのみ表示されます"。 次へ をクリックします。 [リンク] で、[新しいリンクの追加] をクリックします。
[リンクの追加] ページで、次の情報を入力または選択します。
フィールド 値 名前 リンクの名前 (例: Aqua_Downlink) を入力します 方向 [ダウンリンク] を選択します。 ゲイン/温度 0 と入力します。 EIRP (dBW 単位) アップリンクにのみ適用。 空白のままにします。 Polarization (偏波) [RHCP] を選びます。 [ チャンネルの追加] をクリックします。 [チャネルの追加] ページで、次の情報を追加または選択します。
フィールド 値 名前 チャネルの名前 (例: Aqua_Downlink_Channel) を入力します。 Center Frequency (中心周波数) (MHz) 中心周波数を MHz 単位で入力します 選択した宇宙船の値については、上記の表を参照してください。 帯域幅 (MHz) 帯域幅を MHz 単位で入力します 選択した宇宙船の値については、上記の表を参照してください。 [エンドポイント名] 前に作成した仮想マシンの名前を入力します。 IP アドレス 前に作成した仮想マシンのプライベート IP アドレスを入力します。 [ポート] 「56001」と入力します。 プロトコル 「TCP」と入力します。 復調構成の種類 [事前設定の名前付きモデム構成] を選択します。 Demodulation Configuration (復調構成) 選択した公共衛星の復調構成 を選択します。 詳細については、モデム チェーンの構成に関するページを参照してください。 Decoding Configuration (デコード構成) このフィールドは空のままにします。 [送信] をクリックしてチャネルを追加します。 [送信] をもう一度クリックしてリンクを追加します。
[Review + create](レビュー + 作成) をクリックします。 検証が完了したら、[作成] をクリックします。
Aqua とのコンタクトをスケジュールし、ダウンリンクされたデータを保存する
Note
公共衛星のスケジュールを確認して、公共放送の停止が起きないかどうかを把握してください。 Azure Orbital Ground Station は公共衛星を制御しておらず、パス中のデータの可用性を保証することはできません。
Azure portal の検索ボックスに「宇宙船」と入力します。 検索結果で [宇宙船] を選択します。
[宇宙船] ページで、公共宇宙船リソースを選択します。
宇宙船の概要ページの上部にあるバーで、[コンタクトのスケジュール] をクリックします。
[コンタクトのスケジュール] ページで、次の情報を指定します。
フィールド Value コンタクトのプロファイル 前に作成したコンタクト プロファイルを選択します。 地上局 [Microsoft_Quincy] を選択します。 [開始時刻] コンタクトの使用可能期間の開始時刻を指定します。 [終了時刻] コンタクトの使用可能期間の終了時刻を指定します。 [検索] をクリックして、コンタクトの使用可能な時間を表示します。
1 つ以上のコンタクトの期間を選択し、[スケジュール] をクリックします。
スケジュールされたコンタクトを表示するには、宇宙船リソースを選択し、左側のパネルの [構成] に移動し、[コンタクト] をクリックします。
コンタクトの実行を始める直前に、ポート 56001 でリッスンを開始し、受信したデータをファイルに出力します。
Note
次のコマンドは、Aqua を参照しています。 使用している公共宇宙船が反映されるようにコマンドを編集してください。 さらに、sudo を追加することが必要な場合があります。
socat -u tcp-listen:56001,fork create:/media/aqua/out.bin
コンタクトを実行した後、tmpfs からホーム ディレクトリに出力ファイルをコピーして、別のコンタクトを実行したときにファイルが上書きされないようにします。
Note
次のコマンドは、Aqua を参照しています。 使用している公共宇宙船が反映されるようにコマンドを編集してください。
mkdir ~/aquadata cp /media/aqua/out.bin ~/aquadata/raw-$(date +"%FT%H%M%z").bin
Note
15 MHz の帯域幅で送信している Aqua と 10 分間コンタクトすると、約 450 MB のデータを受信するはずです。