Příjem telemetrie antény v reálném čase

Stanice Azure Orbital Ground vysílá telemetrické události antény, které je možné použít k analýze provozu pozemní stanice během kontaktu. Svůj profil kontaktu můžete nakonfigurovat tak, aby odesílal telemetrické události do služby Azure Event Hubs.

V této příručce se naučíte tyto postupy:

  • Konfigurace služby Azure Event Hubs pro azure Orbital Ground Station
  • Povolte v profilu kontaktu telemetrii.
  • Ověření obsahu telemetrických dat
  • Principy telemetrických bodů

Konfigurace služby Event Hubs

  1. V předplatném přejděte v nastavení na poskytovatele prostředků. Vyhledejte Microsoft.Orbital a zaregistrujte ho jako poskytovatele.
  2. Vytvořte obor názvů služby Azure Event Hubs a centrum událostí ve vašem předplatném.

Poznámka:

Zvolte veřejný přístup pro přístup k připojení k EventHubs. Privátní přístup nebo koncové body služby se nepodporují.

  1. V nabídce vlevo vyberte Řízení přístupu (IAM). V části Udělit přístup k tomuto prostředku vyberte Přidat přiřazení role.

Poznámka:

Pokud chcete přiřadit role Azure, musíte mít oprávněníMicrosoft.Authorization/roleAssignments/write, jako je uživatelský přístup Správa istrator nebo vlastník.

  1. Na kartě Role vyhledejte a vyberte odesílatele dat služby Azure Event Hubs. Klikněte na tlačítko Další.
  2. Na kartě Členové přiřaďte přístup k uživateli, skupině nebo instančnímu objektu.
  3. Klikněte na +Vybrat členy.
  4. Vyhledejte poskytovatele prostředků Azure Orbital a klikněte na Vybrat.
  5. Klikněte na Zkontrolovat a přiřadit. Tato akce uděluje stanici Azure Orbital Ground práva k odesílání telemetrie do centra událostí.
  6. Pokud chcete potvrdit nově přidané přiřazení role, vraťte se na stránku Řízení přístupu (IAM) a vyberte Zobrazit přístup k tomuto prostředku. Poskytovatel prostředků Azure Orbital by měl být pod odesílatelem dat služby Azure Event Hubs.

Povolení telemetrie služby Event Hubs pro profil kontaktu

Profil kontaktu nakonfigurujte následujícím způsobem:

  1. Zvolte obor názvů pomocí rozevíracího seznamu Obor názvů služby Event Hubs.
  2. Zvolte instanci pomocí rozevíracího seznamu Instance služby Event Hubs, který se zobrazí po výběru oboru názvů.

Nastavení existujícího profilu kontaktu můžete aktualizovat podle

Ověření telemetrických dat antény z kontaktu

Naplánujte kontakty pomocí profilu kontaktu, který jste dříve nakonfigurovali pro telemetrii služby Event Hubs. Jakmile kontakt začne, měli byste brzy začít zobrazovat data ve službě Event Hubs.

Stav i obsah příchozích telemetrických dat můžete ověřit několika způsoby.

Řídicí panel oboru názvů služby Event Hubs

Pokud chcete ověřit, že se události přijímají ve službě Event Hubs, můžete zkontrolovat grafy, které jsou přítomné na stránce přehledu oboru názvů služby Event Hubs ve vaší skupině prostředků. Toto zobrazení zobrazuje data napříč všemi instancemi služby Event Hubs v rámci oboru názvů. Můžete přejít na stránku přehledu konkrétní instance centra událostí ve vaší skupině prostředků a zobrazit grafy pro danou instanci.

Doručování telemetrických dat antény do účtu úložiště

Funkci Event Hubs Capture můžete povolit tak, aby automaticky doručovat telemetrická data do účtu služby Azure Blob Storage podle vašeho výběru. Podle pokynů povolte funkci Capture a capture data do úložiště Azure. Po povolení můžete zkontrolovat kontejner a zobrazit nebo stáhnout data.

Principy telemetrických bodů

Aktuální verze schématu telemetrie: 4.1

Pozemní stanice poskytuje telemetrii pomocí Avro jako schématu. Schéma je uvedené níže. Všimněte si, že antény Microsoftu generují telemetrii po přijetí prvního datového bodu. Telemetrie se hlásí pomocí přístupu "poslední známá hodnota", což znamená, že vždy pošleme nejnovější hodnotu, kterou máme pro metriku. Vzhledem k tomuto chování se může zobrazit NULL hodnota v první sekundě kontaktu, dokud se tato metrika nevytvorí jako první.

{
  "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" ]
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          }
        }
      ]
    }
  ]
}

Následující tabulka obsahuje zdrojové zařízení/bod, možné hodnoty a definici každého bodu telemetrie.

Bod telemetrie Zdrojové zařízení nebo bod Možné hodnoty Definice
version Ruční nastavení interně Vydání verze telemetrie
Contactid Kontaktní zdroj Identifikační číslo kontaktu
contactPlatformIdentifier Kontaktní zdroj
groundStationName Kontaktní zdroj Název uzemnění
antennaType Příslušní tvůrci telemetrie Microsoftu a partnerů nastavují tuto hodnotu. MICROSOFT, KSAT, VIASAT Anténní síť použitá pro kontakt.
antennaId Kontaktní zdroj Human-readable name of antenna ID
spacecraftName Parsováno z identifikátoru kontaktní platformy Název vesmírné lodi
gpsTime Coversion of utcTime Čas v čase GPS, kdy se vygenerovala zpráva telemetrie zákazníka.
utcTime Aktuální čas Čas v čase UTC, kdy se vygenerovala zpráva telemetrie zákazníka.
azimuthDecimalDegrees ACU: AnténaAzimuth Anténa je azimut v desítkových stupních.
elevationDecimalDegrees ACU: Anténa–levace Anténa má výšku v desítkových stupních.
contactTleLine1 ACU: Satelitní[0]. Model.Value Řetězec řádku TLE 1 První řádek TLE použitý pro kontakt.
contactTLeLine2 ACU: Satelitní[0]. Model.Value Řetězec řádku TLE 2 Druhý řádek TLE použitý pro kontakt.
name [Link-level] Odkaz na profil kontaktu Název odkazu
směr Odkaz na profil kontaktu Uplink, Downlink Směr odkazu použitého pro kontakt.
Polarizace Odkaz na profil kontaktu RHCP, LHCP, DualRhcpLhcp, LinearVertical, LinearHorizontal Polarizace odkazu použitého pro kontakt.
uplinkEnabled ACU: SBandCurrent nebo UHFTotalCurrent • NULL (Neplatný směr CenterFrequencyMhz nebo Downlink)
• Nepravda (pásma jiná než S a UHF nebo aktuální < prahová hodnota proudu)
• True (S/UHF-band, Uplink, Amp Current > Threshold)
Určuje, jestli bylo pro kontakt povolené odesílání.
name [Channel-level] Kanál odkazu na profil kontaktu Název kanálu
modemName Modem Název modemového zařízení
digitizerName Digitizéru Název zařízení digitizátoru
endpointName Kanál odkazu na profil kontaktu Název koncového bodu použitého pro kontakt.
inputEbN0InDb Modem: měřenoEbN0 • NULL (model modemu jiný než QRadio nebo QRx)
• Double: Vstup EbN0
Vstupní energie na bit do šumu spektrální hustota v dB.
inputEsN0InDb Modem: měřenoEsN0 • NULL (model modemu jiný než QRx)
• Double: Vstup EsN0
Vstupní energie na symbol k šumu spektrální hustoty v dB.
inputRfPowerDbm Digitizer: inputRfPower • NULL (jiný ovladač pro odesílání nebo číslici než SNNB nebo SNWB)
• Double: Vstupní rf napájení
Vstupní rf výkon v dBm.
outputRfPowerDbm Digitizer: outputRfPower • NULL (jiný ovladač downlinku nebo digitizátoru než SNNB nebo SNWB)
• Double: Výstupní rf výkon
Výkon Ouput RF v dBm.
outputPacketRate Digitizer: rfOutputStream[0].measuredPacketRate • NULL (jiný ovladač downlinku nebo digitizátoru než SNNB nebo SNWB)
• Double: Výstupní frekvence paketů
Naměřená rychlost paketů pro odesílání
gapCount Digitizer: rfOutputStream[0].gapCount • NULL (jiný ovladač downlinku nebo digitizátoru než SNNB nebo SNWB)
• Double: Počet mezer
Počet mezer paketů pro odesílání
modemLockStatus Modem: carrierLockState • NULL (model modemu jiný než QRadio nebo QRx; nelze analyzovat stav zámku – výčet)
• Prázdný řetězec (pokud čtení metriky má hodnotu null)
• Řetězec: Stav zámku
Potvrzení, že modem byl uzamčen.
commandsSent Modem: commandsSent • NULL (pokud není odchozí a QRadio)
• Double: počet odeslaných příkazů
Potvrzení odeslání příkazů během kontaktu

Příjemci událostí

Pomocí příjemců událostí můžete psát jednoduché uživatelské aplikace pro příjem událostí ze služby Event Hubs. V následující dokumentaci se dozvíte, jak odesílat a přijímat události Event Hubs v různých jazycích:

Protokol změn

2024-04-17 - Aktualizované schéma tak, aby zahrnovalo možnou hodnotu NULL pro TLEs, a přidali esN0 pro QRX a přidali blurb o tom, jak antény Microsoftu mohou mít hodnotu NULL pro pole během první sekundy kontaktu. 2023-10-03 - Zavedení verze 4.0. Aktualizované schéma tak, aby zahrnovalo metriky paketů pro odesílání a názvy používané infrastruktury (pozemní stanice, anténa, vesmírná loď, modem, digitizátor, propojení, kanál)
2023-06-05 - Aktualizované schéma zobrazte metriky v kanálech místo odkazů.

Další kroky