Menyambungkan perangkat Azure IoT Edge ke aplikasi Azure IoT Central

Azure IoT Edge memindahkan analitik cloud dan logika bisnis kustom dari cloud ke perangkat Anda. Pendekatan ini memungkinkan solusi cloud Anda berfokus pada wawasan bisnis alih-alih manajemen data. Peluasan skala solusi IoT Anda dengan mengemas logika bisnis Anda ke dalam kontainer standar, maka Anda dapat menyebarkan kontainer tersebut ke salah satu perangkat Anda dan memantau semuanya dari cloud.

Artikel ini menjelaskan:

  • Pola gateway IoT Edge dengan IoT Central.
  • Bagaimana perangkat Azure IoT Edge terhubung ke aplikasi Azure IoT Central.
  • Cara menggunakan Azure IoT Central untuk mengelola perangkat Azure IoT Edge Anda.

Untuk mempelajari selengkapnya tentang Azure IoT Edge, lihat Apa itu Azure IoT Edge?

IoT Edge

Azure IoT Central with Azure IoT Edge

Azure IoT Edge terdiri dari tiga komponen:

  • Modul Azure IoT Edge adalah kontainer yang menjalankan layanan Azure, layanan mitra, atau kode Anda sendiri. Modul disebarkan ke perangkat Azure IoT Edge dan dijalankan secara lokal pada perangkat tersebut. Untuk mempelajari lebih lanjut, lihat Memahami modul Azure IoT Edge.
  • Runtime Azure IoT Edge berjalan pada setiap perangkat Azure IoT Edge dan mengelola modul yang disebarkan ke setiap perangkat. Runtime terdiri dari dua modul Azure IoT Edge: agen IoT Edge danhub IoT Edge. Untuk mempelajari lebih lanjut, lihat Memahami runtime Azure IoT Edge dan arsitekturnya.
  • Antarmuka berbasis cloud memungkinkan Anda memantau dan mengelola perangkat Azure IoT Edge dari jarak jauh. Azure IoT Central merupakan contoh antarmuka cloud.

IoT Central mengaktifkan kemampuan berikut untuk perangkat IoT Edge:

  • Templat perangkat untuk menjelaskan kemampuan perangkat IoT Edge, seperti:
    • Kemampuan mengunggah manifes penyebaran, yang membantu Anda mengelola manifes untuk banyak perangkat.
    • Modul yang berjalan pada perangkat IoT Edge.
    • Telemetri yang dikirim setiap modul.
    • Properti setiap dilaporkan setiap modul.
    • Perintah yang direspons setiap modul.
    • Hubungan antara perangkat gateway IoT Edge dan perangkat hilir.
    • Properti cloud yang tidak tersimpan di perangkat IoT Edge.
    • Kustomisasi yang mengubah cara UI menunjukkan kemampuan perangkat.
    • Tampilan dan formulir perangkat.
  • Kemampuan untuk memprovisikan perangkat IoT Edge dalam skala besar menggunakan layanan provisi perangkat Azure IoT.
  • Aturan dan tindakan.
  • Dasbor dan analitik kustom.
  • Ekspor data telemetri yang berkelanjutan dari perangkat IoT Edge.

Perangkat Azure IoT Edge berupa:

  • Perangkat mandiri yang terdiri dari modul kustom.
  • Perangkat gateway, dengan perangkat hilir yang terhubung ke sana. Perangkat gateway mungkin menyertakan modul kustom.

Perangkat Azure IoT Edge dan Azure IoT Central

Perangkat Azure IoT Edge dapat menggunakan token tanda tangan akses bersama atau sertifikat X.509 untuk mengautentikasi dengan Azure IoT Central. Anda dapat mendaftarkan perangkat Azure IoT Edge Anda secara manual di Azure IoT Central sebelum terhubung untuk pertama kalinya, atau menggunakan Layanan Penyediaan Perangkat untuk menangani pendaftaran. Untuk mempelajari selengkapnya, lihat Cara perangkat tersambung.

Azure IoT Central menggunakan templat perangkat untuk menentukan bagaimana Azure IoT Central berinteraksi dengan perangkat. Misalnya, templat perangkat dapat menentukan:

  • Jenis telemetri dan properti yang dikirim perangkat sehingga Azure IoT Central dapat menafsirkannya dan membuat visualisasi.
  • Perintah yang ditanggapi perangkat sehingga Azure IoT Central dapat menampilkan antarmuk pengguna yang digunakan operator untuk memanggil perintah.

Perangkat Azure IoT Edge dapat mengirim telemetri, menyinkronkan nilai properti, dan merespons perintah dengan cara yang sama seperti perangkat standar. Jadi, perangkat Azure IoT Edge membutuhkan templat perangkat di Azure IoT Central.

Templat perangkat Azure IoT Edge

Templat perangkat Azure IoT Central menggunakan model untuk menggambarkan kemampuan perangkat. Diagram berikut menunjukkan struktur model untuk perangkat Azure IoT Edge:

Structure of model for IoT Edge device connected to IoT Central

Azure IoT Central memodelkan perangkat Azure IoT Edge sebagai berikut:

  • Setiap templat perangkat Azure IoT Edge memiliki model kemampuan.
  • Untuk setiap modul kustom yang tercantum dalam manifes penyebaran, model kemampuan modul dihasilkan.
  • Hubungan terjalin antara setiap model kemampuan modul dan model perangkat.
  • Model kemampuan modul mengimplementasikan satu atau beberapa antarmuka modul.
  • Setiap antarmuka modul berisi telemetri, properti, dan perintah.

Manifes penyebaran Azure IoT Edge dan templat perangkat Azure IoT Central

Di Azure IoT Edge, Anda menyebarkan dan mengelola logika bisnis dalam bentuk modul. Modul Azure IoT Edge merupakan unit komputasi terkecil yang dikelola oleh Azure IoT Edge, dan dapat berisi layanan Azure seperti Azure Stream Analytics, atau kode khusus solusi Anda sendiri.

Manifes penyebaran Azure IoT Edge mencantumkan modul Azure IoT Edge untuk diterapkan pada perangkat dan cara mengonfigurasinya. Untuk mempelajari lebih lanjut, lihat Pelajari cara menerapkan modul dan membuat rute di Azure IoT Edge.

Di Azure IoT Central, Anda mengimpor manifes penyebaran untuk membuat templat perangkat untuk perangkat Azure IoT Edge.

Cuplikan kode berikut menunjukkan contoh manifes penyebaran Azure IoT Edge:

{
  "modulesContent": {
    "$edgeAgent": {
      "properties.desired": {
        "schemaVersion": "1.0",
        "runtime": {
          "type": "docker",
          "settings": {
            "minDockerVersion": "v1.25",
            "loggingOptions": "",
            "registryCredentials": {}
          }
        },
        "systemModules": {
          "edgeAgent": {
            "type": "docker",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-agent:1.0.9",
              "createOptions": "{}"
            }
          },
          "edgeHub": {
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-hub:1.0.9",
              "createOptions": "{}"
            }
          }
        },
        "modules": {
          "SimulatedTemperatureSensor": {
            "version": "1.0",
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0",
              "createOptions": "{}"
            }
          }
        }
      }
    },
    "$edgeHub": {
      "properties.desired": {
        "schemaVersion": "1.0",
        "routes": {
            "route": "FROM /* INTO $upstream"
        },
        "storeAndForwardConfiguration": {
          "timeToLiveSecs": 7200
        }
      }
    },
    "SimulatedTemperatureSensor": {
      "properties.desired": {
           "SendData": true,
           "SendInterval": 10
      }
    }
  }
}

Di cuplikan sebelumnya, Anda dapat melihat:

  • Ada tiga modul. Agen Azure IoT Edge dan modul sistem hub Azure IoT Edge yang hadir dalam setiap manifes penyebaran. Modul SimulatedTemperatureSensor kustom.
  • Gambar modul publik diambil dari repositori Azure Container Registry yang tidak memerlukan informasi masuk apa pun untuk terhubung. Untuk gambar modul pribadi, atur informasi masuk registri kontainer untuk digunakan dalam registryCredentials pengaturan untuk modul agen Azure IoT Edge.
  • Modul SimulatedTemperatureSensor kustom memiliki dua properti "SendData": true dan "SendInterval": 10.

Saat Anda mengimpor manifes penyebaran ini ke dalam aplikasi Azure IoT Central, akan menghasilkan templat perangkat berikut:

Screenshot showing the device template created from the deployment manifest.

Di tangkapan layar sebelumnya Anda dapat melihat:

  • Modul yang disebut SimulatedTemperatureSensor. Agen Azure IoT Edgedan modul sistem hub Azure IoT Edge tidak muncul di templat.
  • Antarmuka yang disebut manajemen yang mencakup dua properti dapat ditulis yang disebut SendData dan SendInterval.

Manifes penyebaran tidak menyertakan informasi tentang telemetri yang dikirim modul SimulatedTemperatureSensor atau perintah yang ditanggapinya. Tambahkan definisi ini ke templat perangkat secara manual sebelum Anda menerbitkannya.

Untuk mempelajari lebih lanjut, lihat Tutorial: Menambahkan perangkat Azure IoT Edge ke aplikasi Azure IoT Central.

Perbarui manifes penyebaran

Saat Anda mengganti manifes penyebaran, perangkat Azure IoT Edge yang terhubung mengunduh manifes baru dan memperbarui modulnya. Namun, Azure IoT Central tidak memperbarui antarmuka dalam templat perangkat dengan perubahan apa pun pada konfigurasi modul. Misalnya, jika mengganti manifes yang ditampilkan di cuplikan sebelumnya dengan manifes berikut, Secara otomatis, Anda tidak melihat properti SendUnits di antarmuka manajemen di templat perangkat. Tambahkan properti baru secara manual ke antarmuka manajemen untuk Azure IoT Central untuk mengenalinya:

{
  "modulesContent": {
    "$edgeAgent": {
      "properties.desired": {
        "schemaVersion": "1.0",
        "runtime": {
          "type": "docker",
          "settings": {
            "minDockerVersion": "v1.25",
            "loggingOptions": "",
            "registryCredentials": {}
          }
        },
        "systemModules": {
          "edgeAgent": {
            "type": "docker",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-agent:1.0.9",
              "createOptions": "{}"
            }
          },
          "edgeHub": {
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-hub:1.0.9",
              "createOptions": "{}"
            }
          }
        },
        "modules": {
          "SimulatedTemperatureSensor": {
            "version": "1.0",
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0",
              "createOptions": "{}"
            }
          }
        }
      }
    },
    "$edgeHub": {
      "properties.desired": {
        "schemaVersion": "1.0",
        "routes": {
            "route": "FROM /* INTO $upstream"
        },
        "storeAndForwardConfiguration": {
          "timeToLiveSecs": 7200
        }
      }
    },
    "SimulatedTemperatureSensor": {
      "properties.desired": {
           "SendData": true,
           "SendInterval": 10,
           "SendUnits": "Celsius"
      }
    }
  }
}

IoT Edge pola gateway

IoT Central mendukung pola perangkat IoT Edge berikut:

IoT Edge sebagai gateway transparan

Perangkat hilir terhubung ke IoT Central melalui gateway dengan identitas mereka sendiri.

IoT Edge as transparent gateway

Perangkat IoT Edge diprovisikan di IoT Central bersama dengan perangkat hilir yang terhubung ke perangkat IoT Edge. Dukungan runtime untuk memprovisikan perangkat hilir melalui gateway saat ini tidak didukung.

Modul hub IoT Edge berperilaku seperti IoT Central dan menangani koneksi dari perangkat yang terdaftar di IoT Central. Pesan diteruskan dari perangkat hilir ke Azure IoT Central seolah-olah tidak ada gateway di antara mereka. Di gateway transparan, Anda tidak dapat menggunakan modul kustom untuk memanipulasi pesan dari perangkat hilir.

Catatan

IoT Central saat ini tidak mendukung koneksi perangkat IoT Edge sebagai perangkat hilir ke gateway transparan IoT Edge. Ini karena semua perangkat yang terhubung ke IoT Central tersedia menggunakan Device Provisioning Service (DPS) dan DPS saat ini tidak mendukung skenario IoT Edge berlapis.

IoT Edge sebagai gateway terjemahan protokol

Pola ini memungkinkan Anda menghubungkan perangkat yang tidak dapat menggunakan protokol apa pun yang didukung IoT Central.

IoT Edge as protocol translation gateway

Perangkat IoT Edge disediakan di IoT Central dan telemetri apa pun dari perangkat hilir Anda dinyatakan berasal dari perangkat IoT Edge. Perangkat hilir yang terhubung ke perangkat IoT Edge tidak diprovisikan di IoT Central.

IoT Edge sebagai gateway terjemahan identitas

Perangkat hilir tersambung ke modul di gateway yang menyediakan identitas perangkat IoT Central untuk mereka.

IoT Edge as identity translation gateway

Perangkat IoT Edge diprovisikan di IoT Central bersama dengan perangkat hilir yang terhubung ke perangkat IoT Edge. Saat ini, IoT Central tidak memiliki dukungan runtime untuk gateway guna memberikan identitas dan memprovisikan perangkat hilir. Jika Anda membawa modul terjemahan identitas Anda sendiri, IoT Central dapat mendukung pola ini.

Modul gateway Azure IoT Central untuk Azure Video Analyzer di GitHub menggunakan pola ini.

Hubungan perangkat hilir dengan gateway dan modul

Jika perangkat hilir tersambung ke perangkat gateway IoT Edge melalui modul hub IoT Edge, perangkat IoT Edge adalah gateway transparan:

Diagram of transparent gateway

Jika perangkat hilir tersambung ke perangkat gateway IoT Edge melalui modul kustom, perangkat IoT Edge adalah gateway terjemahan. Dalam contoh berikut, perangkat hilir terhubung melalui modul kustom Modbus yang melakukan terjemahan protokol:

Diagram of custom module connection

Diagram berikut menunjukkan koneksi ke perangkat gateway Azure IoT Edge melalui kedua jenis modul. Dalam skenario ini, perangkat Azure IoT Edge adalah gateway terjemahan dan transparan:

Diagram of connecting using both connection modules

Perangkat hilir dapat terhubung ke perangkat gateway Azure IoT Edge melalui beberapa modul kustom. Diagram berikut menunjukkan perangkat hilir yang terhubung melalui modul kustom Modbus, modul kustom BLE, dan modul hub IoT Edge:

Diagram of connecting using multiple custom modules

Untuk mempelajari lebih lanjut tentang pola gateway Azure IoT Edge, lihat Bagaimana perangkat Azure IoT Edge dapat digunakan sebagai gateway.

Sebarkan runtime Azure IoT Edge

Untuk mempelajari di mana Anda dapat menjalankan runtime Azure IoT Edge, lihat sistem yang didukung Azure IoT Edge.

Anda juga dapat menginstal runtime Azure IoT Edge di lingkungan berikut:

Memantau perangkat IoT Edge Anda

Untuk mempelajari cara memantau armada IoT Edge Anda dari jarak jauh, lihat Mengumpulkan dan mengangkut metrik.

Langkah berikutnya

Langkah selanjutnya yang disarankan adalah mempelajari cara Mengembangkan modul Azure IoT Edge Anda sendiri.