|
1 | 1 | ---
|
2 |
| -title: Schedule a contact with NASA's AQUA public satellite using Azure Orbital Ground Station service |
3 |
| -description: How to schedule a contact with NASA's AQUA public satellite using Azure Orbital Ground Station service |
| 2 | +title: Downlink data from NASA's Aqua satellite by using Azure Orbital Ground Station |
| 3 | +description: Learn how to schedule a contact with NASA's Aqua public satellite by using the Azure Orbital Ground Station service. |
4 | 4 | author: apoorvanori
|
5 | 5 | ms.service: orbital
|
6 | 6 | ms.topic: tutorial
|
7 | 7 | ms.custom: ga
|
8 | 8 | ms.date: 07/12/2022
|
9 | 9 | ms.author: apoorvanori
|
10 |
| -# Customer intent: As a satellite operator, I want to ingest data from NASA's AQUA public satellite into Azure. |
| 10 | +# Customer intent: As a satellite operator, I want to ingest data from NASA's Aqua public satellite into Azure. |
11 | 11 | ---
|
12 | 12 |
|
13 |
| -# Tutorial: Downlink data from NASA's AQUA public satellite |
| 13 | +# Tutorial: Downlink data from NASA's Aqua public satellite |
14 | 14 |
|
15 |
| -You can communicate with satellites directly from Azure using Azure Orbital's Ground Station (AOGS) service. Once downlinked, this data can be processed and analyzed in Azure. In this guide you'll learn how to: |
| 15 | +You can communicate with satellites directly from Azure by using the Azure Orbital Ground Station service. After you downlink data, you can process and analyze it in Azure. In this guide, you'll learn how to: |
16 | 16 |
|
17 | 17 | > [!div class="checklist"]
|
18 |
| -> * Create & authorize a spacecraft for AQUA |
19 |
| -> * Prepare a virtual machine (VM) to receive the downlinked AQUA data |
20 |
| -> * Configure a contact profile for an AQUA downlink mission |
21 |
| -> * Schedule a contact with AQUA using Azure Orbital and save the downlinked data |
22 |
| -
|
| 18 | +> * Create and authorize a spacecraft for the Aqua public satellite. |
| 19 | +> * Prepare a virtual machine (VM) to receive downlinked Aqua data. |
| 20 | +> * Configure a contact profile for an Aqua downlink mission. |
| 21 | +> * Schedule a contact with Aqua by using Azure Orbital and save the downlinked data. |
23 | 22 |
|
24 | 23 | ## Prerequisites
|
25 | 24 |
|
26 | 25 | - An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
|
27 |
| -- Must be a Contributer at the subscription level. |
| 26 | +- Contributor permissions at the subscription level. |
28 | 27 |
|
29 | 28 | ## Sign in to Azure
|
30 | 29 |
|
31 |
| -Sign in to the [Azure portal - Orbital Preview](https://aka.ms/orbital/portal). |
| 30 | +Sign in to the [Azure portal - Azure Orbital Preview](https://aka.ms/orbital/portal). |
32 | 31 |
|
33 | 32 | > [!NOTE]
|
34 |
| -> These steps must be followed as is or you won't be able to find the resources. Please use the specific link above to sign in directly to the Azure Orbital Preview page. |
| 33 | +> For all the procedures in this tutorial, follow the steps exactly as shown, or you won't be able to find the resources. Use the preceding link to sign in directly to the Azure Orbital Preview page. |
| 34 | +
|
| 35 | +## Create a spacecraft resource for Aqua |
35 | 36 |
|
36 |
| -## Create & authorize a spacecraft for AQUA |
37 |
| -### Create a new spacecraft resource for AQUA |
38 |
| -1. In the Azure portal search box, enter **Spacecraft*. Select **Spacecraft** in the search results. |
39 |
| -2. In the **Spacecraft** page, select Create. |
40 |
| -3. Learn an up-to-date Two-Line Element (TLE) for AQUA by checking celestrak at https://celestrak.com/NORAD/elements/active.txt |
| 37 | +1. In the Azure portal search box, enter **Spacecraft**. Select **Spacecraft** in the search results. |
| 38 | +2. On the **Spacecraft** page, select **Create**. |
| 39 | +3. Get an up-to-date Two-Line Element (TLE) for Aqua by checking [CelesTrak](https://celestrak.com/NORAD/elements/active.txt). |
| 40 | + |
41 | 41 | > [!NOTE]
|
42 |
| - > You will want to periodically update this TLE value to ensure that it is up-to-date prior to scheduling a contact. A TLE that is more than one or two weeks old may result in an unsuccessful downlink. |
43 |
| -4. In **Create spacecraft resource**, enter or select this information in the Basics tab: |
| 42 | + > Be sure to update this TLE value before you schedule a contact. A TLE that's more than two weeks old might result in an unsuccessful downlink. |
| 43 | +
|
| 44 | +4. In **Create spacecraft resource**, on the **Basics** tab, enter or select this information: |
44 | 45 |
|
45 | 46 | | **Field** | **Value** |
|
46 | 47 | | --- | --- |
|
47 |
| - | Subscription | Select your subscription | |
48 |
| - | Resource Group | Select your resource group | |
49 |
| - | Name | **AQUA** | |
50 |
| - | Region | Select **West US 2** | |
51 |
| - | NORAD ID | **27424** | |
52 |
| - | TLE title line | **AQUA** | |
53 |
| - | TLE line 1 | Enter TLE line 1 from Celestrak | |
54 |
| - | TLE line 2 | Enter TLE line 2 from Celestrak | |
55 |
| - |
56 |
| -5. Select the **Links** tab, or select the **Next: Links** button at the bottom of the page. |
57 |
| -6. In the **Links** page, enter or select this information: |
| 48 | + | **Subscription** | Select your subscription. | |
| 49 | + | **Resource Group** | Select your resource group. | |
| 50 | + | **Name** | Enter **AQUA**. | |
| 51 | + | **Region** | Select **West US 2**. | |
| 52 | + | **NORAD ID** | Enter **27424**. | |
| 53 | + | **TLE title line** | Enter **AQUA**. | |
| 54 | + | **TLE line 1** | Enter TLE line 1 from CelesTrak. | |
| 55 | + | **TLE line 2** | Enter TLE line 2 from CelesTrak. | |
| 56 | + |
| 57 | +5. Select the **Links** tab, or select the **Next: Links** button at the bottom of the page. Then, enter or select this information: |
58 | 58 |
|
59 | 59 | | **Field** | **Value** |
|
60 | 60 | | --- | --- |
|
61 |
| - | Direction | Select **Downlink** | |
62 |
| - | Center Frequency | Enter **8160** | |
63 |
| - | Bandwidth | Enter **15** | |
64 |
| - | Polarization | Select **RHCP** | |
| 61 | + | **Direction** | Select **Downlink**. | |
| 62 | + | **Center Frequency** | Enter **8160**. | |
| 63 | + | **Bandwidth** | Enter **15**. | |
| 64 | + | **Polarization** | Select **RHCP**. | |
65 | 65 |
|
66 |
| -7. Select the **Review + create** tab, or select the **Review + create** button. |
67 |
| -8. Select **Create** |
| 66 | +7. Select the **Review + create** tab, or select the **Next: Review + create** button. |
| 67 | +8. Select **Create**. |
68 | 68 |
|
69 |
| -### Request authorization of the new AQUA spacecraft resource |
70 |
| -1. Navigate to the newly created spacecraft resource's overview page. |
71 |
| -2. Select **New support request** in the Support + troubleshooting section of the left-hand blade. |
| 69 | +## Request authorization of the new Aqua spacecraft resource |
| 70 | + |
| 71 | +1. Go to the overview page for the newly created spacecraft resource. |
| 72 | +2. On the left pane, in the **Support + troubleshooting** section, select **New support request**. |
| 73 | + |
72 | 74 | > [!NOTE]
|
73 |
| - > A [Basic Support Plan](https://azure.microsoft.com/support/plans/) or higher is required for a spacecraft authorization request. |
| 75 | + > A [Basic support plan](https://azure.microsoft.com/support/plans/) or higher is required for a spacecraft authorization request. |
74 | 76 |
|
75 |
| -3. In the **New support request** page, enter or select this information in the Basics tab: |
| 77 | +3. On the **New support request** page, on the **Basics** tab, enter or select this information: |
76 | 78 |
|
77 |
| -| **Field** | **Value** | |
78 |
| -| --- | --- | |
79 |
| -| Summary | Request Authorization for [**AQUA**] | |
80 |
| -| Issue type | Select **Technical** | |
81 |
| -| Subscription | Select the subscription in which the spacecraft resource was created | |
82 |
| -| Service | Select **My services** | |
83 |
| -| Service type | Search for and select **Azure Orbital** | |
84 |
| -| Problem type | Select **Spacecraft Management and Setup** | |
85 |
| -| Problem subtype | Select **Spacecraft Registration** | |
| 79 | + | **Field** | **Value** | |
| 80 | + | --- | --- | |
| 81 | + | **Summary** | Enter **Request authorization for AQUA**. | |
| 82 | + | **Issue type** | Select **Technical**. | |
| 83 | + | **Subscription** | Select the subscription in which you created the spacecraft resource. | |
| 84 | + | **Service** | Select **My services**. | |
| 85 | + | **Service type** | Search for and select **Azure Orbital**. | |
| 86 | + | **Problem type** | Select **Spacecraft Management and Setup**. | |
| 87 | + | **Problem subtype** | Select **Spacecraft Registration**. | |
86 | 88 |
|
87 |
| -4. Select the Details tab at the top of the page |
88 |
| -5. In the Details tab, enter this information in the Problem details section: |
| 89 | +4. Select the **Details** tab at the top of the page. In the **Problem details** section, enter this information: |
89 | 90 |
|
90 |
| -| **Field** | **Value** | |
91 |
| -| --- | --- | |
92 |
| -| When did the problem start? | Select the current date & time | |
93 |
| -| Description | List AQUA's center frequency (**8160**) and the desired ground stations | |
94 |
| -| File upload | Upload any pertinent licensing material, if applicable | |
| 91 | + | **Field** | **Value** | |
| 92 | + | --- | --- | |
| 93 | + | **When did the problem start?** | Select the current date and time. | |
| 94 | + | **Description** | List Aqua's center frequency (**8160**) and the desired ground stations. | |
| 95 | + | **File upload** | Upload any pertinent licensing material, if applicable. | |
95 | 96 |
|
96 | 97 | 6. Complete the **Advanced diagnostic information** and **Support method** sections of the **Details** tab.
|
97 |
| -7. Select the **Review + create** tab, or select the **Review + create** button. |
| 98 | +7. Select the **Review + create** tab, or select the **Next: Review + create** button. |
98 | 99 | 8. Select **Create**.
|
99 | 100 |
|
100 | 101 | > [!NOTE]
|
101 |
| - > You can confirm that your spacecraft resource for AQUA is authorized by checking that the **Authorization status** shows **Allowed** in the spacecraft's overiew page. |
| 102 | + > You can confirm that your spacecraft resource for Aqua is authorized by checking that the **Authorization status** shows **Allowed** on the spacecraft's overview page. |
102 | 103 |
|
| 104 | +## Prepare your virtual machine and network to receive Aqua data |
103 | 105 |
|
104 |
| -## Prepare your virtual machine (VM) and network to receive AQUA data |
| 106 | +1. [Create a virtual network](../virtual-network/quick-create-portal.md) to host your data endpoint VM. |
| 107 | +2. [Create a virtual machine](../virtual-network/quick-create-portal.md#create-virtual-machines) within the virtual network that you created. Ensure that this VM has the following specifications: |
| 108 | + - The operating system is Linux (Ubuntu 18.04 or later). |
| 109 | + - The size is at least 32 GiB of RAM. |
| 110 | + - The VM has internet access for downloading tools by having one standard public IP address. |
105 | 111 |
|
106 |
| -1. [Create a virtual network](../virtual-network/quick-create-portal.md) to host your data endpoint virtual machine (VM) |
107 |
| -2. [Create a virtual machine (VM)](../virtual-network/quick-create-portal.md#create-virtual-machines) within the virtual network above. Ensure that this VM has the following specifications: |
108 |
| -- Operation System: Linux (Ubuntu 18.04 or higher) |
109 |
| -- Size: at least 32 GiB of RAM |
110 |
| -- Ensure that the VM has internet access for downloading tools by having one standard public IP address |
| 112 | + > [!TIP] |
| 113 | + > The public IP address here is only for internet connectivity, not contact data. For more information, see [Default outbound access in Azure](../virtual-network/ip-services/default-outbound-access.md). |
111 | 114 |
|
112 |
| -> [!TIP] |
113 |
| -> The Public IP Address here is only for internet connectivity not Contact Data. For more information, see [Default outbound access in Azure](../virtual-network/ip-services/default-outbound-access.md). |
| 115 | +3. Enter the following commands to create a temporary file system (*tmpfs*) on the virtual machine. This virtual machine is where the data will be written to avoid slow writes to disk. |
114 | 116 |
|
115 |
| -3. Create a tmpfs on the virtual machine. This virtual machine is where the data will be written to in order to avoid slow writes to disk: |
116 |
| -```console |
117 |
| -sudo mkdir /media/aqua |
118 |
| -sudo mount -t tmpfs -o size=28G tmpfs /media/aqua |
119 |
| -``` |
120 |
| -4. Ensure that SOCAT is installed on the machine: |
121 |
| -```console |
122 |
| -sudo apt install socat |
123 |
| -``` |
| 117 | + ```console |
| 118 | + sudo mkdir /media/aqua |
| 119 | + sudo mount -t tmpfs -o size=28G tmpfs /media/aqua |
| 120 | + ``` |
| 121 | +4. Enter the following command to ensure that the Socat tool is installed on the machine: |
| 122 | + |
| 123 | + ```console |
| 124 | + sudo apt install socat |
| 125 | + ``` |
124 | 126 | 5. [Prepare the network for Azure Orbital Ground Station integration](prepare-network.md) to configure your network.
|
125 | 127 |
|
126 |
| -## Configure a contact profile for an AQUA downlink mission |
127 |
| -1. In the Azure portal search box, enter **Contact profile**. Select **Contact profile** in the search results. |
128 |
| -2. In the **Contact profile** page, select **Create**. |
129 |
| -3. In **Create contact profile resource**, enter or select this information in the **Basics** tab: |
| 128 | +## Configure a contact profile for an Aqua downlink mission |
| 129 | + |
| 130 | +1. In the Azure portal's search box, enter **Contact profile**. Select **Contact profile** in the search results. |
| 131 | +2. On the **Contact profile** page, select **Create**. |
| 132 | +3. In **Create contact profile resource**, on the **Basics** tab, enter or select this information: |
130 | 133 |
|
131 | 134 | | **Field** | **Value** |
|
132 | 135 | | --- | --- |
|
133 |
| - | Subscription | Select your subscription | |
134 |
| - | Resource group | Select your resource group | |
135 |
| - | Name | Enter **AQUA_Downlink** | |
136 |
| - | Region | Select **West US 2** | |
137 |
| - | Minimum viable contact duration | **PT1M** | |
138 |
| - | Minimum elevation | **5.0** | |
139 |
| - | Auto track configuration | **Disabled** | |
140 |
| - | Event Hubs Namespace | Select an Event Hubs Namespace to which you'll send telemetry data of your contacts. Select a Subscription before you can select an Event Hubs Namespace. | |
141 |
| - | Event Hubs Instance | Select an Event Hubs Instance that belongs to the previously selected Namespace. *This field will only appear if an Event Hubs Namespace is selected first*. | |
142 |
| - |
143 |
| - |
144 |
| -4. Select the **Links** tab, or select the **Next: Links** button at the bottom of the page. |
145 |
| -5. In the **Links** page, select **Add new Link** |
146 |
| -6. In the **Add Link** page, enter, or select this information: |
| 136 | + | **Subscription** | Select your subscription. | |
| 137 | + | **Resource group** | Select your resource group. | |
| 138 | + | **Name** | Enter **AQUA_Downlink**. | |
| 139 | + | **Region** | Select **West US 2**. | |
| 140 | + | **Minimum viable contact duration** | Enter **PT1M**. | |
| 141 | + | **Minimum elevation** | Enter **5.0**. | |
| 142 | + | **Auto track configuration** | Select **Disabled**. | |
| 143 | + | **Event Hubs Namespace** | Select an Azure Event Hubs namespace to which you'll send telemetry data for your contacts. You must select a subscription before you can select an Event Hubs namespace. | |
| 144 | + | **Event Hubs Instance** | Select an Event Hubs instance that belongs to the previously selected namespace. This field appears only if you select an Event Hubs namespace first. | |
| 145 | + |
| 146 | +4. Select the **Links** tab, or select the **Next: Links** button at the bottom of the page. Then, select **Add new Link**. |
| 147 | +6. On the **Add Link** pane, enter or select this information: |
147 | 148 |
|
148 | 149 | | **Field** | **Value** |
|
149 | 150 | | --- | --- |
|
150 |
| - | Direction | **Downlink** | |
151 |
| - | Gain/Temperature in db/K | **0** | |
152 |
| - | Center Frequency | **8160.0** | |
153 |
| - | Bandwidth MHz | **15.0** | |
154 |
| - | Polarization | **RHCP** | |
155 |
| - | Endpoint name | Enter the name of the virtual machine (VM) you created above | |
156 |
| - | IP Address | Enter the Private IP address of the virtual machine you created above (VM) | |
157 |
| - | Port | **56001** | |
158 |
| - | Protocol | **TCP** | |
159 |
| - | Demodulation Configuration | Select the 'Preset Named Modem Configuration' option and choose **Aqua Direct Broadcast**| |
160 |
| - | Decoding Configuration | Leave this field **blank** | |
161 |
| - |
162 |
| - |
163 |
| -7. Select the **Submit** button |
164 |
| -8. Select the **Review + create** tab or select the **Review + create** button |
165 |
| -9. Select the **Create** button |
166 |
| - |
167 |
| -## Schedule a contact with AQUA using Azure Orbital and save the downlinked data |
168 |
| - |
169 |
| -1. In the Azure portal search box, enter **Spacecraft**. Select **Spacecraft** in the search results. |
170 |
| -2. In the **Spacecraft** page, select **AQUA**. |
171 |
| -3. Select **Schedule contact** on the top bar of the spacecraft’s overview. |
172 |
| -4. In the **Schedule contact** page, specify this information from the top of the page: |
| 151 | + | **Direction** | Enter **Downlink**. | |
| 152 | + | **Gain/Temperature in db/K** | Enter **0**. | |
| 153 | + | **Center Frequency** | Enter **8160.0**. | |
| 154 | + | **Bandwidth MHz** | Enter **15.0**. | |
| 155 | + | **Polarization** | Enter **RHCP**. | |
| 156 | + | **Endpoint name** | Enter the name of the virtual machine that you created earlier. | |
| 157 | + | **IP Address** | Enter the private IP address of the virtual machine that you created earlier. | |
| 158 | + | **Port** | Enter **56001**. | |
| 159 | + | **Protocol** | Enter **TCP**. | |
| 160 | + | **Demodulation Configuration** | Select the **Preset Named Modem Configuration** option, and then select **Aqua Direct Broadcast**.| |
| 161 | + | **Decoding Configuration** | Leave this field blank. | |
| 162 | + |
| 163 | +7. Select the **Submit** button. |
| 164 | +8. Select the **Review + create** tab, or select the **Next: Review + create** button. |
| 165 | +9. Select **Create**. |
| 166 | + |
| 167 | +## Schedule a contact with Aqua and save the downlinked data |
| 168 | + |
| 169 | +1. In the Azure portal's search box, enter **Spacecraft**. Select **Spacecraft** in the search results. |
| 170 | +2. On the **Spacecraft** page, select **AQUA**. |
| 171 | +3. Select **Schedule contact** on the top bar of the spacecraft's overview. |
| 172 | +4. On the **Schedule contact** page, specify this information: |
173 | 173 |
|
174 | 174 | | **Field** | **Value** |
|
175 | 175 | | --- | --- |
|
176 |
| - | Contact profile | Select **AQUA_Downlink** | |
177 |
| - | Ground station | Select **Quincy** | |
178 |
| - | Start time | Identify a start time for the contact availability window | |
179 |
| - | End time | Identify an end time for the contact availability window | |
| 176 | + | **Contact profile** | Select **AQUA_Downlink**. | |
| 177 | + | **Ground station** | Select **Quincy**. | |
| 178 | + | **Start time** | Identify a start time for the contact availability window. | |
| 179 | + | **End time** | Identify an end time for the contact availability window. | |
180 | 180 |
|
181 | 181 | 5. Select **Search** to view available contact times.
|
182 |
| -6. Select one or more contact windows and select **Schedule**. |
183 |
| -7. View the scheduled contact by selecting the **AQUA** spacecraft and navigating to **Contacts**. |
184 |
| -8. Shortly before the contact begins executing, start listening on port 56001, and output the data received into the file: |
185 |
| -```console |
186 |
| -socat -u tcp-listen:56001,fork create:/media/aqua/out.bin |
187 |
| -``` |
188 |
| -9. Once your contact has executed, copy the output file from the tmpfs into your home directory to avoid being overwritten when another contact is executed. |
189 |
| -```console |
190 |
| -mkdir ~/aquadata |
191 |
| -cp /media/aqua/out.bin ~/aquadata/raw-$(date +"%FT%H%M%z").bin |
192 |
| -``` |
193 |
| - |
194 |
| - > [!NOTE] |
195 |
| - > For a 10 minute long contact with AQUA while it is transmitting with 15MHz of bandwidth, you should expect to receive somewhere in the order of 450MB of data. |
| 182 | +6. Select one or more contact windows, and then select **Schedule**. |
| 183 | +7. View the scheduled contact by selecting the **AQUA** spacecraft and going to **Contacts**. |
| 184 | +8. Shortly before you start running the contact, start listening on port 56001 and output the data received in the file: |
| 185 | + |
| 186 | + ```console |
| 187 | + socat -u tcp-listen:56001,fork create:/media/aqua/out.bin |
| 188 | + ``` |
| 189 | +9. After you run your contact, copy the output file from *tmpfs* into your home directory, to avoid overwriting the file when you run another contact: |
| 190 | + |
| 191 | + ```console |
| 192 | + mkdir ~/aquadata |
| 193 | + cp /media/aqua/out.bin ~/aquadata/raw-$(date +"%FT%H%M%z").bin |
| 194 | + ``` |
| 195 | + |
| 196 | +> [!NOTE] |
| 197 | +> For a 10-minute contact with Aqua while it's transmitting with 15 MHz of bandwidth, you should expect to receive around 450 MB of data. |
196 | 198 |
|
197 | 199 | ## Next steps
|
198 | 200 |
|
199 |
| -- [Collect and process Aqua satellite payload](satellite-imagery-with-orbital-ground-station.md) |
| 201 | +- [Collect and process an Aqua satellite payload](satellite-imagery-with-orbital-ground-station.md) |
0 commit comments