Empfangen von Echtzeit-Antennentelemetrie

Azure Orbital Ground Station sendet Antennen-Telemetrieereignisse, die zum Analysieren des Bodenstationsbetriebs während eines Kontakts verwendet werden können. Sie können Ihr Kontaktprofil so konfigurieren, dass Telemetrieereignisse an Azure Event Hubs gesendet werden.

In diesem Leitfaden lernen Sie Folgendes:

  • Konfigurieren von Azure Event Hubs für Azure Orbital Ground Station
  • Aktivieren Sie Telemetrie in Ihrem Kontaktprofil.
  • Überprüfen des Inhalts von Telemetriedaten
  • Grundlegendes zu Telemetriepunkten

Konfigurieren von Event Hubs

  1. Wechseln Sie in Ihrem Abonnement zu Ressourcenanbietern in den Einstellungen. Suchen Sie nach Microsoft.Orbital, und registrieren Sie es als Anbieter.
  2. Erstellen Sie einen Azure Event Hubs-Namespace und einen Event Hub in Ihrem Abonnement.

Hinweis

Wählen Sie den öffentlichen Zugriff für den Verbindungszugriff auf die Eventhubs aus. Private Zugriffs- oder Dienstendpunkte werden nicht unterstützt.

  1. Wählen Sie im linken Menü Zugriffssteuerung (IAM) aus. Wählen Sie unter "Zugriff auf diese Ressource gewähren" die Option "Rollenzuweisung hinzufügen" aus.

Hinweis

Um Azure-Rollen zuzuweisen, müssen Sie über folgende Berechtigungen verfügen: Microsoft.Authorization/roleAssignments/write z . B. Benutzerzugriffsadministrator oder Besitzer

  1. Suchen Sie auf der Registerkarte "Rolle" nach Azure Event Hubs Data Sender, und wählen Sie sie aus. Klicken Sie auf Weiter.
  2. Weisen Sie auf der Registerkarte "Mitglieder" den Zugriff auf Den Benutzer, die Gruppe oder den Dienstprinzipal zu.
  3. Klicken Sie auf + Mitglieder auswählen.
  4. Suchen Sie nach Azure Orbital Resource Provider , und klicken Sie auf "Auswählen".
  5. Klicken Sie auf Überprüfen + zuweisen. Diese Aktion gewährt Azure Orbital Ground Station die Rechte zum Senden von Telemetrie an Ihren Event Hub.
  6. Um die neu hinzugefügte Rollenzuweisung zu bestätigen, kehren Sie zur Seite „Zugriffssteuerung (IAM)“ zurück, und wählen Sie Zugriff auf diese Ressource anzeigen aus. Azure Orbital Resource Provider sollte sich unter Azure Event Hubs Data Sender befinden.

Aktivieren der Event Hubs-Telemetrie für ein Kontaktprofil

Konfigurieren Sie ein Kontaktprofil wie folgt:

  1. Wählen Sie mithilfe der Dropdownliste Event Hubs-Namespace einen Namespace aus.
  2. Wählen Sie eine Instanz mithilfe der Dropdownliste Event Hubs-Instanz aus, die nach der Auswahl des Namespace angezeigt wird.

Sie können die Einstellungen eines vorhandenen Kontaktprofils aktualisieren, indem Sie

Überprüfen von Antennen-Telemetriedaten von einem Kontakt

Planen Sie Kontakte mithilfe des Kontaktprofils, das Sie zuvor für die Event Hubs-Telemetrie konfiguriert haben. Sobald ein Kontakt beginnt, sollten Sie in Ihren Event Hubs bald nach dem Anzeigen von Daten beginnen.

Sie können sowohl das Vorhandensein als auch den Inhalt eingehender Telemetriedaten auf mehrere Arten überprüfen.

Event Hubs-Namespacedashboard

Um zu überprüfen, ob Ereignisse in Ihren Event Hubs empfangen werden, können Sie die Diagramme überprüfen, die auf der Übersichtsseite Des Event Hubs-Namespaces in Ihrer Ressourcengruppe vorhanden sind. Diese Ansicht zeigt Daten für alle Event Hubs-Instanzen in einem Namespace an. Sie können zur Übersichtsseite einer bestimmten Event Hub-Instanz in Ihrer Ressourcengruppe navigieren, um die Diagramme für diese Instanz anzuzeigen.

Bereitstellen von Antennen-Telemetriedaten an ein Speicherkonto

Sie können das Feature "Event Hubs Capture" aktivieren, um die Telemetriedaten automatisch an ein Azure Blob Storage-Konto Ihrer Wahl zu übermitteln. Befolgen Sie die Anweisungen, um die Erfassung und Erfassung von Daten in Azure Storage zu aktivieren. Nach der Aktivierung können Sie Ihren Container überprüfen und die Daten anzeigen/herunterladen.

Grundlegendes zu Telemetriepunkten

Aktuelle Telemetrieschemaversion: 4.0

Die Erdfunkstelle stellt Telemetrie mithilfe von Avro als Schema bereit. Das Schema ist nachfolgend dargestellt:

{
  "namespace": "EventSchema",
  "name": "TelemetryEventSchema",
  "type": "record",
  "fields": [
    {
      "name": "version",
      "type": [ "null", "string" ]
    },
    {
      "name": "contactId",
      "type": [ "null", "string" ]
    },
    {
      "name": "contactPlatformIdentifier",
      "type": [ "null", "string" ]
    },
    {
      "name": "groundStationName",
      "type": [ "null", "string" ]
    },
    {
      "name": "antennaType",
      "type": {
        "name": "antennaTypeEnum",
        "type": "enum",
        "symbols": [
          "Microsoft",
          "KSAT"
        ]
      }
    },
    {
      "name": "antennaId",
      "type": [ "null", "string" ]
    },
    {
      "name": "spacecraftName",
      "type": [ "null", "string" ]
    },
    {
      "name": "gpsTime",
      "type": [ "null", "double" ]
    },
    {
      "name": "utcTime",
      "type": "string"
    },
    {
      "name": "azimuthDecimalDegrees",
      "type": [ "null", "double" ]
    },
    {
      "name": "elevationDecimalDegrees",
      "type": [ "null", "double" ]
    },
    {
      "name": "contactTleLine1",
      "type": "string"
    },
    {
      "name": "contactTleLine2",
      "type": "string"
    },
    {
      "name": "links",
      "type": [
        "null",
        {
          "type": "array",
          "items": {
            "name": "antennaLink",
            "type": "record",
            "fields": [
              {
                "name": "name",
                "type": [ "null", "string" ]
              },
              {
                "name": "direction",
                "type": {
                  "name": "directionEnum",
                  "type": "enum",
                  "symbols": [
                    "Uplink",
                    "Downlink"
                  ]
                }
              },
              {
                "name": "polarization",
                "type": {
                  "name": "polarizationEnum",
                  "type": "enum",
                  "symbols": [
                    "RHCP",
                    "LHCP",
                    "linearVertical",
                    "linearHorizontal"
                  ]
                }
              },
              {
                "name": "uplinkEnabled",
                "type": [ "null", "boolean" ]
              },
              {
                "name": "channels",
                "type": [
                  "null",
                  {
                    "type": "array",
                    "items": {
                      "name": "antennaLinkChannel",
                      "type": "record",
                      "fields": [
                        {
                          "name": "name",
                          "type": [ "null", "string" ]
                        },
                        {
                          "name": "modemName",
                          "type": [ "null", "string" ]
                        },
                        {
                          "name": "digitizerName",
                          "type": [ "null", "string" ]
                        },
                        {
                          "name": "endpointName",
                          "type": "string"
                        },
                        {
                          "name": "inputEbN0InDb",
                          "type": [ "null", "double" ]
                        },
                        {
                          "name": "inputEsN0InDb",
                          "type": [ "null", "double" ]
                        },
                        {
                          "name": "inputRfPowerDbm",
                          "type": [ "null", "double" ]
                        },
                        {
                          "name": "outputRfPowerDbm",
                          "type": [ "null", "double" ]
                        },
                        {
                          "name": "packetRate",
                          "type": [ "null", "double" ]
                        },
                        {
                          "name": "gapCount",
                          "type": [ "null", "double" ]
                        },
                        {
                          "name": "modemLockStatus",
                          "type": [
                            "null",
                            {
                              "name": "modemLockStatusEnum",
                              "type": "enum",
                              "symbols": [
                                "Unlocked",
                                "Locked"
                              ]
                            }
                          ]
                        },
                        {
                          "name": "commandsSent",
                          "type": [ "null", "double" ]
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          }
        }
      ]
    }
  ]
}

In der folgenden Tabelle sind das Quellgerät/punkt, die möglichen Werte und die Definition der einzelnen Telemetriepunkte aufgeführt.

Telemetriepunkt Quellgerät/Punkt Mögliche Werte Definition
version Manuell intern festlegen Releaseversion der Telemetrie
Contactid Kontaktressource Identifikationsnummer des Kontakts
contactPlatformIdentifier Kontaktressource
groundStationName Kontaktressource Name der Erdstation
antennaType Dieser Wert wird durch entsprechende Microsoft/Partner-Telemetrie-Generatoren festgelegt. MICROSOFT, KSAT, VIASAT Antennennetzwerk, das für den Kontakt verwendet wird.
antennenId Kontaktressource Lesbarer Name der Antennen-ID
raumschiffname Analysiert vom Bezeichner der Kontaktplattform Name des Raumschiffs
gpsTime Koversion von utcTime Zeit in DER GPS-Zeit, zu der die Telemetrienachricht des Kunden generiert wurde.
utcTime Die aktuelle Zeit Uhrzeit in UTC, zu der die Telemetrienachricht des Kunden generiert wurde.
azimuthDecimalDegrees ACU: AntennaAzimuth Die Azimut der Antenne in Dezimalgrad.
elevationDecimalDegrees ACU: Antennenlevation Die Höhe der Antenne in Dezimalgrad.
contactTleLine1 ACU: Satellit[0]. Model.Value Zeichenfolge der TLE-Zeile 1 Erste Zeile der für den Kontakt verwendeten TLE.
contactTLeLine2 ACU: Satellit[0]. Model.Value Zeichenfolge der TLE-Zeile 2 Zweite Zeile der für den Kontakt verwendeten TLE.
Name [Link-Ebene] Kontaktprofillink Name des Links
Richtung Kontaktprofillink Uplink, Downlink Richtung des links, der für den Kontakt verwendet wird.
Polarisation Kontaktprofillink RHCP, LHCP, DualRhcpLhcp, LinearVertical, LinearHorizontal Polarisierung der für den Kontakt verwendeten Verbindung.
uplinkEnabled ACU: SBandCurrent oder UHFTotalCurrent • NULL (Ungültige CenterFrequencyMhz- oder Downlinkrichtung)
• False (andere Bänder als S und UHF oder Amp Current < Threshold)
• True (S/UHF-Band, Uplink, Amp Current > Threshold)
Gibt an, ob uplink für den Kontakt aktiviert wurde.
Name [Kanalebene] Kontaktprofillinkkanal Name des Kanals
modemName Modem Name des Modemgeräts
DigitalisiererName Digitizer Name des Digitalisierungsgeräts
endpointName Kontaktprofillinkkanal Name des Endpunkts, der für den Kontakt verwendet wird.
inputEbN0InDb Modem: measuredEbN0 • NULL (Modemmodell außer QRadio oder QRx)
• Double: Input EbN0
Input energy per bit to noise power spektral dichte in dB.
inputEsN0InDb In Microsoft-Antennentelemetrie nicht verwendet NULL (in Microsoft-Antennentelemetrie nicht verwendet) Input energy per symbol to noise power spektral dichte in dB.
inputRfPowerDbm Digitalisierer: inputRfPower • NULL (Anderer Treiber für Uplink oder Digitalisierer als SNNB oder SNWB)
• Double: Input Rf Power
Eingabe-RF-Leistung in dBm.
outputRfPowerDbm Digitalisierer: outputRfPower • NULL (Downlink- oder Digitalisierertreiber außer SNNB oder SNWB)
• Double: Output Rf Power
Ouput RF-Leistung in dBm.
outputPacketRate Digitalisierer: rfOutputStream[0].measuredPacketRate • NULL (Downlink- oder Digitalisierertreiber außer SNNB oder SNWB)
• Double: Ausgabepaketrate
Gemessene Paketrate für Uplink
gapCount Digitalisierer: rfOutputStream[0].gapCount • NULL (Downlink- oder Digitalisierertreiber außer SNNB oder SNWB)
• Double: Gap Count
Anzahl der Paketlücken für Uplink
modemLockStatus Modem: carrierLockState • NULL (Modemmodell außer QRadio oder QRx; sperrstatus Enum konnte nicht analysiert werden)
• Leere Zeichenfolge (wenn der metrische Lesewert null war)
• Zeichenfolge: Sperrstatus
Bestätigung, dass das Modem gesperrt wurde.
commandsSent Modem: commandsSent • NULL (wenn nicht Uplink und QRadio)
• Double: Anzahl der gesendeten Befehle
Bestätigung, dass Befehle während des Kontakts gesendet wurden.

Ereignisconsumer

Sie können einfache Consumer-Apps schreiben, um Ereignisse von Ihren Event Hubs mithilfe von Ereigniskonsumenten zu empfangen. In der folgenden Dokumentation erfahren Sie, wie Ereignishubs in verschiedenen Sprachen gesendet und empfangen werden:

Änderungsprotokoll

2023-10-03 - Einführung Version 4.0. Aktualisiertes Schema für uplink-Paketmetriken und Namen der verwendeten Infrastruktur (Bodenstation, Antenne, Raumfahrzeug, Modem, Digitalisierungsgeber, Link, Kanal)
2023-06-05 – Aktualisiertes Schema zum Anzeigen von Metriken unter Kanälen anstelle von Links.

Nächste Schritte