Recepción de telemetría de antena en tiempo real
La estación terrestre de Azure Orbital emite eventos de telemetría de antena que se pueden usar para analizar la operación de la estación terrestre durante un contacto. Puede configurar el perfil de contacto para enviar eventos de telemetría a Azure Event Hubs..
En esta guía, aprenderá a:
- Configuración de Azure Event Hubs para Azure Orbital Ground Station
- Habilite la telemetría en el perfil de contacto.
- Comprobación del contenido de los datos de telemetría
- Descripción de los puntos de telemetría
Configuración de Event Hubs
- En la suscripción, vaya a proveedores de recursos en la configuración. Busque Microsoft.Orbital y regístrelo como proveedor.
- Crear un espacio de nombres de Azure Event Hubs y un centro de eventos en la suscripción.
Nota:
Elija Acceso público para el acceso de conectividad a Eventhubs. No se admite el acceso privado ni los puntos de conexión de servicio.
- En el menú izquierdo, seleccione Control de acceso (IAM). En "Conceder acceso a este recurso", seleccione Agregar asignación de roles.
Nota:
Para asignar roles de Azure, debe tener: Microsoft.Authorization/roleAssignments/write
permisos, como Administrador de acceso de usuario o Propietario
- En la pestaña Rol, busque y seleccione Remitente de datos de Azure Event Hubs. Haga clic en Next.
- En la pestaña Miembros, asigne acceso a Usuario, grupo o entidad de servicio.
- Haga clic en +Seleccionar miembros.
- Busque Proveedor de recursos de Azure Orbitaly haga clic en Seleccione.
- Haga clic en Revisar y asignar. Esta acción concede a Azure Orbital Ground Station los derechos para enviar telemetría al centro de eventos.
- Para confirmar la asignación de roles recién agregada, vuelva a la página Control de acceso (IAM) y seleccione Consulta del acceso a este recurso. El proveedor de recursos de Azure Orbital debe estar en Remitente de datos de Azure Event Hubs.
Habilitación de la telemetría de Event Hubs para un perfil de contacto
Configure un perfil de contacto de la manera siguiente:
- Elija un espacio de nombres en la lista desplegable Espacio de nombres de Events Hubs.
- Elija una instancia en la lista desplegable Instancia del Events Hubs que aparece después de seleccionar el espacio de nombres.
Puede actualizar la configuración de un perfil de contacto existente
Comprobación de los datos de telemetría de antena desde un contacto
Programar contactos mediante el perfil de contacto que configuró anteriormente para la telemetría de Event Hubs. Una vez que comience un contacto, debería empezar a ver los datos en Event Hubs poco después.
Puede comprobar la presencia y el contenido de los datos de telemetría entrantes de varias maneras.
Panel del espacio de nombres de Event Hubs
Para comprobar que los eventos se reciben en Event Hubs, puede comprobar los gráficos presentes en la página de información general del espacio de nombres de Event Hubs dentro del grupo de recursos. Esta vista muestra los datos de todas las instancias de Event Hubs dentro de un espacio de nombres. Puede ir a la página de información general de una instancia específica del centro de eventos en el grupo de recursos para ver los gráficos de esa instancia.
Entrega de datos de telemetría de antena a una cuenta de almacenamiento
Puede habilitar la característica Capture de Event Hubs para entregar automáticamente los datos de telemetría a una cuenta de Azure Blob Storage que elija. Siga las Instrucciones para habilitar Capture y capturar datos en Azure Storage. Una vez habilitada, puede comprobar el contenedor y ver o descargar los datos.
Descripción de los puntos de telemetría
Versión actual del esquema de telemetría: 4.1
La estación terrestre proporciona telemetría mediante Avro como esquema. A continuación se muestra el esquema. Tenga en cuenta que las antenas de Microsoft emiten telemetría una vez recibido el primer punto de datos. La telemetría se notifica mediante un enfoque de "último valor conocido", lo que significa que siempre enviaremos el valor más reciente que tenemos para una métrica. Debido a este comportamiento, es posible que vea un valor NULL
en el primer segundo de un contacto hasta que se produzca la métrica por primera vez.
{
"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" ]
}
]
}
}
]
}
]
}
}
]
}
]
}
En la tabla siguiente se proporciona el dispositivo o punto de origen, los valores posibles y la definición de cada punto de telemetría.
Punto de telemetría | Origen Dispositivo/Punto | Valores posibles | Definición |
---|---|---|---|
version | Establecer manualmente internamente | Versión de lanzamiento de la telemetría | |
contactID | Recurso de contacto | Número de identificación del contacto | |
contactPlatformIdentifier | Recurso de contacto | ||
groundStationName | Recurso de contacto | Nombre de la estación de tierra | |
antennaType | Los generadores de telemetría de asociados o Microsoft respectivos establecen este valor | MICROSOFT, KSAT, VIASAT | Red de antena utilizada para el contacto. |
antennaId | Recurso de contacto | Nombre legible del id. de antena | |
spacecraftName | Analizado desde el identificador de la plataforma de contacto | Nombre de la nave espacial | |
gpsTime | Coversion de utcTime | Tiempo en el tiempo GPS en el que se generó el mensaje de telemetría del cliente. | |
utcTime | Hora actual | Hora UTC en la que se generó el mensaje de telemetría del cliente. | |
azimuthDecimalDegrees | ACU: AntennaAzimuth | La azimuth de la antena en grados decimales. | |
elevationDecimalDegrees | ACU: AntennaElevation | Elevación de antena en grados decimales. | |
contactTleLine1 | ACU: Satellite[0].Model.Value | Cadena de línea TLE 1 | Primera línea del TLE utilizado para el contacto. |
contactTLeLine2 | ACU: Satellite[0].Model.Value | Cadena de línea TLE 2 | Segunda línea del TLE utilizado para el contacto. |
nombre [Nivel de vínculo] | Vínculo de perfil de contacto | Nombre del vínculo | |
direction | Vínculo de perfil de contacto | Vínculo superior, vínculo hacia abajo | Dirección del vínculo usado para el contacto. |
polarización | Vínculo de perfil de contacto | RHCP, LHCP, DualRhcpLhcp, LinearVertical, LinearHorizontal | Polarización del vínculo utilizado para el contacto. |
uplinkEnabled | ACU: SBandCurrent o UHFTotalCurrent | • NULL (dirección CenterFrequencyMhz o Downlink no válida) • False (Bandas distintas de S y UHF o Amp Current < Threshold) • True (S/UHF-band, Uplink, Amp Current > Threshold) |
Indica si el vínculo superior se ha habilitado para el contacto. |
nombre [Nivel de canal] | Canal de vínculo de perfil de contacto | Nombre del canal | |
modemName | Módem | Nombre del dispositivo módem | |
digitalerName | Digitalizador | Nombre del dispositivo digitalizador | |
endpointName | Canal de vínculo de perfil de contacto | Nombre del punto de conexión usado para el contacto. | |
inputEbN0InDb | Módem: measuredEbN0 | • NULL (modelo de módem distinto de QRadio o QRx) • Double: Input EbN0 |
Energía de entrada por bit a densidad espectral de potencia de ruido en dB. |
inputEsN0InDb | Módem: measuredEsN0 | • NULL (modelo de módem distinto de QRx) • Double: Input EsN0 |
Energía de entrada por símbolo a densidad espectral de potencia de ruido en dB. |
inputRfPowerDbm | Digitalizador: inputRfPower | • NULL (controlador de vínculo superior o digitalizador que no sea SNNB o SNWB) • Double: Entrada Rf Power |
Potencia RF de entrada en dBm. |
outputRfPowerDbm | Digitalizador: outputRfPower | • NULL (controlador de vínculo inferior o digitalizador que no sea SNNB o SNWB) • Double: Salida RF Power |
Potencia de RF de salida en dBm. |
outputPacketRate | Digitalizador: rfOutputStream[0].measuredPacketRate | • NULL (controlador de vínculo inferior o digitalizador que no sea SNNB o SNWB) • Double: Velocidad de paquetes de salida |
Velocidad de paquetes medida para el vínculo superior |
gapCount | Digitalizador: rfOutputStream[0].gapCount | • NULL (controlador de vínculo inferior o digitalizador que no sea SNNB o SNWB) • Double: Gap count |
Recuento de brechas de paquetes para vínculo superior |
modemLockStatus | Módem: carrierLockState | • NULL (modelo de módem distinto de QRadio o QRx; no se pudo analizar el estado de bloqueo Enum) • Cadena vacía (si la lectura de métricas era null) • Cadena: Estado de bloqueo |
Confirmación de que el módem estaba bloqueado. |
commandsSent | Módem: commandsSent | • NULL (si no es Vínculo superior y QRadio) • Double: número de comandos enviados |
Confirmación de que los comandos se enviaron durante el contacto. |
Consumidores de eventos
Puede escribir aplicaciones de consumidor sencillas para recibir eventos de Event Hubs mediante consumidores de eventos. Consulte la siguiente documentación para obtener información sobre cómo enviar y recibir eventos de Event Hubs en varios idiomas:
Registro de cambios
2024-04-17: Se ha actualizado el esquema para incluir posibles valores NULL para los TLE y se ha agregado EsN0 para QRX y se ha agregado información sobre cómo las antenas de Microsoft pueden tener un valor NULL para un campo durante el primer segundo de un contacto.
2023-10-03: Presenta la versión 4.0. Esquema actualizado para incluir métricas de paquetes de vínculo superior y nombres de infraestructura en uso (estación terrestre, antena, nave espacial, módem, digitalizador, enlace, canal)
2023-06-05: Esquema actualizado para mostrar las métricas en canales en lugar de vínculos.