Menerima telemetri antena real time

Stasiun Azure Orbital Ground memancarkan peristiwa telemetri antena yang dapat digunakan untuk menganalisis operasi stasiun darat selama kontak. Anda dapat mengonfigurasi profil kontak untuk mengirim peristiwa telemetri ke Azure Event Hubs..

Dalam panduan ini, Anda akan mempelajari cara:

  • Mengonfigurasi Azure Event Hubs untuk Azure Orbital Ground Station
  • Aktifkan telemetri di profil kontak Anda.
  • Memverifikasi konten data telemetri
  • Memahami titik telemetri

Konfigurasikan Azure Event Hubs

  1. Di langganan Anda, buka penyedia sumber daya di pengaturan. Cari Microsoft.Orbital dan daftarkan sebagai penyedia.
  2. Buat namespace Azure Event Hubs dan pusat aktivitas di langganan Anda.

Catatan

Pilih Akses publik untuk akses konektivitas ke Eventhubs. Akses privat atau titik akhir layanan tidak didukung.

  1. Dari menu kiri, pilih Kontrol akses (IAM). Di bagian 'Berikan akses ke sumber daya ini,' pilih Tambahkan penetapan peran.

Catatan

Untuk menetapkan peran Azure, Anda harus memiliki: Microsoft.Authorization/roleAssignments/write izin, seperti Administrator Akses Pengguna atau Pemilik

  1. Di bawah tab Peran , cari dan pilih Pengirim Data Azure Event Hubs. Klik Berikutnya.
  2. Di bawah tab Anggota , tetapkan akses ke Pengguna, grup, atau perwakilan layanan.
  3. Klik + Pilih anggota.
  4. Cari Penyedia Sumber Daya Azure Orbital dan klik Pilih.
  5. Klik Tinjau + tetapkan. Tindakan ini memberi Azure Orbital Ground Station hak untuk mengirim telemetri ke pusat aktivitas Anda.
  6. Untuk mengonfirmasi penetapan peran yang baru ditambahkan, kembali ke halaman Kontrol Akses (IAM) dan pilih Tampilkan akses ke sumber daya ini. Penyedia Sumber Daya Azure Orbital harus berada di bawah Pengirim Data Azure Event Hubs.

Mengaktifkan telemetri Azure Event Hubs untuk profil kontak

Konfigurasikan profil kontak sebagai berikut:

  1. Pilih namespace layanan menggunakan menu dropdown Namespace Layanan Azure Event Hubs.
  2. Pilih instans menggunakan menu dropdown Instans Azure Event Hubs yang muncul setelah pemilihan namespace.

Anda dapat memperbarui pengaturan profil kontak yang ada dengan

Memverifikasi data telemetri antena dari kontak

Jadwalkan kontak menggunakan profil kontak yang sebelumnya Anda konfigurasi untuk telemetri Azure Event Hubs. Setelah kontak dimulai, Anda akan mulai melihat data di Azure Event Hubs segera setelahnya.

Anda dapat memverifikasi keberadaan dan konten data telemetri masuk dengan berbagai cara.

Dasbor namespace layanan Azure Event Hubs

Untuk memverifikasi bahwa peristiwa diterima di Azure Event Hubs, Anda dapat memeriksa grafik yang ada di halaman gambaran umum namespace Layanan Pusat Aktivitas dalam grup sumber daya Anda. Tampilan ini memperlihatkan data di semua instans Azure Event Hubs dalam namespace layanan. Anda dapat menavigasi ke halaman gambaran umum instans Event Hub tertentu di grup sumber daya Anda untuk melihat grafik untuk instans tersebut.

Mengirimkan data telemetri antena ke akun penyimpanan

Anda dapat mengaktifkan fitur Event Hubs Capture untuk mengirimkan data telemetri secara otomatis ke akun penyimpanan Azure Blob yang Anda pilih. Ikuti instruksi untuk mengaktifkan Ambil dan ambil data ke penyimpanan Azure. Setelah diaktifkan, Anda dapat memeriksa kontainer Anda dan melihat/mengunduh data.

Memahami titik telemetri

Versi skema telemetri saat ini: 4.1

Stasiun darat menyediakan telemetri menggunakan Avro sebagai skema. Skemanya di bawah ini. Perhatikan, antena Microsoft memancarkan Telemetri setelah titik data pertama diterima. Telemetri dilaporkan menggunakan pendekatan "nilai terakhir yang diketahui", yang berarti bahwa kita akan selalu mengirim nilai terbaru yang kita miliki untuk metrik. Karena perilaku ini, Anda mungkin melihat NULL nilai di detik pertama kontak hingga metrik tersebut pertama kali diproduksi.

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

Tabel berikut ini menyediakan perangkat/titik sumber, nilai yang mungkin, dan definisi setiap titik telemetri.

Titik Telemetri Perangkat/Titik Sumber Nilai yang Mungkin Definisi
versi Mengatur secara manual secara internal Versi rilis telemetri
contactID Sumber daya kontak Nomor identifikasi kontak
contactPlatformIdentifier Sumber daya kontak
groundStationName Sumber daya kontak Nama groundstation
antennaType Masing-masing penyusun telemetri Microsoft /mitra menetapkan nilai ini MICROSOFT, KSAT, VIASAT Jaringan antena yang digunakan untuk kontak.
antenaId Sumber daya kontak Nama ID antena yang dapat dibaca manusia
spacecraftName Diurai dari Pengidentifikasi Platform Kontak Nama pesawat ruang angkasa
gpsTime Selimut utcTime Waktu dalam waktu GPS pesan telemetri pelanggan dihasilkan.
utcTime Waktu saat ini Waktu dalam waktu UTC pesan telemetri pelanggan dihasilkan.
azimuthDecimalDegrees ACU: AntenaAzimuth Azimut Antena dalam derajat desimal.
elevationDecimalDegrees ACU: AntenaElevation Elevasi Antena dalam derajat desimal.
contactTleLine1 Satelit[0]. Model.Value String Baris TLE 1 Baris pertama TLE yang digunakan untuk kontak.
contactTLeLine2 Satelit[0]. Model.Value String Baris TLE 2 Baris kedua TLE yang digunakan untuk kontak.
name [Tingkat tautan] Tautan profil kontak Nama tautan
direction Tautan profil kontak Uplink, Downlink Arah tautan yang digunakan untuk kontak.
Polarisasi Tautan profil kontak RHCP, LHCP, DualRhcpLhcp, LinearVertical, LinearHorizontal Polarisasi tautan yang digunakan untuk kontak.
uplinkEnabled ACU: SBandCurrent atau UHFTotalCurrent • NULL (Arah CenterFrequencyMhz atau Downlink Tidak Valid)
• False (Band selain S dan UHF atau Amp Current < Threshold)
• True (S/UHF-band, Uplink, Amp Current > Threshold)
Menunjukkan apakah uplink diaktifkan untuk kontak.
nama [Tingkat saluran] Saluran tautan profil kontak Nama saluran
modemName Modem Nama perangkat modem
digitizerName Digitizer Nama perangkat digitizer
endpointName Saluran tautan profil kontak Nama titik akhir yang digunakan untuk kontak.
inputEbN0InDb Modem: measuredEbN0 • NULL (Model modem selain QRadio atau QRx)
• Ganda: Input EbN0
Input energi per bit untuk kebisingan kepadatan spektral daya dalam dB.
inputEsN0InDb Modem: measuredEsN0 • NULL (Model modem selain QRx)
• Ganda: Input EsN0
Energi input per simbol ke kepadatan spektral daya kebisingan di dB.
inputRfPowerDbm Digitizer: inputRfPower • NULL (Driver Uplink atau Digitizer selain SNNB atau SNWB)
• Ganda: Input Daya Rf
Input daya RF di dBm.
outputRfPowerDbm Digitizer: outputRfPower • NULL (Driver Downlink atau Digitizer selain SNNB atau SNWB)
• Ganda: Daya Rf Output
Daya RF Ouput di dBm.
outputPacketRate Digitizer: rfOutputStream[0].measuredPacketRate • NULL (Driver Downlink atau Digitizer selain SNNB atau SNWB)
• Ganda: Laju Paket Output
Tingkat paket terukur untuk Uplink
gapCount Digitizer: rfOutputStream[0].gapCount • NULL (Driver Downlink atau Digitizer selain SNNB atau SNWB)
• Ganda: Jumlah kesenjangan
Jumlah kesenjangan paket untuk Uplink
modemLockStatus Modem: carrierLockState • NULL (Model modem selain QRadio atau QRx; tidak dapat mengurai status kunci Enum)
• String kosong (jika pembacaan metrik null)
• String: Status kunci
Konfirmasi bahwa modem dikunci.
commandsSent Modem: commandsSent • NULL (jika bukan Uplink dan QRadio)
• Ganda: # dari perintah yang dikirim
Konfirmasi bahwa perintah dikirim selama kontak.

Konsumen peristiwa

Anda dapat menulis aplikasi konsumen sederhana untuk menerima peristiwa dari Azure Event Hubs Anda menggunakan konsumen peristiwa. Lihat dokumentasi berikut untuk mempelajari cara mengirim dan menerima peristiwa Event Hubs dalam berbagai bahasa:

Changelog

2024-04-17 - Skema yang diperbarui untuk menyertakan kemungkinan NULL untuk TLA, dan menambahkan EsN0 untuk QRX, dan menambahkan blurb tentang bagaimana antena Microsoft mungkin memiliki NULL untuk bidang selama detik pertama kontak. 2023-10-03 - Memperkenalkan versi 4.0. Skema yang diperbarui untuk menyertakan metrik paket uplink dan nama infrastruktur yang digunakan (stasiun darat, antena, pesawat ruang angkasa, modem, digitizer, tautan, saluran)
2023-06-05 - Skema yang diperbarui untuk menampilkan metrik di bawah saluran, bukan tautan.

Langkah berikutnya