Ta emot telemetri för realtidsantenner

Azure Orbital Ground station avger antenntelemetrihändelser som kan användas för att analysera markstationsdrift under en kontakt. Du kan konfigurera din kontaktprofil för att skicka telemetrihändelser till Azure Event Hubs..

I den här guiden får du lära dig att:

  • Konfigurera Azure Event Hubs för Azure Orbital Ground Station
  • Aktivera telemetri i din kontaktprofil.
  • Verifiera innehållet i telemetridata
  • Förstå telemetripunkter

Konfigurera Event Hubs

  1. Gå till resursprovidrar i inställningarna i din prenumeration. Sök efter Microsoft.Orbital och registrera det som en provider.
  2. Skapa ett Azure Event Hubs-namnområde och en händelsehubb i din prenumeration.

Kommentar

Välj Offentlig åtkomst för anslutningsåtkomst till Eventhubs. Privat åtkomst eller tjänstslutpunkter stöds inte.

  1. Välj Åtkomstkontroll (IAM) på den vänstra menyn. Under Bevilja åtkomst till den här resursen väljer du Lägg till rolltilldelning.

Kommentar

Om du vill tilldela Azure-roller måste du ha: Microsoft.Authorization/roleAssignments/write behörigheter, till exempel administratör för användaråtkomst eller ägare

  1. Under fliken Roll söker du efter och väljer Azure Event Hubs Data Sender. Klicka på Nästa.
  2. Under fliken Medlemmar tilldelar du åtkomst till Användaren, gruppen eller tjänstens huvudnamn.
  3. Klicka på + Välj medlemmar.
  4. Sök efter Azure Orbital Resource Provider och klicka på Välj.
  5. Klicka på Granska + tilldela. Den här åtgärden ger Azure Orbital Ground Station behörighet att skicka telemetri till din händelsehubb.
  6. Om du vill bekräfta den nyligen tillagda rolltilldelningen går du tillbaka till sidan Åtkomstkontroll (IAM) och väljer Visa åtkomst till den här resursen. Azure Orbital Resource Provider bör finnas under Azure Event Hubs Data Sender.

Aktivera Event Hubs-telemetri för en kontaktprofil

Konfigurera en kontaktprofil på följande sätt:

  1. Välj ett namnområde med listrutan Event Hubs-namnområde.
  2. Välj en instans med listrutan Event Hubs-instans som visas efter val av namnområde.

Du kan uppdatera inställningarna för en befintlig kontaktprofil genom att

Verifiera antenntelemetridata från en kontakt

Schemalägg kontakter med hjälp av kontaktprofilen som du tidigare konfigurerade för Event Hubs-telemetri. När en kontakt börjar bör du börja se data i dina händelsehubbar strax efter.

Du kan verifiera både förekomsten och innehållet i inkommande telemetridata på flera olika sätt.

Instrumentpanel för Event Hubs-namnområde

Om du vill kontrollera att händelser tas emot i dina händelsehubbar kan du kontrollera graferna som finns på översiktssidan för event hubs-namnområdet i resursgruppen. Den här vyn visar data för alla Event Hubs-instanser i ett namnområde. Du kan gå till översiktssidan för en specifik Händelsehubbinstans i resursgruppen för att se graferna för den instansen.

Leverera telemetridata för antenner till ett lagringskonto

Du kan aktivera funktionen Event Hubs Capture för att automatiskt leverera telemetridata till ett Azure Blob Storage-konto som du väljer. Följ anvisningarna för att aktivera insamling och insamling av data till Azure Storage. När du är aktiverad kan du kontrollera containern och visa/ladda ned data.

Förstå telemetripunkter

Aktuell telemetrischemaversion: 4.1

Markstationen tillhandahåller telemetri med Avro som schema. Schemat finns nedan. Observera att Microsoft-antenner avger telemetri när den första datapunkten har tagits emot. Telemetri rapporteras med hjälp av en "senast kända värde"-metod, vilket innebär att vi alltid skickar det senaste värdet som vi har för ett mått. På grund av det här beteendet kan du se ett NULL värde under den första sekunden av en kontakt tills måttet först produceras.

{
  "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": [ "null", "string" ]
    },
    {
      "name": "contactTleLine2",
      "type": [ "null", "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" ]
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          }
        }
      ]
    }
  ]
}

Följande tabell innehåller källenheten/-punkten, möjliga värden och definitionen av varje telemetripunkt.

Telemetripunkt Källenhet/-punkt Möjliga värden Definition
version Ange internt manuellt Versionsversion av telemetrin
contactID Kontakta resurs Kontaktens ID-nummer
contactPlatformIdentifier Kontakta resurs
groundStationName Kontakta resurs Namn på markstation
antennTyp Respektive Microsoft-/partnertelemetribyggare anger det här värdet MICROSOFT, KSAT, VIASAT Antennnätverk som används för kontakten.
antennId Kontakta resurs Mänskligt läsbart namn på antenn-ID
spacecraftName Parsad från kontaktplattformsidentifierare Namn på rymdfarkost
gpsTime Coversion av utcTime Tid i GPS-tid som kundens telemetrimeddelande genererades.
utcTime Aktuell tid Tid i UTC-tid då kundens telemetrimeddelande genererades.
azimuthDecimalDegrees ACU: AntennAzimuth Antennens azimuth i decimalgrader.
elevationDecimalDegrees ACU: Antennelevation Antennens höjd i decimalgrader.
contactTleLine1 ACU: Satellit[0]. Model.Value Sträng av TLE-rad 1 Första raden i TLE som används för kontakten.
contactTLeLine2 ACU: Satellit[0]. Model.Value Sträng av TLE-rad 2 Andra raden i TLE som används för kontakten.
name [Link-level] Kontaktprofillänk Namnet på länken
riktning Kontaktprofillänk Överordnad länk, nedlänk Riktningen på länken som används för kontakten.
Polarisering Kontaktprofillänk RHCP, LHCP, DualRhcpLhcp, LinearVertical, LinearHorizontal Polarisering av länken som används för kontakten.
uplinkEnabled ACU: SBandCurrent eller UHFTotalCurrent • NULL (ogiltig CenterFrequencyMhz eller nedlänksriktning)
• Falskt (andra band än S och UHF eller amp Aktuellt < tröskelvärde)
• Sant (S/UHF-band, överordnad länk, tröskel för ampström > )
Anger om överordnad länk har aktiverats för kontakten.
name [Kanalnivå] Länkkanal för kontaktprofil Namnet på kanalen
modemName Modem Namnet på modemenheten
digitizerName Digitizer Namn på digitaliserarenhet
endpointName Länkkanal för kontaktprofil Namnet på den slutpunkt som används för kontakten.
inputEbN0InDb Modem: measuredEbN0 • NULL (annan modemmodell än QRadio eller QRx)
• Dubbel: Indata EbN0
Indataenergi per bit till bruseffektspektraldensitet i dB.
inputEsN0InDb Modem: measuredEsN0 • NULL (annan modemmodell än QRx)
• Dubbel: Indata EsN0
Indataenergi per symbol för bruskraftsspektraldensitet i dB.
inputRfPowerDbm Digitizer: inputRfPower • NULL (annan drivrutin för överordnad länk eller digitaliserare än SNNB eller SNWB)
• Double: Input Rf Power
Indata-RF-ström i dBm.
outputRfPowerDbm Digitizer: outputRfPower • NULL (nedlänks- eller digitaliserardrivrutin förutom SNNB eller SNWB)
• Double: Output Rf Power
Ouput RF-ström i dBm.
outputPacketRate Digitizer: rfOutputStream[0].measuredPacketRate • NULL (nedlänks- eller digitaliserardrivrutin förutom SNNB eller SNWB)
• Dubbel: Utdatapaketfrekvens
Uppmätt paketfrekvens för överordnad länk
gapCount Digitizer: rfOutputStream[0].gapCount • NULL (nedlänks- eller digitaliserardrivrutin förutom SNNB eller SNWB)
• Dubbelt: Antal mellanrum
Antal paketluckor för överordnad länk
modemLockStatus Modem: carrierLockState • NULL (annan modemmodell än QRadio eller QRx; kunde inte parsa låsstatus Uppräkning)
• Tom sträng (om måttläsningen var null)
• Sträng: Låsstatus
Bekräftelse på att modemet var låst.
commandsSent Modem: kommandonSent • NULL (om inte överordnad länk och QRadio)
• Dubbel: antal kommandon som skickas
Bekräftelse på att kommandon skickades under kontakten.

Händelsekonsumenter

Du kan skriva enkla konsumentappar för att ta emot händelser från dina händelsehubbar med hjälp av händelsekonsumenter. Se följande dokumentation för att lära dig hur du skickar och tar emot händelser Event Hubs på olika språk:

Ändringslogg

2024-04-17 – Uppdaterat schema för att inkludera möjliga NULL för TLEs och lade till EsN0 för QRX, och lade till blurb om hur Microsoft-antenner kan ha en NULL för ett fält under den första sekunden av en kontakt. 2023-10-03 – Introducera version 4.0. Uppdaterat schema för att inkludera paketmått för överordnad länk och namn på infrastruktur som används (markstation, antenn, rymdfarkoster, modem, digitaliserare, länk, kanal)
2023-06-05 – Uppdaterat schema för att visa mått under kanaler i stället för länkar.

Nästa steg