Recevoir des données de télémétrie d’antenne en temps réel
Azure Orbital Ground station émet des événements de télémétrie d’antenne qui peuvent être utilisés pour analyser l’opération de station terrestre pendant un contact. Vous pouvez configurer votre profil de contact pour envoyer des événements de télémétrie à Azure Event Hubs..
Dans ce guide, vous allez apprendre à :
- Configurer Azure Event Hubs pour Azure Orbital Ground Station
- Activez la télémétrie dans votre profil de contact.
- Vérifier le contenu des données de télémétrie
- Comprendre les points de télémétrie
Configurer les hubs d’événement
- Dans votre abonnement, accédez aux fournisseurs de ressources dans les paramètres. Recherchez Microsoft.Orbital et inscrivez-le en tant que fournisseur.
- Créez un espace de noms Azure Event Hubs et un hub d’événements dans votre abonnement.
Remarque
Choisissez l’accès public pour l’accès à la connectivité aux Eventhubs. L’accès privé ou les points de terminaison de service ne sont pas pris en charge.
- Dans le menu de gauche, sélectionnez Contrôle d’accès (IAM). Sous « Accorder l’accès à cette ressource », sélectionnez Ajouter une attribution de rôle.
Remarque
Pour attribuer des rôles Azure, vous devez disposer d’autorisationsMicrosoft.Authorization/roleAssignments/write
, telles que l’accès utilisateur Administration istrator ou propriétaire
- Sous l’onglet Rôle , recherchez et sélectionnez Expéditeur de données Azure Event Hubs. Sélectionnez Suivant.
- Sous l’onglet Membres , attribuez l’accès à l’utilisateur, au groupe ou au principal du service.
- Cliquer sur + Sélectionner des membres.
- Recherchez le fournisseur de ressources Orbital Azure, puis cliquez sur Sélectionner.
- Cliquez sur Analyser + attribuer. Cette action accorde à Azure Orbital Ground Station les droits d’envoi de données de télémétrie dans votre hub d’événements.
- Pour confirmer l’attribution de rôle nouvellement ajoutée, revenez à la page Contrôle d’accès (IAM) et sélectionnez Afficher l’accès à cette ressource. Le fournisseur de ressources Orbital Azure doit se trouver sous l’expéditeur de données Azure Event Hubs.
Activer la télémétrie Event Hubs pour un profil de contact
Configurez un profil de contact comme suit :
- Choisissez un espace de noms à l’aide de la liste déroulante Espace de noms Event Hubs.
- Choisissez une instance en utilisant la liste déroulante Instance Event Hubs qui apparaît après la sélection de l’espace de noms.
Vous pouvez mettre à jour les paramètres d’un profil de contact existant par
Vérifier les données de télémétrie de l’antenne à partir d’un contact
Planifiez des contacts à l’aide du profil de contact que vous avez précédemment configuré pour la télémétrie Event Hubs. Une fois qu’un contact commence, vous devez commencer à voir les données dans vos hubs d’événements peu de temps après.
Vous pouvez vérifier la présence et le contenu des données de télémétrie entrantes de plusieurs façons.
Tableau de bord de l’espace de noms Event Hubs
Pour vérifier que les événements sont reçus dans vos hubs d’événements, vous pouvez case activée les graphiques présents sur la page vue d’ensemble de votre espace de noms Event Hubs au sein de votre groupe de ressources. Cette vue affiche les données de toutes les instances Event Hubs au sein d’un espace de noms. Vous pouvez accéder à la page vue d’ensemble d’une instance Event Hub spécifique dans votre groupe de ressources pour afficher les graphiques de cette instance.
Fournir des données de télémétrie d’antenne à un compte de stockage
Vous pouvez activer la fonctionnalité Event Hubs Capture pour remettre automatiquement les données de télémétrie à un compte de stockage Blob Azure de votre choix. Suivez les instructions pour activer capture et capturer des données dans le stockage Azure. Une fois activée, vous pouvez vérifier votre conteneur et afficher ou télécharger les données.
Comprendre les points de télémétrie
Version actuelle du schéma de télémétrie : 4.0
La station terrestre fournit des données de télémétrie à l’aide d’Avro comme schéma. Le schéma est ci-dessous :
{
"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": "string"
},
{
"name": "contactTleLine2",
"type": "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" ]
}
]
}
}
]
}
]
}
}
]
}
]
}
Le tableau suivant fournit l’appareil/point source, les valeurs possibles et la définition de chaque point de télémétrie.
Point de télémétrie | Appareil/point source | Valeurs possibles | Definition |
---|---|---|---|
version | Définir manuellement en interne | Version de publication de la télémétrie | |
Contactid | Ressource de contact | Numéro d’identification du contact | |
contactPlatformIdentifier | Ressource de contact | ||
groundStationName | Ressource de contact | Nom de la station de terre | |
antennaType | Les générateurs de télémétrie Microsoft/partenaire respectifs définissent cette valeur | MICROSOFT, KSAT, VIASAT | Réseau d’antenne utilisé pour le contact. |
antennaId | Ressource de contact | Nom lisible par l’homme de l’ID d’antenne | |
spatialName | Analysé à partir de l’identificateur de plateforme de contacts | Nom du vaisseau spatial | |
gpsTime | Couvertures de utcTime | Temps dans le temps GPS que le message de télémétrie du client a été généré. | |
utcTime | Heure actuelle | Heure UTC pendant laquelle le message de télémétrie du client a été généré. | |
azimuthDecimalDegrees | ACU : AntennaAzimuth | Azimuth de l’antenne en degrés décimaux. | |
elevationDecimalDegrees | ACU : AntennaElevation | Élévation de l’antenne en degrés décimaux. | |
contactTleLine1 | ACU : Satellite[0]. Model.Value | Chaîne de la ligne TLE 1 | Première ligne du TLE utilisé pour le contact. |
contactTLeLine2 | ACU : Satellite[0]. Model.Value | Chaîne de la ligne TLE 2 | Deuxième ligne du TLE utilisé pour le contact. |
name [Niveau du lien] | Lien du profil de contact | Nom du lien | |
direction | Lien du profil de contact | Liaison montante, Lien bas | Direction du lien utilisé pour le contact. |
Polarisation | Lien du profil de contact | RHCP, LHCP, DualRhcpLhcp, LinearVertical, LinearHorizontal | Polarisation du lien utilisé pour le contact. |
uplinkEnabled | ACU : SBandCurrent ou UHFTotalCurrent | • NULL (direction centerFrequencyMhz non valide ou downlink) • False (bandes autres que S et UHF ou Seuil actuel < ) • True (bande S/UHF, liaison montante, seuil actuel > ) |
Indique si la liaison montante a été activée pour le contact. |
name [Niveau du canal] | Canal de lien de profil de contact | Nom du canal | |
modemName | Modem | Nom de l’appareil modem | |
numériseurName | Numériseur | Nom de l’appareil du numériseur | |
endpointName | Canal de lien de profil de contact | Nom du point de terminaison utilisé pour le contact. | |
inputEbN0InDb | Modem : measuredEbN0 | • NULL (modèle modem autre que QRadio ou QRx) • Double : EbN0 d’entrée |
Énergie d’entrée par bit pour la densité de puissance sonore en DB. |
inputEsN0InDb | Non utilisé dans la télémétrie de l’antenne Microsoft | NULL (Non utilisé dans la télémétrie de l’antenne Microsoft) | Énergie d’entrée par symbole pour la densité de puissance sonore en DB. |
inputRfPowerDbm | Numériseur : inputRfPower | • NULL (pilote de liaison montante ou de numériseur autre que SNNB ou SNWB) • Double : Alimentation rf d’entrée |
Alimentation RF d’entrée dans dBm. |
outputRfPowerDbm | Numériseur : outputRfPower | • NULL (pilote downlink ou numériseur autre que SNNB ou SNWB) • Double : Puissance rf de sortie |
Puissance RF d’ouput en sgbd. |
outputPacketRate | Numériseur : rfOutputStream[0].measuredPacketRate | • NULL (pilote downlink ou numériseur autre que SNNB ou SNWB) • Double : Taux de paquets de sortie |
Taux de paquets mesuré pour la liaison montante |
gapCount | Numériseur : rfOutputStream[0].gapCount | • NULL (pilote downlink ou numériseur autre que SNNB ou SNWB) • Double : Nombre d’écarts |
Nombre d’écarts de paquets pour la liaison montante |
modemLockStatus | Modem : carrierLockState | • NULL (modèle modem autre que QRadio ou QRx ; impossible d’analyser l’énumération d’état de verrouillage) • Chaîne vide (si la lecture des métriques était null) • Chaîne : état de verrouillage |
Confirmation que le modem a été verrouillé. |
commandsSent | Modem : commandsSent | • NULL (s’il n’y a pas de liaison montante et QRadio) • Double : nombre de commandes envoyées |
Confirmation que les commandes ont été envoyées pendant le contact. |
Consommateurs d'événements
Vous pouvez écrire des applications grand public simples pour recevoir des événements de votre Event Hubs à l’aide de consommateurs d’événements. Reportez-vous à la documentation suivante pour savoir comment envoyer et recevoir des événements Event Hubs dans différentes langues :
Journal des modifications
2023-10-03 - Présentation de la version 4.0. Schéma mis à jour pour inclure les métriques de paquets de liaison montante et les noms de l’infrastructure en cours d’utilisation (station terrestre, antenne, vaisseau spatial, modem, numériseur, lien, canal)
2023-06-05 - Schéma mis à jour pour afficher les métriques sous les canaux au lieu de liens.