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
- Wechseln Sie in Ihrem Abonnement zu Ressourcenanbietern in den Einstellungen. Suchen Sie nach Microsoft.Orbital, und registrieren Sie es als Anbieter.
- 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.
- 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
- Suchen Sie auf der Registerkarte "Rolle" nach Azure Event Hubs Data Sender, und wählen Sie sie aus. Klicken Sie auf Weiter.
- Weisen Sie auf der Registerkarte "Mitglieder" den Zugriff auf Den Benutzer, die Gruppe oder den Dienstprinzipal zu.
- Klicken Sie auf + Mitglieder auswählen.
- Suchen Sie nach Azure Orbital Resource Provider , und klicken Sie auf "Auswählen".
- Klicken Sie auf Überprüfen + zuweisen. Diese Aktion gewährt Azure Orbital Ground Station die Rechte zum Senden von Telemetrie an Ihren Event Hub.
- 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:
- Wählen Sie mithilfe der Dropdownliste Event Hubs-Namespace einen Namespace aus.
- 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.