Ricevere dati di telemetria dell'antenna in tempo reale

La stazione di terra di Azure Orbital genera eventi di telemetria dell'antenna che possono essere usati per analizzare l'operazione della stazione di terra durante un contatto. È possibile configurare il profilo di contatto per inviare eventi di telemetria a Hub eventi di Azure.

Questa guida illustra come eseguire queste operazioni:

  • Configurare Hub eventi di Azure per Azure Orbital Ground Station
  • Abilitare i dati di telemetria nel profilo di contatto.
  • Verificare il contenuto dei dati di telemetria
  • Informazioni sui punti di telemetria

Configurare gli hub eventi

  1. Nella sottoscrizione passare ai provider di risorse nelle impostazioni. Cercare Microsoft.Orbital e registrarlo come provider.
  2. Creare uno spazio dei nomi Hub eventi di Azure e un hub eventi nella sottoscrizione.

Nota

Scegliere Accesso pubblico per l'accesso alla connettività a Eventhubs. L'accesso privato o gli endpoint di servizio non sono supportati.

  1. Nel menu a sinistra selezionare Controllo di accesso (IAM). In "Concedi l'accesso a questa risorsa" selezionare Aggiungi assegnazione di ruolo.

Nota

Per assegnare i ruoli di Azure, è necessario disporre Microsoft.Authorization/roleAssignments/write di autorizzazioni: ad esempio Accesso utente Amministrazione istrator o Proprietario

  1. Nella scheda Ruolo cercare e selezionare Hub eventi di Azure Mittente dati. Fare clic su Avanti.
  2. Nella scheda Membri assegnare l'accesso a Utente, gruppo o entità servizio.
  3. Fare clic su + Seleziona membri.
  4. Cercare Provider di risorse Azure Orbital e fare clic su Seleziona.
  5. Fare clic su Rivedi e assegna. Questa azione concede ad Azure Orbital Ground Station i diritti per inviare dati di telemetria all'hub eventi.
  6. Per confermare l'assegnazione di ruolo appena aggiunta, tornare alla pagina Controllo di accesso (IAM) e selezionare Visualizza accesso a questa risorsa. Il provider di risorse Azure Orbital deve essere in Hub eventi di Azure Mittente dati.

Abilitare i dati di telemetria di Hub eventi per un profilo di contatto

Configurare un profilo di contatto come segue:

  1. Scegliere uno spazio dei nomi usando l'elenco a discesa Spazio dei nomi di Hub eventi.
  2. Scegliere un'istanza usando l'elenco a discesa Istanza di Hub eventi visualizzato dopo la selezione dello spazio dei nomi.

È possibile aggiornare le impostazioni di un profilo di contatto esistente tramite

Verificare i dati di telemetria dell'antenna da un contatto

Pianificare i contatti usando il profilo di contatto configurato in precedenza per i dati di telemetria di Hub eventi. Una volta avviato un contatto, è consigliabile iniziare a visualizzare i dati negli Hub eventi subito dopo.

È possibile verificare sia la presenza che il contenuto dei dati di telemetria in ingresso in più modi.

Dashboard dello spazio dei nomi di Hub eventi

Per verificare che gli eventi vengano ricevuti negli Hub eventi, è possibile controllare i grafici presenti nella pagina di panoramica dello spazio dei nomi di Hub eventi all'interno del gruppo di risorse. Questa visualizzazione mostra i dati in tutte le istanze di Hub eventi all'interno di uno spazio dei nomi. È possibile passare alla pagina di panoramica di un'istanza specifica di Hub eventi nel gruppo di risorse per visualizzare i grafici per tale istanza.

Distribuire i dati di telemetria dell'antenna a un account di archiviazione

È possibile abilitare la funzionalità acquisizione di Hub eventi per distribuire automaticamente i dati di telemetria a un account di archiviazione BLOB di Azure scelto. Seguire le istruzioni per abilitare l'acquisizione e l'acquisizione dei dati nell'archiviazione di Azure. Dopo l'abilitazione, è possibile controllare il contenitore e visualizzare/scaricare i dati.

Informazioni sui punti di telemetria

Versione corrente dello schema di telemetria: 4.1

La stazione di terra fornisce dati di telemetria usando Avro come schema. Lo schema è riportato di seguito. Si noti che le antenne Microsoft generano dati di telemetria dopo la ricezione del primo punto dati. I dati di telemetria vengono segnalati usando un approccio "ultimo valore noto", ovvero si invierà sempre il valore più recente per una metrica. A causa di questo comportamento, è possibile che venga visualizzato un NULL valore nel primo secondo di un contatto finché tale metrica non viene prodotta per la prima volta.

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

La tabella seguente fornisce il dispositivo/punto di origine, i valori possibili e la definizione di ogni punto di telemetria.

Punto di telemetria Dispositivo/punto di origine Valori possibili Definizione
versione Impostare manualmente internamente Versione di rilascio dei dati di telemetria
Contactid Risorsa contatto Numero di identificazione del contatto
contactPlatformIdentifier Risorsa contatto
groundStationName Risorsa contatto Nome della stazione di terra
antennaType I rispettivi generatori di dati di telemetria Microsoft/partner impostano questo valore MICROSOFT, KSAT, VIASAT Rete antenna utilizzata per il contatto.
antennaId Risorsa contatto Nome leggibile dell'ID antenna
nome spaziale Analizzato dall'identificatore della piattaforma contatti Nome del veicolo spaziale
gpsTime Coverion di utcTime Ora gps in cui è stato generato il messaggio di telemetria del cliente.
utcTime Ora corrente Ora UTC in cui è stato generato il messaggio di telemetria del cliente.
azimuthDecimalDegrees ACU: AntennaAzimuth Azimuth dell'antenna in gradi decimali.
elevationDecimalDegrees ACU: AntennaElevation Elevazione dell'antenna in gradi decimali.
contactTleLine1 ACU: Satellite[0]. Model.Value Stringa della riga TLE 1 Prima riga del TLE usato per il contatto.
contactTLeLine2 ACU: Satellite[0]. Model.Value Stringa della riga TLE 2 Seconda riga del valore TLE utilizzato per il contatto.
nome [livello di collegamento] Collegamento al profilo di contatto Nome del collegamento
direction Collegamento al profilo di contatto Uplink, Downlink Direzione del collegamento utilizzato per il contatto.
Polarizzazione Collegamento al profilo di contatto RHCP, LHCP, DualRhcpLhcp, LinearVertical, LinearHorizontal Polarizzazione del collegamento utilizzato per il contatto.
uplinkEnabled ACU: SBandCurrent o UHFTotalCurrent • NULL (direzione CenterFrequencyMhz o Downlink non valida)
• False (bande diverse da S e UHF o Amp Current < Threshold)
• True (S/UHF-band, Uplink, Amp Current > Threshold)
Indica se uplink è stato abilitato per il contatto.
name [Channel-level] Canale di collegamento al profilo di contatto Nome del canale
modemName Modem Nome del dispositivo modem
digitalizzatoreName Digitalizzatore Nome del dispositivo digitalizzatore
endpointName Canale di collegamento al profilo di contatto Nome dell'endpoint usato per il contatto.
inputEbN0InDb Modem: measuredEbN0 • NULL (modello modem diverso da QRadio o QRx)
• Double: Input EbN0
Energia di input per bit per bit per densità spettrale di potenza rumore in dB.
inputEsN0InDb Modem: measuredEsN0 • NULL (modello modem diverso da QRx)
• Double: Input EsN0
Energia di input per simbolo per densità spettrale di potenza del rumore in dB.
inputRfPowerDbm Digitalizzatore: inputRfPower • NULL (driver Uplink o Digitalizzatore diverso da SNNB o SNWB)
• Double: Input Rf Power
Alimentazione RF di input in dBm.
outputRfPowerDbm Digitalizzatore: outputRfPower • NULL (driver downlink o digitalizzatore diverso da SNNB o SNWB)
• Double: Output Rf Power
Potenza RF di ouput in dBm.
outputPacketRate Digitalizzatore: rfOutputStream[0].measuredPacketRate • NULL (driver downlink o digitalizzatore diverso da SNNB o SNWB)
• Doppio: frequenza dei pacchetti di output
Frequenza dei pacchetti misurata per Uplink
gapCount Digitalizzatore: rfOutputStream[0].gapCount • NULL (driver downlink o digitalizzatore diverso da SNNB o SNWB)
• Doppio: numero di gap
Numero di gap di pacchetti per Uplink
modemLockStatus Modem: carrierLockState • NULL (modello modem diverso da QRadio o QRx; non è stato possibile analizzare lo stato del blocco Enumerazione)
• Stringa vuota (se la lettura della metrica è null)
• Stringa: Stato blocco
Confermare che il modem è stato bloccato.
commandsSent Modem: comandiSent • NULL (se non Uplink e QRadio)
• Double: # dei comandi inviati
Conferma dell'invio dei comandi durante il contatto.

Consumer di eventi

È possibile scrivere semplici app consumer per ricevere eventi da Hub eventi usando i consumer di eventi. Fare riferimento alla documentazione seguente per informazioni su come inviare e ricevere eventi in Hub eventi in varie lingue:

Log delle modifiche

2024-04-17 - Schema aggiornato per includere possibili VALORI NULL per le TLE e aggiunto EsN0 per QRX e aggiunta di blurb sul modo in cui le antenne Microsoft possono avere un VALORE NULL per un campo durante il primo secondo di un contatto. 2023-10-03 - Introdurre la versione 4.0. Schema aggiornato per includere metriche dei pacchetti uplink e nomi dell'infrastruttura in uso (stazione di terra, antenna, veicolo spaziale, modem, digitalizzatore, collegamento, canale)
2023-06-05 - Schema aggiornato per visualizzare le metriche nei canali anziché i collegamenti.

Passaggi successivi