Получение телеметрии антенны в режиме реального времени
Станция "Орбитальная земля" выдает события телеметрии антенны, которые можно использовать для анализа операций наземной станции во время контакта. Профиль контакта можно настроить для отправки событий телеметрии в Центры событий Azure..
Из этого руководства вы узнаете, как выполнить следующие задачи:
- Настройка Центры событий Azure для наземной станции Azure Orbital
- Включите данные телеметрии в профиле контакта.
- Проверка содержимого данных телеметрии
- Общие сведения о точках телеметрии
Настройка Центров событий Azure
- В подписке перейдите к поставщикам ресурсов в параметрах. Найдите Microsoft.Orbital и зарегистрируйте его в качестве поставщика.
- Создайте пространство имен Центры событий Azure и концентратор событий в подписке.
Примечание.
Выберите общедоступный доступ для доступа к центрам событий. Частный доступ или конечные точки службы не поддерживаются.
- В меню слева выберите Управление доступом (IAM). В разделе "Предоставление доступа к этому ресурсу" выберите "Добавить назначение ролей".
Примечание.
Чтобы назначить роли Azure, необходимо иметь Microsoft.Authorization/roleAssignments/write
разрешения, такие как доступ пользователей Администратор istrator или владелец.
- На вкладке "Роль" найдите и выберите Центры событий Azure Отправителя данных. Нажмите кнопку Далее.
- На вкладке "Члены" назначьте доступ к пользователю, группе или субъекту-службе.
- Нажмите кнопку + Выбрать участников.
- Найдите поставщика ресурсов Azure Orbital и нажмите кнопку "Выбрать".
- Нажмите кнопку " Рецензирование и назначение". Это действие предоставляет земную станцию Azure Orbital права на отправку данных телеметрии в концентратор событий.
- Чтобы подтвердить только что добавленное назначение ролей, вернитесь на страницу контроль доступа (IAM) и выберите "Просмотреть доступ к этому ресурсу". Поставщик ресурсов Azure Orbital должен находиться в Центры событий Azure отправителе данных.
Включение телеметрии Центров событий для профиля контакта
Настройте профиль контакта следующим образом:
- Выберите пространство имен с помощью раскрывающегося списка пространства имен Центров событий.
- Выберите экземпляр с помощью раскрывающегося списка экземпляра Центров событий, который отображается после выбора пространства имен.
Параметры существующего профиля контакта можно обновить с помощью
Проверка данных телеметрии антенны из контакта
Запланируйте контакты с помощью профиля контакта, который вы ранее настроили для телеметрии Центров событий. После начала контакта вы увидите данные в центрах событий вскоре после этого.
Вы можете проверить наличие и содержимое входящих данных телеметрии несколькими способами.
Панель мониторинга пространства имен Центров событий
Чтобы убедиться, что события получены в центрах событий, можно проверка графы, представленные на странице обзора пространства имен Центров событий в группе ресурсов. В этом представлении отображаются данные во всех экземплярах Центров событий в пространстве имен. Вы можете перейти на страницу обзора определенного экземпляра Концентратора событий в группе ресурсов, чтобы просмотреть графики для этого экземпляра.
Доставка данных телеметрии антенны в учетную запись хранения
Вы можете включить функцию отслеживания центров событий для автоматического доставки данных телеметрии в учетную запись хранения BLOB-объектов Azure выбранного объекта. Следуйте инструкциям, чтобы включить сбор и запись данных в хранилище Azure. После включения вы можете проверка контейнер и просмотреть или скачать данные.
Общие сведения о точках телеметрии
Текущая версия схемы телеметрии: 4.1
Наземная станция предоставляет данные телеметрии с помощью Avro в качестве схемы. Ниже приведена схема. Обратите внимание, что антенны Майкрософт выдают данные телеметрии после получения первой точки данных. Данные телеметрии передаются с помощью подхода "последнее известное значение", то есть мы всегда отправим последнее значение для метрики. Из-за этого может появиться NULL
значение в первой секунде контакта до тех пор, пока эта метрика не будет создана.
{
"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" ]
}
]
}
}
]
}
]
}
}
]
}
]
}
В следующей таблице приведены исходные устройства или точки, возможные значения и определение каждой точки телеметрии.
Точка телеметрии | Исходное устройство или точка | Возможные значения | Определение |
---|---|---|---|
версия | Внутренний набор вручную | Версия выпуска телеметрии | |
Contactid | Ресурс контакта | Идентификационный номер контакта | |
contactPlatformIdentifier | Ресурс контакта | ||
groundStationName | Ресурс контакта | Имя подстановки | |
antennaType | Соответствующие разработчики телеметрии Майкрософт и партнеров задают это значение. | MICROSOFT, KSAT, VIASAT | Антенная сеть, используемая для контакта. |
antennaId | Ресурс контакта | Имя удобочитаемого человека идентификатора антенны | |
имя космического корабля | Синтаксический анализ с помощью идентификатора платформы контактов | Имя космического корабля | |
gpsTime | Обложки utcTime | Время в GPS, когда было создано сообщение телеметрии клиента. | |
UTCTime | Текущее время | Время в формате UTC, когда было создано сообщение телеметрии клиента. | |
azimuthDecimalDegrees | ACU: AntennaAzimuth | Азимут антенны в десятичных градусах. | |
elevationDecimalDegrees | ACU: АнтеннаElevation | Повышение высоты антенны в десятичных градусах. | |
contactTleLine1 | ACU: Спутник[0]. Model.Value | Строка TLE 1 | Первая строка TLE, используемая для контакта. |
contactTLeLine2 | ACU: Спутник[0]. Model.Value | Строка TLE 2 | Вторая строка TLE, используемая для контакта. |
name [Link-level] | Ссылка на профиль контакта | Имя ссылки | |
direction | Ссылка на профиль контакта | Uplink, Downlink | Направление ссылки, используемой для контакта. |
Поляризации | Ссылка на профиль контакта | RHCP, LHCP, DualRhcpLhcp, LinearVertical, LinearHorizontal | Поляризация ссылки, используемой для контакта. |
uplinkEnabled | ACU: SBandCurrent или UHFTotalCurrent | • NULL (недопустимое направление CenterFrequencyMhz или Downlink) • False (диапазоны, отличные от S и UHF или текущее < пороговое значение ampя) • True (S/UHF-band, Uplink, Amp Current > Threshold) |
Указывает, включена ли связь вверх для контакта. |
имя [уровень канала] | Канал связи с профилем контактов | Имя канала | |
имя модема | Модем | Имя модемного устройства | |
digitizerName | Дигитайзер | Имя устройства дигитайзера | |
endpointName | Канал связи с профилем контактов | Имя конечной точки, используемой для контакта. | |
inputEbN0InDb | Модем: измеряетсяEbN0 | • NULL (модель модема, отличной от QRadio или QRx) • Double: Input EbN0 |
Входная энергия в бите для шумовой плотности спектральной мощности в dB. |
inputEsN0InDb | Модем: измеряетсяEsN0 | • NULL (модель модема, отличной от QRx) • Double: Input EsN0 |
Входная энергия на символ для шумовой плотности спектральной мощности в dB. |
inputRfPowerDbm | Дигитайзер: inputRfPower | • NULL (драйвер uplink или Digitizer, отличный от SNNB или SNWB) • Double: Input Rf Power |
Входная мощность RF в dBm. |
outputRfPowerDbm | Дигитайзер: outputRfPower | • NULL (драйвер Downlink или Digitizer, отличный от SNNB или SNWB) • Double: output Rf Power |
Ouput RF power in dBm. |
outputPacketRate | Дигитайзер: rfOutputStream[0].measuredPacketRate | • NULL (драйвер Downlink или Digitizer, отличный от SNNB или SNWB) • Двойной: скорость вывода пакетов |
Измеряемая скорость пакетов для uplink |
gapCount | Дигитайзер: rfOutputStream[0].gapCount | • NULL (драйвер Downlink или Digitizer, отличный от SNNB или SNWB) • Двойное: число разрывов |
Количество разрывов пакетов для uplink |
модемLockStatus | Модем: carrierLockState | • NULL (модель модема, отличной от QRadio или QRx; не удалось проанализировать состояние блокировки Enum) • Пустая строка (если чтение метрик было null) • Строка: состояние блокировки |
Подтверждение блокировки модема. |
commandsSent | Модем: commandsSent | • NULL (если не Uplink и QRadio) • Double: # отправленных команд |
Подтверждение отправки команд во время контакта. |
Получатели событий
Вы можете создавать простые потребительские приложения для получения событий из центров событий с помощью потребителей событий. Ознакомьтесь со следующей документацией, чтобы узнать, как отправлять и получать центры событий на различных языках:
Журнал изменений
2024-04-17 — обновленная схема, которая включает возможные значения NULL для TLEs, а также добавлена EsN0 для QRX, а также добавлена ошибка о том, как антенны Майкрософт могут иметь значение NULL для поля во время первого второго контакта.
2023-10-03 — введите версию 4.0. Обновленная схема, включаемая метрики пакетов вверх и имена используемой инфраструктуры (наземные станции, антенна, космический аппарат, модем, дигитайзер, ссылка, канал)
2023-06-05 — обновленная схема для отображения метрик в каналах вместо ссылок.