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
- Nella sottoscrizione passare ai provider di risorse nelle impostazioni. Cercare Microsoft.Orbital e registrarlo come provider.
- 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.
- 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 Amministratore accesso utenti o Proprietario
- Nella scheda Ruolo cercare e selezionare Hub eventi di Azure Mittente dati. Fare clic su Avanti.
- Nella scheda Membri assegnare l'accesso a Utente, gruppo o entità servizio.
- Fare clic su + Seleziona membri.
- Cercare Provider di risorse Azure Orbital e fare clic su Seleziona.
- Fare clic su Rivedi e assegna. Questa azione concede ad Azure Orbital Ground Station i diritti per inviare dati di telemetria all'hub eventi.
- 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:
- Scegliere uno spazio dei nomi usando l'elenco a discesa Spazio dei nomi di Hub eventi.
- 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.