Apa itu templat perangkat?

Templat perangkat di Azure IoT Central adalah cetak biru yang menentukan karakteristik dan perilaku jenis perangkat yang terhubung ke aplikasi Anda. Misalnya, templat perangkat menentukan telemetri yang dikirim perangkat sehingga IoT Central dapat membuat visualisasi yang menggunakan unit dan Jenis data yang benar.

Penyusun solusi menambahkan templat perangkat ke aplikasi IoT Central. Pengembang perangkat menulis kode perangkat yang menerapkan perilaku yang ditentukan dalam templat perangkat. Untuk mempelajari selengkapnya tentang data yang ditukar perangkat dengan IoT Central, lihat Payload telemetri, properti, dan perintah.

Templat perangkat menyertakan bagian berikut:

  • Model perangkat. Bagian templat perangkat ini menentukan cara perangkat berinteraksi dengan aplikasi Anda. Setiap model perangkat memiliki ID unik. Pengembang perangkat menerapkan perilaku yang ditentukan dalam model.
    • Komponen root. Setiap model perangkat memiliki komponen root. Antarmuka komponen root menjelaskan kemampuan yang spesifik untuk model perangkat itu.
    • Komponen. Model perangkat dapat menyertakan komponen selain komponen root untuk menjelaskan kemampuan perangkat tersebut. Setiap komponen memiliki antarmuka yang menjelaskan kemampuan komponen. Antarmuka komponen dapat digunakan kembali di model perangkat lain. Misalnya, beberapa model perangkat telepon dapat menggunakan antarmuka kamera yang sama.
    • Antarmuka yang diwariskan. Model perangkat berisi satu atau lebih antarmuka yang memperluas kemampuan komponen root.
  • Tampilan. Bagian templat perangkat ini memungkinkan pengembang solusi menentukan visualisasi untuk melihat data dari perangkat, dan formulir untuk mengelola dan mengontrol perangkat. Tampilan tidak memengaruhi kode yang ditulis pengembang perangkat untuk menerapkan model perangkat.

Menetapkan perangkat ke templat perangkat

Agar perangkat berinteraksi dengan IoT Central, perangkat harus ditetapkan ke templat perangkat. Penugasan ini dilakukan dengan salah satu dari empat cara:

  • Saat Mendaftarkan perangkat di halaman Perangkat , Anda dapat mengidentifikasi templat yang harus digunakan perangkat.
  • Saat mengimpor daftar perangkat secara massal, Anda dapat memilih templat perangkat semua perangkat dalam daftar yang harus digunakan.
  • Anda dapat menetapkan perangkat yang tidak ditetapkan secara manual ke templat perangkat setelah tersambung.
  • Anda dapat secara otomatis menetapkan perangkat ke templat perangkat dengan mengirim ID model saat perangkat pertama kali terhubung ke aplikasi Anda.

Penetapan otomatis

IoT Central dapat secara otomatis menetapkan perangkat ke templat perangkat saat perangkat tersambung. Perangkat harus mengirim ID model saat tersambung. IoT Central menggunakan ID model untuk mengidentifikasi templat perangkat untuk model perangkat tertentu. Proses penemuan bekerja sebagai berikut:

  1. Jika templat perangkat sudah diterbitkan di aplikasi IoT Central, perangkat ditetapkan ke templat perangkat.

  2. Jika templat perangkat belum diterbitkan di aplikasi IoT Central, IoT Central mencari model perangkat di repositori model perangkat publik. Jika IoT Central menemukan model, IoT Central menggunakannya untuk menghasilkan templat perangkat dasar.

  3. Jika IoT Central tidak menemukan model di repositori model publik, perangkat ditandai sebagai Tidak Ditetapkan. Operator dapat:

    • Buat templat perangkat untuk perangkat lalu migrasikan perangkat yang tidak ditetapkan ke templat perangkat baru.
    • Buat templat perangkat secara otomatis berdasarkan data yang dikirim perangkat.

Cuplikan layar berikut ini memperlihatkan kepada Anda cara melihat ID model templat perangkat di IoT Central. Di templat perangkat, pilih komponen, lalu pilih Edit identitas:

Cuplikan layar memperlihatkan ID model dalam templat perangkat termostat.

Anda dapat melihat model termostat di repositori model publik. Definisi ID model terlihat seperti:

"@id": "dtmi:com:example:Thermostat;1"

Gunakan payload DPS berikut untuk menetapkan perangkat ke templat perangkat:

{
  "modelId":"dtmi:com:example:TemperatureController;2"
}

Untuk mempelajari selengkapnya tentang payload DPS, lihat kode sampel yang digunakan dalam Tutorial: Membuat dan menyambungkan aplikasi klien ke aplikasi Azure IoT Central Anda.

Model perangkat

Model perangkat menentukan cara perangkat berinteraksi dengan aplikasi IoT Central Anda. Pengembang perangkat harus memastikan bahwa perangkat menerapkan perilaku yang ditentukan dalam model perangkat sehingga IoT Central dapat memantau dan mengelola perangkat. Model perangkat terdiri dari satu antarmuka atau lebih,dan setiap antarmuka dapat menentukan koleksi jenis telemetri, properti perangkat, dan perintah. Pengembang solusi dapat:

  • Impor file JSON yang menentukan model perangkat lengkap atau antarmuka individual ke dalam templat perangkat.
  • Gunakan UI web di IoT Central untuk membuat atau mengedit model perangkat.

Catatan

IoT Central menerima payload JSON yang valid dari perangkat tetapi hanya dapat menggunakan data untuk visualisasi jika cocok dengan definisi dalam model perangkat. Anda dapat mengekspor data yang tidak cocok dengan definisi, lihat Mengekspor data IoT ke tujuan cloud menggunakan Blob Storage.

Untuk mempelajari selengkapnya tentang mengedit model perangkat, lihat Mengedit templat perangkat yang sudah ada

Pengembang solusi juga dapat mengekspor file JSON dari templat perangkat yang berisi model perangkat lengkap atau antarmuka individual. Pengembang perangkat dapat menggunakan dokumen JSON ini untuk memahami bagaimana perangkat harus berkomunikasi dengan aplikasi IoT Central.

File JSON yang mendefinisikan model perangkat menggunakan Digital Twin Definition Language (DTDL) V2. IoT Central mengharapkan file JSON berisi model perangkat dengan antarmuka yang ditentukan dalam barisan, bukan dalam file terpisah. Model yang dibuat di IoT Central memiliki konteks dtmi:iotcentral:context;2 yang ditentukan untuk menunjukkan bahwa model dibuat di IoT Central:

"@context": [
  "dtmi:iotcentral:context;2",
  "dtmi:dtdl:context;2"
]

Untuk mempelajari selengkapnya tentang model DTDL, lihat panduan pemodelan IoT Plug and Play.

Catatan

IoT Central mendefinisikan beberapa ekstensi ke bahasa DTDL v2. Untuk mempelajari lebih lanjut, lihat Ekstensi IoT Central.

Properti

Secara default, properti memiliki fitur baca-saja. Properti baca-saja berarti perangkat melaporkan pembaruan nilai properti ke aplikasi IoT Central Anda. Aplikasi IoT Central Anda tidak dapat menetapkan nilai properti baca-saja.

Pada antarmuka Anda juga dapat menandai properti menjadi bisa-tulis. Perangkat dapat menerima pembaruan ke properti bisa-tulis dari aplikasi IoT Central Anda dan melaporkan pembaruan nilai properti ke aplikasi Anda.

Perangkat tidak perlu tersambung untuk mengatur nilai properti. Nilai yang diperbarui ditransfer ketika perangkat berikutnya terhubung ke aplikasi. Perilaku ini berlaku untuk properti baca-saja dan bisa-tulis.

Jangan gunakan properti untuk mengirim telemetri dari perangkat Anda. Misalnya, properti yang mudah seperti temperatureSetting=80 harus berarti bahwa suhu perangkat telah diatur ke 80, dan perangkat mencoba untuk sampai ke, atau tinggal di, suhu ini.

Untuk properti bisa-tulis, aplikasi perangkat mengembalikan kondisi kode status, versi, dan deskripsi yang diinginkan untuk menunjukkan apakah aplikasi menerima dan menerapkan nilai properti.

Properti cloud

Anda juga dapat menambahkan properti cloud ke komponen akar model. Properti cloud memungkinkan Anda menentukan metadata perangkat apa pun untuk disimpan di aplikasi IoT Central. Nilai properti cloud disimpan di aplikasi IoT Central dan tidak pernah disinkronkan dengan perangkat. Properti cloud tidak memengaruhi kode yang ditulis pengembang perangkat untuk menerapkan model perangkat.

Pengembang solusi dapat menambahkan properti cloud ke formulir dan tampilan bersama properti perangkat untuk memungkinkan operator mengelola perangkat yang terhubung ke aplikasi. Pengembang solusi juga dapat menggunakan properti cloud sebagai bagian dari definisi aturan untuk membuat nilai ambang batas yang dapat diedit oleh operator.

Cuplikan DTDL berikut menunjukkan contoh definisi properti cloud:

{
    "@id": "dtmi:azureiot:Thermostat:CustomerName",
    "@type": [
        "Property",
        "Cloud",
        "StringValue"
    ],
    "displayName": {
        "en": "Customer Name"
    },
    "name": "CustomerName",
    "schema": "string"
}

telemetri

IoT Central memungkinkan Anda melihat telemetri di tampilan dan bagan perangkat, serta menggunakan aturan untuk memicu tindakan saat mencapai ambang batas. IoT Central menggunakan informasi dalam model perangkat, seperti jenis data, unit, dan nama tampilan, untuk menentukan cara menampilkan nilai telemetri. Anda juga dapat menampilkan nilai telemetri pada aplikasi dan dasbor pribadi.

Anda dapat menggunakan fitur ekspor data IoT Central untuk mengalirkan telemetri ke tujuan lain seperti penyimpanan atau Pusat Aktivitas.

Perintah

Perintah harus dijalankan dalam 30 detik secara default, dan perangkat harus terhubung saat perintah tiba. Hanya jika perangkat merespons tepat waktu, jika perangkat tidak terhubung, maka perintah akan gagal.

Perintah dapat memiliki parameter permintaan dan mengembalikan respons.

Perintah offline

Anda dapat memilih perintah antrean jika perangkat sedang offline dengan mengaktifkan opsi Antrean jika offline untuk perintah di templat perangkat.

Perintah offline adalah pemberitahuan satu arah ke perangkat dari solusi Anda. Perintah offline dapat memiliki parameter permintaan tetapi tidak dapat mengembalikan respons.

Catatan

Perintah offline ditandai seolah-olah durable Anda mengekspor model sebagai DTDL.

Perintah offline menggunakan pesan cloud-ke-perangkat IoT Hub untuk mengirim perintah dan payload ke perangkat.

Payload pesan yang diterima perangkat adalah nilai mentah parameter. Properti kustom yang disebut method-name menyimpan nama perintah IoT Central. Tabel berikut ini memperlihatkan beberapa contoh payload:

Skema permintaan IoT Central Contoh payload yang diterima oleh perangkat
Tidak ada parameter permintaan @
Laju 1.23
String sample string
Objek {"StartTime":"2021-01-05T08:00:00.000Z","Bank":2}

Cuplikan berikut dari model perangkat memperlihatkan definisi perintah. Perintah memiliki parameter objek dengan bidang datetime dan enumerasi:

{
  "@type": "Command",
  "displayName": {
    "en": "Generate Diagnostics"
  },
  "name": "GenerateDiagnostics",
  "request": {
    "@type": "CommandPayload",
    "displayName": {
      "en": "Payload"
    },
    "name": "Payload",
    "schema": {
      "@type": "Object",
      "displayName": {
        "en": "Object"
      },
      "fields": [
        {
          "displayName": {
            "en": "StartTime"
          },
          "name": "StartTime",
          "schema": "dateTime"
        },
        {
          "displayName": {
            "en": "Bank"
          },
          "name": "Bank",
          "schema": {
            "@type": "Enum",
            "displayName": {
              "en": "Enum"
            },
            "enumValues": [
              {
                "displayName": {
                  "en": "Bank 1"
                },
                "enumValue": 1,
                "name": "Bank1"
              },
              {
                "displayName": {
                  "en": "Bank2"
                },
                "enumValue": 2,
                "name": "Bank2"
              },
              {
                "displayName": {
                  "en": "Bank3"
                },
                "enumValue": 3,
                "name": "Bank3"
              }
            ],
            "valueSchema": "integer"
          }
        }
      ]
    }
  }
}

Jika Anda mengaktifkan opsi Antrean jika offline di UI templat perangkat untuk perintah di cuplikan sebelumnya, maka pesan yang diterima perangkat menyertakan properti berikut:

Nama properti Contoh nilai
custom_properties {'method-name': 'GenerateDiagnostics'}
data {"StartTime":"2021-01-05T08:00:00.000Z","Bank":2}

Tampilan

Pengembang solusi membuat tampilan yang memungkinkan operator memantau dan mengelola perangkat yang terhubung. Tampilan merupakan bagian dari templat perangkat, sehingga tampilan dikaitkan dengan jenis perangkat tertentu. Tampilan dapat mencakup:

  • Bagan untuk memplot telemetri.
  • Petak untuk menampilkan properti perangkat baca-saja.
  • Petak peta untuk memungkinkan operator mengedit properti perangkat bisa-tulis.
  • Petak peta untuk memungkinkan operator mengedit properti cloud.
  • Petak untuk memungkinkan perintah panggilan operator, termasuk perintah yang mengharapkan muatan.
  • Petak untuk menampilkan label, gambar, atau teks markdown.

Langkah berikutnya

Sekarang setelah Anda mempelajari tentang templat perangkat, langkah selanjutnya yang disarankan adalah membaca Payload telemetri, properti, dan perintah untuk mempelajari lebih lanjut tentang data yang ditukar perangkat dengan IoT Central.