Tutorial: Mengembangkan modul IoT Edge menggunakan kontainer Windows

Berlaku untuk:yes icon IoT Edge 1.1

Gunakan Visual Studio untuk mengembangkan dan menerapkan kode ke perangkat Windows yang menjalankan IoT Edge.

Catatan

IoT Edge 1.1 LTS adalah saluran rilis terakhir yang mendukung kontainer Windows. Mulai versi 1.2, kontainer Windows tidak lagi didukung. Pertimbangkan untuk menggunakan atau beralih ke IoT Edge untuk Linux di Windows untuk menjalankan IoT Edge di perangkat Windows.

Tutorial ini berjalan melalui apa yang diperlukan untuk mengembangkan dan menyebarkan kode Anda sendiri ke perangkat IoT Edge. Tutorial ini adalah prasyarat yang berguna untuk tutorial lain, yang masuk ke lebih detail tentang bahasa pemrograman tertentu atau layanan Azure.

Tutorial ini menggunakan contoh penyebaran modul C# ke perangkat Windows. Contoh ini dipilih karena ini skenario pengembangan yang paling umum. Jika Anda tertarik untuk mengembangkan dalam bahasa yang berbeda, atau berencana untuk menyebarkan layanan Azure sebagai modul, tutorial ini akan tetap membantu untuk mempelajari tentang alat pengembangan. Setelah Anda memahami konsep pengembangan, maka Anda dapat memilih bahasa pilihan Anda atau layanan Azure untuk menyelami detailnya.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Siapkan komputer pengembangan Anda.
  • Gunakan alat IoT Edge untuk Visual Studio untuk membuat proyek baru.
  • Buat proyek Anda sebagai kontainer dan simpan dalam registri kontainer Azure.
  • Sebarkan kode Anda ke perangkat Azure IoT Edge.

Prasyarat

Komputer pengembangan:

  • Windows 10 dengan pembaruan 1809 atau yang lebih baru.
  • Anda dapat menggunakan komputer Anda sendiri atau komputer virtual, tergantung pada preferensi pengembangan Anda.
    • Pastikan komputer pengembangan Anda mendukung virtualisasi berlapis. Kemampuan ini diperlukan untuk menjalankan komputer kontainer, yang Anda instal di bagian berikutnya.
  • Instal Git.

Perangkat Azure IoT Edge di Windows:

  • Instal dan kelola Azure IoT Edge dengan kontainer Windows.
  • Kami menyarankan agar Anda tidak menjalankan IoT Edge pada komputer pengembangan Anda, tetapi menggunakan perangkat terpisah jika memungkinkan. Perbedaan antara komputer pengembangan dan perangkat IoT Edge ini lebih akurat mencerminkan skenario penyebaran yang sebenarnya, dan membantu menjaga konsep yang berbeda tetap lurus.

Sumber daya cloud:

  • Hub IoT tingkat standar atau gratis di Azure.

Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

Konsep utama

Tutorial ini berjalan melalui pengembangan modul IoT Edge. Modul IoT Edge, atau disebut juga modul saja, singkatnya, adalah kontainer yang berisi kode yang dapat dieksekusi. Anda dapat menyebarkan satu atau beberapa modul ke perangkat IoT Edge. Modul melakukan tugas tertentu seperti menelan data dari sensor, melakukan analisis data atau operasi pembersihan data, atau mengirim pesan ke hub IoT. Untuk informasi selengkapnya, lihat Memahami modul Azure IoT Edge.

Saat mengembangkan modul Azure IoT Edge, penting untuk memahami perbedaan antara komputer pengembangan dan perangkat Azure IoT Edge target tempat modul nantinya akan disebarkan. Kontainer yang Anda buat untuk menahan kode modul Anda harus sesuai dengan sistem operasi (OS) perangkat target. Untuk pengembangan kontainer Windows, konsep ini lebih sederhana karena kontainer Windows hanya berjalan pada sistem operasi Windows. Tetapi Anda bisa, misalnya, menggunakan komputer pengembangan Windows Anda untuk membangun modul untuk perangkat Linux IoT Edge. Dalam skenario itu, Anda harus memastikan bahwa komputer pengembangan Anda menjalankan kontainer Linux. Saat Anda melalui tutorial ini, perlu diingat perbedaan antara OS komputer pengembangan dan OS kontainer.

Tutorial ini menargetkan perangkat Windows yang menjalankan IoT Edge. Perangkat Windows IoT Edge menggunakan kontainer Windows. Sebaiknya gunakan Visual Studio untuk mengembangkan perangkat Windows, jadi itulah yang akan digunakan tutorial ini. Anda juga dapat menggunakan Kode Visual Studio, meskipun ada perbedaan dalam dukungan di antara kedua alat.

Tabel berikut mencantumkan skenario pengembangan yang didukung untuk kontainer Windows di Visual Studio Code dan Visual Studio.

Visual Studio Code Visual Studio 2017/2019
Layanan Azure Azure Functions
Azure Stream Analytics
Bahasa C# (pen-debug-an tidak didukung) C
C#
Informasi selengkapnya Azure IoT Edge untuk Visual Studio Code Alat Azure IoT Edge untuk Visual Studio 2017
Azure IoT Edge Tools untuk Visual Studio 2019

Pasang komputer kontainer

Modul IoT Edge dikemas sebagai kontainer, sehingga Anda memerlukan komputer kontainer pada komputer pengembangan Anda untuk membangun dan mengelola kontainer. Sebaiknya gunakan Docker Desktop untuk pengembangan karena banyak fitur dan popularitasnya sebagai komputer kontainer. Dengan Docker Desktop di komputer Windows, Anda dapat beralih antara kontainer Linux dan kontainer Windows sehingga Anda dapat dengan mudah mengembangkan modul untuk berbagai jenis perangkat IoT Edge.

Gunakan dokumentasi Docker untuk menginstal pada komputer pengembangan Anda:

Menyiapkan Visual Studio dan alat

Ekstensi IoT untuk Visual Studio membantu Anda mengembangkan modul IoT Edge. Ekstensi ini menyediakan template proyek, mengotomatiskan pembuatan manifes penyebaran, dan memungkinkan Anda untuk memantau dan mengelola perangkat IoT Edge. Di bagian ini, Anda menginstal Visual Studio dan ekstensi IoT Edge, lalu menyiapkan akun Azure Anda untuk mengelola sumber daya IoT Hub dari dalam Visual Studio.

Tutorial ini mengajarkan langkah-langkah pengembangan untuk Visual Studio 2019. Jika Anda menggunakan Visual Studio 2017 (versi 15.7 atau lebih tinggi), langkah-langkahnya serupa. Jika Anda lebih suka menggunakan Kode Visual Studio, lihat instruksi dalam Menggunakan Visual Studio Code untuk mengembangkan dan men-debug modul untuk Azure IoT Edge.

  1. Siapkan Visual Studio 2019 di komputer pengembangan Anda.

    • Jika Anda belum memiliki Visual Studio di komputer pengembangan, Instal Visual Studio 2019 dengan beban kerja berikut:

      • Pengembangan Azure
      • Pengembangan desktop dengan C++
      • Pengembangan lintas platform inti .NET
    • Jika Anda sudah memiliki Visual Studio 2019 di komputer pengembangan, ikuti langkah-langkah di Modifikasi Visual Studio untuk menambahkan beban kerja yang diperlukan.

  2. Unduh dan instal ekstensi Azure IoT Edge Tools untuk Visual Studio 2019.

    Jika Anda menggunakan Visual Studio 2017 (versi 15.7 atau lebih tinggi), unduh dan instal Azure IoT Edge Tools untuk Visual Studio 2017.

  3. Setelah instalasi selesai, buka Visual Studio 2019 dan pilih Lanjutkan tanpa kode.

  4. Pilih Tampilkan>Cloud Explorer.

  5. Pilih ikon profil di cloud explorer dan masuk ke akun Azure Anda jika Anda belum masuk.

  6. Setelah Masuk, langganan Azure Anda dicantumkan. Perluas langganan yang memiliki hub IoT Anda.

  7. Di bawah langganan Anda, luaskan Hub IoT lalu hub IoT Anda. Anda akan melihat daftar perangkat IoT Anda, dan dapat menggunakan penjelajah ini untuk mengelolanya.

    Access IoT Hub resources in Cloud Explorer

Membuat registri kontainer

Dalam tutorial ini, Anda menggunakan ekstensi Alat Azure IoT untuk membangun modul dan membuat gambar kontainer dari file. Kemudian Anda mendorong gambar ini ke registri yang menyimpan dan mengelola gambar Anda. Terakhir, Anda menyebarkan gambar dari registri untuk berjalan di perangkat Azure IoT Edge Anda.

Anda dapat menggunakan registri yang kompatibel dengan Docker untuk menahan gambar kontainer Anda. Dua layanan registri Docker populer adalah Azure Container Registry dan Docker Hub. Tutorial ini menggunakan Azure Container Registry.

Jika Anda belum memiliki registri kontainer, ikuti langkah-langkah ini untuk membuat yang baru di Azure:

  1. Dalam portal Microsoft Azure, pilih Buat sumber daya>Kontainer>Registri Kontainer.

  2. Berikan nilai berikut untuk membuat registri kontainer Anda:

    Bidang Nilai
    Langganan Pilih langganan dari daftar menurun.
    Grup sumber daya Kami menyarankan agar Anda menggunakan grup sumber daya yang sama untuk semua sumber daya pengujian yang Anda buat selama mulai cepat dan tutorial Azure IoT Edge. Misalnya, IoTEdgeResources.
    Nama registri Berikan nama yang unik.
    Lokasi Pilih lokasi yang dekat dengan Anda.
    SKU Pilih Dasar.
  3. Pilih Buat.

  4. Pilih registri kontainer yang baru dibuat dari bagian Sumber Daya di halaman beranda portal Azure Anda untuk membukanya.

  5. Di panel kiri registri kontainer Anda, pilih Kunci akses dari menu yang terletak di bawah Pengaturan.

    Screenshot of the Access Keys menu location.

  6. Aktifkan pengguna Admin dengan tombol alih dan lihat Nama Pengguna dan Kata Sandi untuk registri kontainer Anda.

  7. Salin nilai untuk Server masuk, Nama Pengguna, dan kata sandi dan simpan di tempat yang nyaman. Anda menggunakan nilai-nilai ini di seluruh tutorial untuk menyediakan akses ke registri kontainer.

Membuat proyek modul baru

Ekstensi Azure IoT Edge Tools menyediakan templat proyek untuk semua bahasa modul IoT Edge yang didukung di Visual Studio. Template ini memiliki semua file dan kode yang Anda butuhkan untuk menggunakan modul kerja untuk menguji IoT Edge, atau memberi Anda titik awal untuk menyesuaikan template dengan logika bisnis Anda sendiri.

  1. Pilih File>Baru>Proyek...

  2. Di jendela proyek baru, cari IoT Edge dan pilih proyek Azure IoT Edge (Windows amd64) . Klik Berikutnya.

    Create a new Azure IoT Edge project

  3. Di jendela konfigurasikan proyek baru Anda, ganti nama proyek dan solusi untuk sesuatu yang deskriptif seperti CSharpTutorialApp. Klik Buat untuk membuat proyek.

    Configure a new Azure IoT Edge project

  4. Di jendela Tambahkan Modul, konfigurasikan project Anda dengan nilai berikut:

    Bidang Nilai
    Templat Visual Studio Pilih Modul C# .
    Nama Modul Terima IotEdgeModule1 default.
    URL repositori Repositori gambar mencakup nama registri kontainer dan nama gambar kontainer Anda. Gambar kontainer Anda telah diisi dengan nilai nama proyek modul. Ganti localhost:5000 dengan nilai Server masuk dari registri kontainer Azure Anda. Anda dapat mengambil nilai server Masuk dari halaman Gambaran Umum registri kontainer di portal Microsoft Azure.

    Repositori gambar akhir terlihat seperti <nama> registri.azurecr.io/iotedgemodule1.

    Configure your project for target device, module type, and container registry

  5. Pilih Tambahkan untuk membuat modul.

Setelah project baru Anda dimuat di jendela Visual Studio, luangkan waktu sejenak untuk membiasakan diri dengan file yang dibuatnya:

  • Proyek IoT Edge yang disebut CSharpTutorialApp.
    • Folder Modul berisi penunjuk ke modul yang disertakan dalam project. Dalam hal ini, seharusnya hanya IotEdgeModule1.
    • File .env tersembunyi menyimpan informasi masuk ke registri kontainer Anda. informasi masuk ini dibagikan dengan perangkat IoT Edge Anda sehingga memiliki akses untuk menarik gambar kontainer.
    • File deployment.template.json adalah templat untuk membantu Anda membuat manifes penyebaran. Manifes penyebaran adalah file yang menentukan dengan tepat modul mana yang ingin Anda terapkan di perangkat, bagaimana mereka harus dikonfigurasi, dan bagaimana mereka dapat berkomunikasi satu sama lain dan cloud.

      Tip

      Di bagian informasi masuk registri, alamat diisi otomatis dari informasi yang Anda berikan saat Anda membuat solusi. Namun, variabel referensi nama pengguna dan kata sandi yang disimpan dalam file .env. Ini untuk keamanan, karena file .env diabaikan git, tetapi template penyebaran tidak.

  • Proyek modul IoT Edge yang disebut IotEdgeModule1.
    • File program.cs berisi kode modul C# default yang dilengkapi dengan template proyek. Modul default mengambil input dari sumber dan meneruskannya ke IoT Hub.
    • File module.json memiliki detail tentang modul, termasuk repositori gambar penuh, versi gambar, dan yang Dockerfile untuk digunakan untuk setiap platform yang didukung.

Menetapkan versi runtime IoT Edge

Ekstensi Azure IoT Edge default ke versi stabil terbaru dari runtime IoT Edge saat membuat aset penyebaran Anda. Saat ini, versi stabil terbaru adalah versi 1.2.

Kontainer Windows hanya didukung dalam versi dukungan jangka panjang 1.1 atau versi 1.0 sebelumnya. Untuk mengembangkan modul untuk perangkat yang menggunakan kontainer Windows, perbarui versi runtime IoT Edge di Visual Studio agar sesuai dengan versi IoT Edge pada perangkat tersebut.

  1. Di Penjelajah Solusi, klik kanan nama proyek Anda dan pilih Tetapkan versi runtime IoT Edge.

    Right-click your project name and select set IoT Edge runtime version.

  2. Gunakan menu drop-down untuk memilih versi runtime yang dijalankan perangkat IoT Edge Anda, lalu pilih OK untuk menyimpan perubahan Anda.

  3. Buat kembali manifes penyebaran Anda dengan versi waktu proses yang baru. Klik kanan nama proyek Anda dan pilih Buat penyebaran untuk IoT Edge.

Berikan informasi masuk registri Anda kepada agen IoT Edge

Runtime IoT Edge memerlukan informasi masuk registri Anda untuk menarik gambar kontainer Anda ke perangkat IoT Edge. Ekstensi IoT Edge mencoba menarik informasi registri kontainer Anda dari Azure dan mengisinya dalam templat penyebaran.

  1. Buka file deployment.template.json di solusi modul Anda.

  2. Temukan properti registryCredentials di $edgeAgent yang diinginkan. Ini harus memiliki alamat registri Anda diisi otomatis dari informasi yang Anda berikan saat membuat proyek, dan kemudian bidang nama pengguna dan kata sandi harus berisi nama variabel. Contohnya:

    "registryCredentials": {
      "<registry name>": {
        "username": "$CONTAINER_REGISTRY_USERNAME_<registry name>",
        "password": "$CONTAINER_REGISTRY_PASSWORD_<registry name>",
        "address": "<registry name>.azurecr.io"
      }
    }
    
  3. Buka file .env di solusi modul Anda. (Ini disembunyikan secara default di Penjelajah Solusi, jadi Anda mungkin perlu memilih tombol Perlihatkan Semua File untuk menampilkannya.)

  4. Tambahkan nilai Nama Pengguna dan Kata Sandi yang Anda salin dari registri kontainer Azure Anda.

  5. Simpan perubahan Anda ke file ENV.

Catatan

Tutorial ini menggunakan kredensial masuk admin untuk Azure Container Registry, yang memudahkan pengembangan dan pengujian skenario. Saat Anda siap untuk skenario produksi, kami merekomendasikan opsi autentikasi dengan hak paling rendah seperti perwakilan layanan. Untuk informasi selengkapnya, lihat Mengelola akses ke registri kontainer Anda.

Meninjau kode sampel

Templat solusi yang Anda buat menyertakan kode sampel untuk modul Azure IoT Edge. Modul sampel ini hanya menerima pesan dan kemudian meneruskannya. Fungsionalitas alur menunjukkan konsep penting di Azure IoT Edge, yaitu bagaimana modul berkomunikasi satu sama lain.

Setiap modul dapat memiliki beberapa antrean input dan output yang dideklarasikan dalam kode modul. Hub Azure IoT Edge yang berjalan pada perangkat merutekan pesan dari output satu modul ke input satu atau lebih modul. Kode spesifik untuk mendeklarasikan input dan output bervariasi antar bahasa, tetapi konsepnya sama di semua modul. Untuk informasi selengkapnya tentang perutean antar modul, lihat Mendeklarasikan rute.

Contoh kode C# yang disertakan dengan template project menggunakan Class ModuleClient dari IoT Hub SDK untuk .NET.

  1. Dalam file program.cs, temukan metode SetInputMessageHandlerAsync.

  2. Metode SetInputMessageHandlerAsync menyiapkan antrean input untuk menerima pesan masuk. Tinjau metode ini dan lihat cara menginisialisasi antrean input yang disebut input1.

    Find the input name in the SetInputMessageHandlserAsync constructor

  3. Selanjutnya, temukan metode SendEventAsync.

  4. Metode SendEventAsync memproses pesan yang diterima dan menyiapkan antrean output untuk meneruskannya. Tinjau metode ini dan lihat bahwa metode ini menginisialisasi antrean output yang disebut output1.

    Find the output name in the SendEventAsync constructor

  5. Buka file deployment.template.json.

  6. Temukan properti modul dari properti yang diinginkan $edgeAgent.

    Seharusnya ada dua modul yang tercantum di sini. Salah satunya adalah modul SimulatedTemperatureSensor, yang disertakan dalam semua template secara default untuk menyediakan data suhu simulasi yang dapat Anda gunakan untuk menguji modul Anda. Yang lainnya adalah modul IotEdgeModule1 yang Anda buat sebagai bagian dari proyek ini.

    Properti modul ini menyatakan modul mana yang harus disertakan dalam penyebaran ke perangkat atau perangkat Anda.

  7. Temukan properti rute dari properti $edgeHub yang diinginkan.

    Salah satu fungsi modul hub IoT Edge adalah merutekan pesan di antara semua modul dalam deployment. Tinjau nilai dalam properti rute. Satu rute, IotEdgeModule1ToIoTHub, menggunakan karakter kartubebas (*) untuk menyertakan pesan apa pun yang berasal dari antrean output apa pun dalam modul IotEdgeModule1. Pesan-pesan ini masuk ke $upstream, yang merupakan nama khusus yang menunjukkan IoT Hub. Rute lain, sensorToIotEdgeModule1, mengambil pesan yang berasal dari modul SimulatedTemperatureSensor dan merutekannya ke antrian input input1 modul IotEdgeModule1.

    Review routes in deployment.template.json

Membangun dan mendorong solusi Anda

Anda telah meninjau kode modul dan templat penyebaran untuk memahami beberapa konsep penyebaran utama. Sekarang, Anda siap untuk membangun gambar kontainer IotEdgeModule1 dan mendorongnya ke registri kontainer Anda. Dengan ekstensi alat IoT untuk Visual Studio, langkah ini juga membuat manifes penyebaran berdasarkan informasi dalam file templat dan informasi modul dari file solusi.

Masuk ke Docker

Masukkan informasi masuk registri kontainer Anda ke Docker pada komputer pengembangan agar komputer dapat mengirimkan file kontainer untuk disimpan di registri.

  1. Buka PowerShell atau prompt perintah.

  2. Masuk ke Docker dengan informasi masuk registri kontainer Azure yang Anda simpan setelah membuat registri.

    docker login -u <ACR username> -p <ACR password> <ACR login server>
    

    Anda mungkin menerima peringatan keamanan yang merekomendasikan penggunaan --password-stdin. Meskipun praktik terbaik tersebut disarankan untuk skenario produksi, praktik terbaik berada di luar cakupan tutorial ini. Untuk informasi selengkapnya, lihat referensi masuk docker.

Membangun dan mendorong

komputer pengembangan kini memiliki akses ke registri kontainer, dan perangkat Azure IoT Edge Anda juga akan memilikinya. Saatnya mengubah kode proyek menjadi gambar kontainer.

  1. Klik kanan folder proyek CSharpTutorialApp dan pilih Modul Bangun dan Dorong Azure IoT Edge.

    Build and push IoT Edge modules

    Perintah bangun dan kirim akan memulai tiga operasi. Pertama, perintah ini membuat folder baru dalam solusi yang disebut konfigurasi yang menyimpan manifes penyebaran penuh, yang dibangun dari informasi dalam templat penyebaran dan file solusi lainnya. Kedua, perintah ini menjalankan docker build untuk membangun gambar kontainer berdasarkan dockerfile yang sesuai untuk arsitektur target Anda. Kemudian, perintah ini menjalankan docker push untuk mendorong repositori gambar ke registri kontainer Anda.

    Proses ini mungkin akan memakan waktu beberapa menit saat dijalankan pertama kali, tetapi lebih cepat pada kali berikutnya saat Anda menjalankan perintah.

  2. Buka file deployment.windows-amd64.json di folder konfigurasi yang baru dibuat. (Folder konfigurasi mungkin tidak muncul di Penjelajah Solusi di Visual Studio. Jika demikian, pilih ikon Tampilkan semua file di bilah tugas Penjelajah Solusi.)

  3. Temukan parameter gambar bagian IotEdgeModule1. Perhatikan bahwa gambar berisi repositori gambar lengkap dengan nama, versi, dan tag arsitektur dari module.json file.

  4. Buka file module.json di folder IotEdgeModule1.

  5. Ubah nomor versi untuk gambar modul. (Versi, bukan $schema-version.) Misalnya, tahapan nomor versi patch menjadi 0.0.2 seolah-olah kita telah membuat perbaikan kecil pada kode modul.

    Tip

    Versi modul mengaktifkan kontrol versi, dan memungkinkan Anda menguji perubahan pada sejumlah kecil perangkat sebelum menyebarkan pembaruan ke produksi. Jika tidak menaikkan versi modul sebelum membangun dan mendorong, maka Anda menimpa repositori di registri kontainer.

  6. Simpan perubahan Anda ke module.json file.

  7. Klik kanan folder proyek CSharpTutorialApp lagi, dan pilih Modul Build dan Push IoT Edge lagi.

  8. Buka file deployment.windows-amd64.json lagi. Perhatikan bahwa file baru tidak dibuat saat Anda menjalankan perintah build dan push lagi. Sebaliknya, file yang sama diperbarui untuk mencerminkan perubahan. Gambar IotEdgeModule1 sekarang menunjuk ke versi 0.0.2 dari kontainer. Perubahan dalam manifes penyebaran ini adalah bagaimana Anda memberi tahu perangkat IoT Edge bahwa ada versi baru modul untuk ditarik.

  9. Untuk memverifikasi lebih lanjut apa yang dilakukan perintah build dan push, buka portal Microsoft Azure dan navigasikan ke registri kontainer Anda.

  10. Di registri kontainer Anda, pilih Repositori lalu iotedgemodule1. Verifikasi bahwa kedua versi gambar dikirim ke registri.

    View both image versions in container registry

Pecahkan masalah

Jika mengalami kesalahan saat membangun dan mendorong gambar modul Anda, kesalahan ini sering kali berkaitan dengan konfigurasi Docker pada komputer pengembangan Anda. Gunakan pemeriksaan berikut untuk meninjau konfigurasi Anda:

  • Apakah Anda menjalankan perintah docker login menggunakan info masuk yang Anda salin dari registri kontainer? Info masuk ini berbeda dari yang Anda gunakan untuk masuk ke Azure.
  • Apakah repositori kontainer Anda benar? Apakah itu memiliki nama registri kontainer yang benar dan nama modul Anda yang benar? Buka file module.json di folder IotEdgeModule1 untuk diperiksa. Nilai repositori akan terlihat seperti <nama> registri.azurecr.io/iotedgemodule1.
  • Jika Anda menggunakan nama yang berbeda dari IotEdgeModule1 untuk modul Anda, apakah nama itu konsisten di seluruh solusi?
  • Apakah komputer Anda menjalankan jenis kontainer yang sama dengan yang Anda bangun? Tutorial ini untuk perangkat Windows IoT Edge, jadi file Visual Studio Anda harus memiliki ekstensi windows-amd64, dan Docker Desktop harus menjalankan kontainer Windows.

Menyebarkan modul ke perangkat

Anda memverifikasi bahwa gambar kontainer yang dibangun disimpan di registri kontainer Anda, jadi inilah saatnya untuk menyebarkan gambar kontainer ke perangkat. Pastikan perangkat Azure IoT Edge Anda sudah siap dan dapat dijalankan.

  1. Buka Cloud Explorer di Visual Studio dan perluas detail untuk hub IoT Anda.

  2. Pilih nama perangkat yang ingin Anda terapkan. Di daftar Tindakan, pilih Buat Penyebaran.

    Create deployment for single device

  3. Di file explorer, navigasi ke folder konfigurasi proyek Anda dan pilih file deployment.windows-amd64.json. Berkas ini sering berada di C:\Users\<username>\source\repos\CSharpTutorialApp\CSharpTutorialApp\config\deployment.windows-amd64.json

    Jangan gunakan deployment.template.json, yang tidak memiliki nilai gambar modul penuh di dalamnya.

  4. Perluas detail untuk perangkat IoT Edge Anda di Cloud Explorer untuk melihat modul di perangkat Anda.

  5. Gunakan tombol Refresh untuk memperbarui status perangkat untuk melihat bahwa modul SimulasiTemperatureSensor dan IotEdgeModule1 digunakan perangkat Anda.

    View modules running on your IoT Edge device

Melihat pesan dari perangkat

Kode IotEdgeModule1 menerima pesan melalui antrian input dan melewatinya melalui antrian outputnya. Manifes penyebaran mendeklarasikan rute yang meneruskan pesan dari SimulatedTemperatureSensor ke IotEdgeModule1, lalu meneruskan pesan dari IotEdgeModule1 ke IoT Hub. Alat Azure IoT Edge untuk Visual Studio memungkinkan Anda melihat pesan saat mereka tiba di IoT Hub dari perangkat anda masing-masing.

  1. Di Visual Studio Cloud Explorer, pilih nama perangkat IoT Edge yang Anda terapkan.

  2. Di menu Tindakan, pilih Mulai Memantau Titik Akhir Acara Bawaan.

  3. Tonton bagian Output di Visual Studio untuk melihat pesan yang tiba di hub IoT Anda.

    Mungkin perlu waktu beberapa menit agar kedua modul dimulai. Runtime Azure IoT Edge perlu menerima manifes penyebaran barunya, menarik gambar modul dari runtime kontainer, lalu memulai setiap modul baru.

    View incoming device to cloud messages

Melihat perubahan pada perangkat

Jika ingin melihat apa yang terjadi pada perangkat Anda sendiri, gunakan perintah di bagian ini untuk memeriksa runtime Azure IoT Edge dan modul yang berjalan di perangkat Anda.

Perintah di bagian ini adalah untuk perangkat Azure IoT Edge Anda, bukan komputer pengembangan. Jika Anda menggunakan komputer virtual untuk perangkat IoT Edge Anda, sambungkan sekarang. Di Azure, buka halaman gambaran umum komputer virtual dan pilih Sambungkan untuk mengakses koneksi desktop jarak jauh. Di perangkat, buka perintah atau jendela PowerShell untuk menjalankan perintah iotedge.

  • Lihat semua modul yang diterapkan ke perangkat Anda, dan periksa statusnya:

    iotedge list
    

    Anda akan melihat empat modul: dua modul runtime IoT Edge, SimulatedTemperatureSensor, dan IotEdgeModule1. Keempatnya harus terdaftar sebagai berjalan.

  • Periksa log untuk modul tertentu:

    iotedge logs <module name>
    

    Modul IoT Edge peka huruf besar/kecil.

    Log SimulatedTemperatureSensor dan IotEdgeModule1 harus menampilkan pesan yang mereka proses. Modul edgeAgent bertanggung jawab untuk memulai modul lain, sehingga lognya akan memiliki informasi tentang mengimplementasikan manifes penyebaran. Jika ada modul yang tidak terdaftar atau tidak berjalan, log edgeAgent mungkin akan mengalami kesalahan. Modul edgeHub bertanggung jawab untuk komunikasi antara modul dan Azure IoT Hub. Jika modul aktif dan berjalan, tetapi pesan tidak sampai di hub IoT Anda, log edgeHub mungkin akan mengalami kesalahan.

Membersihkan sumber daya

Jika berencana untuk melanjutkan ke artikel yang disarankan berikutnya, Anda dapat menyimpan sumber daya dan konfigurasi yang Anda buat dan menggunakannya kembali. Anda juga dapat tetap menggunakan perangkat Azure IoT Edge yang sama sebagai perangkat uji.

Jika tidak, Anda dapat menghapus konfigurasi lokal dan sumber daya Azure yang Anda gunakan dalam artikel ini untuk menghindari tagihan.

Menghapus sumber daya Azure

Menghapus sumber daya Azure dan grup sumber daya tidak dapat diubah. Pastikan Anda tidak menghapus grup sumber daya atau sumber daya yang salah secara tidak sengaja. Jika Anda membuat hub IoT di dalam grup sumber daya yang sudah ada yang berisi sumber daya yang ingin Anda simpan, hapus hanya sumber daya hub IoT itu sendiri, bukan grup sumber daya.

Untuk menghapus sumber daya:

  1. Masuk ke portal Microsoft Azure, lalu pilih Grup sumber daya.

  2. Pilih nama grup sumber daya yang berisi sumber daya pengujian IoT Edge Anda.

  3. Tinjau daftar sumber daya yang terdapat dalam grup sumber daya Anda. Jika ingin menghapus semuanya, Anda dapat memilih Hapus grup sumber daya. Jika hanya ingin menghapus beberapa sumber daya, Anda dapat mengklik setiap sumber daya untuk menghapusnya satu per satu.

Langkah berikutnya

Dalam tutorial ini, Anda mengatur Visual Studio 2019 pada komputer pengembangan Anda dan menggunakan modul IoT Edge pertama Anda darinya. Sekarang setelah Anda mengetahui konsep dasar, coba tambahkan fungsionalitas ke modul sehingga dapat menganalisis data yang melewatinya. Pilih bahasa pilihan Anda:

CC#