Mulai cepat: Memprovisikan perangkat kunci konten simulasi

Dalam mulai cepat ini, Anda membuat perangkat yang disimulasikan di komputer Windows Anda. Perangkat yang disimulasikan dikonfigurasi untuk menggunakan mekanisme pengesahan kunci konten untuk autentikasi. Setelah mengonfigurasi perangkat, Anda kemudian memprovisikannya ke hub IoT menggunakan Azure IoT Hub Device Provisioning Service.

Jika Anda tidak terbiasa dengan proses provisi, tinjau gambaran umum provisi.

Mulai cepat ini menunjukkan solusi untuk stasiun kerja berbasis Windows. Namun, Anda juga dapat melakukan prosedur tersebut di Linux. Untuk contoh Linux, lihat Tutorial: provisi untuk latensi geografis.

Prasyarat

  • Instal .NET SDK 6.0 atau yang lebih baru di komputer berbasis Windows Anda. Anda bisa menggunakan perintah berikut untuk memeriksa versi yang Anda gunakan.

    dotnet --info
    
  • Instal Python 3.7 atau yang lebih baru di komputer berbasis Windows Anda. Anda dapat memeriksa versi Python Anda dengan menjalankan python --version.
  • Pasang versi terbaru Git. Pastikan Git ditambahkan ke variabel lingkungan yang dapat diakses oleh jendela perintah. Lihat alat klien Git Software Freedom Conservancy untuk versi terbaru alat git yang akan diinstal, yang mencakup Git Bash, aplikasi baris perintah yang dapat Anda gunakan untuk berinteraksi dengan repositori Git lokal.

Mempersiapkan lingkungan pengembangan Anda

Di bagian ini, Anda menyiapkan lingkungan pengembangan yang digunakan untuk membangun Azure IoT C SDK. Kode sampel mencoba untuk memprovisikan perangkat, selama urutan boot perangkat.

  1. Unduh sistem build CMake terbaru.

    Penting

    Pastikan bahwa prasyarat Visual Studio (Visual Studio dan beban kerja 'Pengembangan desktop dengan C++') diinstal di komputer Anda sebelum memulai penginstalan CMake. Setelah prasyarat tersedia, dan unduhan diverifikasi, pasang sistem build CMake. Selain itu, pastikan bahwa versi lama sistem build CMake gagal membuat file solusi yang digunakan dalam artikel ini. Pastikan untuk menggunakan versi CMake versi terbaru.

  2. Buka browser web, dan buka halaman Rilis Azure IoT C SDK.

  3. Pilih tab Tag di bagian atas halaman.

  4. Salin nama tag untuk rilis terbaru Azure IoT C SDK.

  5. Buka perintah atau shell Git Bash. Jalankan perintah berikut untuk mengkloning rilis terbaru Azure IoT Device SDK untuk repositori C GitHub. Ganti <release-tag> dengan tag yang Anda salin di langkah sebelumnya, misalnya: lts_01_2023.

    git clone -b <release-tag> https://github.com/Azure/azure-iot-sdk-c.git
    cd azure-iot-sdk-c
    git submodule update --init
    

    Operasi ini mungkin memerlukan waktu beberapa menit untuk selesai.

  6. Setelah operasi selesai, jalankan perintah berikut dari direktori azure-iot-sdk-c:

    mkdir cmake
    cd cmake
    
  7. Sampel kode menggunakan kunci konten untuk memberikan pengesahan. Jalankan perintah berikut untuk membuat versi SDK khusus untuk platform klien pengembangan Anda yang mencakup klien provisi perangkat:

    cmake -Dhsm_type_symm_key:BOOL=ON -Duse_prov_client:BOOL=ON  ..
    

    Tip

    Jika cmake tidak menemukan pengompilasi C++, Anda mungkin mendapatkan kesalahan build saat menjalankan perintah di atas. Jika hal ini terjadi, coba jalankan perintah ini di perintah Visual Studio.

  8. Ketika build berhasil diselesaikan, beberapa baris output terakhir terlihat mirip dengan output berikut:

    $ cmake -Dhsm_type_symm_key:BOOL=ON -Duse_prov_client:BOOL=ON  ..
    -- Building for: Visual Studio 16 2019
    -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19042.
    -- The C compiler identification is MSVC 19.29.30040.0
    -- The CXX compiler identification is MSVC 19.29.30040.0
    
    ...
    
    -- Configuring done
    -- Generating done
    -- Build files have been written to: E:/IoT Testing/azure-iot-sdk-c/cmake
    
  1. Buka lingkungan baris perintah Git CMD atau Git Bash.

  2. Kloning repositori Azure IoT SDK for C# GitHub menggunakan perintah berikut:

    git clone https://github.com/Azure/azure-iot-sdk-csharp.git
    
  1. Buka lingkungan baris perintah Git CMD atau Git Bash.

  2. Kloning repositori Azure IoT SDK untuk Node.js GitHub menggunakan perintah berikut:

    git clone https://github.com/Azure/azure-iot-sdk-node.git --recursive
    
  1. Buka lingkungan baris perintah Git CMD atau Git Bash.

  2. Kloning repositori GitHub Azure IoT SDK untuk Python menggunakan perintah berikut:

    git clone -b v2 https://github.com/Azure/azure-iot-sdk-python.git --recursive
    

    Catatan

    Sampel yang digunakan dalam tutorial ini berada di cabang v2 dari repositori azure-iot-sdk-python. V3 dari Python SDK tersedia untuk digunakan dalam versi beta.

  1. Buka lingkungan baris perintah Git CMD atau Git Bash.

  2. Kloning repositori GitHub Azure IoT SDK untuk Java menggunakan perintah berikut:

    git clone https://github.com/Azure/azure-iot-sdk-java.git --recursive
    
  3. Buka direktori azure-iot-sdk-java akar dan buat proyek untuk mengunduh semua paket yang dibutuhkan. Langkah ini dapat memakan waktu beberapa menit untuk diselesaikan.

    cd azure-iot-sdk-java
    mvn install -DskipTests=true
    

Membuat pendaftaran perangkat

Azure IoT Device Provisioning Service mendukung dua jenis pendaftaran:

Artikel ini menunjukkan pendaftaran individu untuk satu perangkat yang akan diprovisikan dengan hub IoT.

  1. Masuk ke portal Microsoft Azure dan navigasikan ke instans Device Provisioning Service.

  2. Pilih Kelola pendaftaran dari bagian Pengaturan menu navigasi.

  3. Pilih tab Pendaftaran individual, lalu pilih Tambahkan pendaftaran individual.

    Screenshot that shows the add individual enrollment option.

  4. Pada pendaftaran + provisihalaman Tambahkan pendaftaran , berikan informasi berikut untuk mengonfigurasi detail pendaftaran:

    Bidang Deskripsi
    Pengesahan Pilih Kunci konten sebagai mekanisme Pengesahan.
    Pengaturan kunci konten Centang kotak Buat kunci konten secara otomatis jika Anda ingin menggunakan kunci yang dihasilkan secara acak. Hapus centang pada kotak ini jika Anda ingin menyediakan kunci Anda sendiri.
    ID Pendaftaran Berikan ID pendaftaran unik untuk perangkat.
    Status provisi Centang kotak Aktifkan pendaftaran ini jika Anda ingin pendaftaran ini tersedia untuk menyediakan perangkatnya. Hapus centang pada kotak ini jika Anda ingin pendaftaran dinonaktifkan. Anda dapat mengubah pengaturan ini nanti.
    Kebijakan provisi ulang Pilih kebijakan provisi ulang yang mencerminkan bagaimana Anda ingin DPS menangani perangkat yang meminta provisi ulang. Untuk informasi selengkapnya, lihat Kebijakan provisi ulang.
  5. Pilih Berikutnya: Hub IoT.

  6. Pada tab hub IoT di halaman Tambahkan pendaftaran , berikan informasi berikut untuk menentukan hub IoT mana yang dapat menyediakan perangkat untuk:

    Bidang Deskripsi
    Hub IoT target Pilih satu atau beberapa hub IoT tertaut Anda, atau tambahkan tautan baru ke hub IoT. Untuk mempelajari selengkapnya tentang menautkan hub IoT ke instans DPS Anda, lihat Cara menautkan dan mengelola hub IoT.
    Kebijakan alokasi Jika Anda memilih lebih dari satu hub IoT tertaut, pilih bagaimana Anda ingin menetapkan perangkat ke hub yang berbeda. Untuk mempelajari selengkapnya tentang kebijakan alokasi, lihat Cara menggunakan kebijakan alokasi.

    Jika Anda hanya memilih satu hub IoT tertaut, sebaiknya gunakan kebijakan distribusi Tertimbang Merata.
  7. Pilih Berikutnya: Pengaturan perangkat

  8. Pada tab Pengaturan perangkat di halaman Tambahkan pendaftaran , berikan informasi berikut untuk menentukan bagaimana perangkat yang baru disediakan akan dikonfigurasi:

    Bidang Deskripsi
    ID Perangkat Berikan ID perangkat yang akan ditetapkan ke perangkat yang disediakan di IoT Hub. Jika Anda tidak memberikan ID perangkat, ID pendaftaran akan digunakan.
    IoT Edge Periksa Aktifkan IoT Edge pada perangkat yang disediakan jika perangkat yang disediakan akan menjalankan Azure IoT Edge. Hapus centang pada kotak ini jika pendaftaran ini untuk perangkat yang tidak mendukung IoT Edge.
    Tag perangkat Gunakan kotak teks ini untuk menyediakan tag apa pun yang ingin Anda terapkan ke perangkat kembar perangkat yang disediakan.
    Properti yang diinginkan Gunakan kotak teks ini untuk menyediakan properti yang diinginkan yang ingin Anda terapkan ke perangkat kembar perangkat yang disediakan.

    Untuk informasi selengkapnya, lihat Memahami dan menggunakan perangkat kembar di IoT Hub.

  9. Pilih Berikutnya: Tinjau + buat.

  10. Pada tab Tinjau + buat , verifikasi semua nilai Anda lalu pilih Buat.

Setelah Anda membuat pendaftaran individual, kunci primer dan kunci sekunder dihasilkan dan ditambahkan ke entri pendaftaran. Anda menggunakan kunci utama dalam sampel perangkat nanti dalam mulai cepat ini.

  1. Untuk melihat pendaftaran perangkat kunci konten yang disimulasikan, pilih tab Pendaftaran individual.

  2. Pilih ID pendaftaran perangkat Anda dari daftar pendaftaran individual.

  3. Salin nilai kunci Primer yang dihasilkan.

    Screenshot showing the enrollment details, highlighting the Copy button for the primary key of the device enrollment

Menyiapkan dan menjalankan kode provisi perangkat

Di bagian ini, Anda memperbarui kode sampel perangkat untuk mengirim urutan boot perangkat ke instans Device Provisioning Service Anda. Urutan boot ini menyebabkan perangkat dikenali, diautentikasi, dan ditetapkan ke hub IoT yang ditautkan ke instans Device Provisioning Service.

Kode provisi sampel menyelesaikan tugas-tugas berikut, dalam urutan:

  1. Mengautentikasi perangkat Anda dengan sumber daya Device Provisioning menggunakan tiga parameter berikut:

    • Cakupan ID Device Provisioning Service
    • ID pendaftaran untuk pendaftaran perangkat Anda.
    • Kunci konten primer untuk pendaftaran perangkat Anda.
  2. Menetapkan perangkat ke hub IoT yang sudah ditautkan ke instans Device Provisioning Service Anda.

Untuk memperbarui dan menjalankan sampel provisi dengan informasi perangkat Anda:

  1. Di menu utama Device Provisioning Service Anda, pilih Gambaran Umum.

  2. Salin nilai Cakupan ID.

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the ID Scope value for the instance.

  3. Di Visual Studio, buka file solusi azure_iot_sdks.sln yang dihasilkan dengan menjalankan CMake sebelumnya. File solusi harus ada di lokasi berikut:

    
    \azure-iot-sdk-c\cmake\azure_iot_sdks.sln
    
    

    Tip

    Jika file tidak dibuat di direktori cmake Anda, pastikan Anda menggunakan versi terbaru sistem build CMake.

  4. Di jendela Penjelajah Solusi Visual Studio, buka folder Provision_Samples. Perluas proyek sampel bernama prov_dev_client_sample. Perluas File Sumber, dan buka prov_dev_client_sample.c.

  5. id_scope Temukan konstanta, dan ganti nilai dengan nilai Cakupan ID yang Anda salin di langkah 2.

    static const char* id_scope = "0ne00002193";
    
  6. Temukan definisi untuk fungsi main() dalam file yang sama. Pastikan hsm_type variabel diatur ke SECURE_DEVICE_TYPE_SYMMETRIC_KEY seperti yang ditunjukkan dalam contoh berikut:

    SECURE_DEVICE_TYPE hsm_type;
    //hsm_type = SECURE_DEVICE_TYPE_TPM;
    //hsm_type = SECURE_DEVICE_TYPE_X509;
    hsm_type = SECURE_DEVICE_TYPE_SYMMETRIC_KEY;
    
  7. Temukan panggilan ke prov_dev_set_symmetric_key_info() di prov_dev_client_sample.c yang dikomentari.

    // Set the symmetric key if using they auth type
    //prov_dev_set_symmetric_key_info("<symm_registration_id>", "<symmetric_Key>");
    

    Batalkan komentar panggilan fungsi, dan ganti nilai tempat penampung (termasuk tanda kurung sudut) dengan ID pendaftaran perangkat Anda dan nilai kunci utama yang Anda salin sebelumnya.

    // Set the symmetric key if using they auth type
    prov_dev_set_symmetric_key_info("symm-key-device-007", "your primary key here");
    
  8. Simpan file.

  9. Klik kanan proyek prov_dev_client_sample dan pilih Atur sebagai Proyek Startup.

  10. Pada menu Visual Studio, pilih Debug>Mulai tanpa penelusuran kesalahan untuk menjalankan solusinya. Jika diminta untuk membuat kembali proyek, pilih Ya untuk membuat kembali proyek sebelum dijalankan.

    Output berikut adalah contoh perangkat yang berhasil terhubung ke instans Layanan penyediaan yang akan ditetapkan ke hub IoT:

    Provisioning API Version: 1.2.8
    
    Registering Device
    
    Provisioning Status: PROV_DEVICE_REG_STATUS_CONNECTED
    Provisioning Status: PROV_DEVICE_REG_STATUS_ASSIGNING
    
    Registration Information received from service:
    test-docs-hub.azure-devices.net, deviceId: device-007
    Press enter key to exit:
    

Kode provisi sampel menyelesaikan tugas-tugas berikut:

  1. Mengautentikasi perangkat Anda dengan sumber daya Device Provisioning menggunakan tiga parameter berikut:

    • Cakupan ID Device Provisioning Service
    • ID pendaftaran untuk pendaftaran perangkat Anda.
    • Kunci konten primer untuk pendaftaran perangkat Anda.
  2. Menetapkan perangkat ke hub IoT yang sudah ditautkan ke instans Device Provisioning Service Anda.

  3. Mengirim pesan telemetri pengujian ke hub IoT.

Untuk memperbarui dan menjalankan sampel provisi dengan informasi perangkat Anda:

  1. Di menu utama Device Provisioning Service Anda, pilih Gambaran Umum.

  2. Salin nilai Cakupan ID.

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the ID Scope value for the instance.

  3. Buka prompt perintah dan buka SymmetricKeySample di repositori sdk kloning:

    cd '.\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\SymmetricKeySample\'
    
  4. Di folder SymmetricKeySample,buka Parameter.cs di editor teks. File ini menunjukkan parameter yang tersedia untuk sampel. Hanya tiga parameter pertama yang diperlukan yang digunakan dalam artikel ini saat menjalankan sampel. Tinjau kode dalam file ini. Tidak diperlukan perubahan.

    Parameter Diperlukan Deskripsi
    --i atau --IdScope Benar Cakupan ID instans DPS
    --r atau --RegistrationId Benar ID pendaftaran adalah string yang tidak peka huruf besar/kecil (panjangnya hingga 128 karakter) karakter alfanumerik ditambah karakter khusus: '-', '.', '_', ':'. Karakter terakhir harus alfanumerik atau tanda hubung ('-').
    --p atau --PrimaryKey Benar Kunci utama pendaftaran individu atau kunci perangkat turunan dari pendaftaran grup. Lihat ComputeDerivedSymmetricKeySample untuk cara menghasilkan kunci turunan.
    --g atau --GlobalDeviceEndpoint Salah Titik akhir global untuk disambungkan perangkat. Default ke global.azure-devices-provisioning.net
    --t atau --TransportType Salah Transportasi yang digunakan untuk berkomunikasi dengan instans provisi perangkat. Default ke Mqtt. Nilai yang mungkin mencakup Mqtt, Mqtt_WebSocket_Only, Mqtt_Tcp_Only, Amqp, Amqp_WebSocket_Only, Amqp_Tcp_only, dan Http1.
  5. Di folder SymmetricKeySample, buka ProvisioningDeviceClientSample.cs di editor teks. File ini menampilkan cara class SecurityProviderSymmetricKey digunakan bersama dengan class ProvisioningDeviceClient untuk memprovisikan perangkat kunci konten Anda. Tinjau kode dalam file ini. Tidak diperlukan perubahan.

  6. Buat dan jalankan kode sampel menggunakan perintah berikut:

    • Ganti <id-scope> dengan Cakupan ID yang Anda salin di langkah 2.
    • Ganti <registration-id> dengan ID Pendaftaran yang Anda berikan untuk pendaftaran perangkat.
    • Ganti <primarykey> dengan Kunci Primer yang Anda salin dari pendaftaran perangkat.
    dotnet run --i <id-scope> --r <registration-id> --p <primarykey>
    
  7. Sekarang, Anda akan melihat sesuatu yang mirip dengan output berikut. String "TestMessage" dikirim ke hub sebagai pesan pengujian.

    D:\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\SymmetricKeySample>dotnet run --i 0ne00000A0A --r symm-key-csharp-device-01 --p sbDDeEzRuEuGKag+kQKV+T1QGakRtHpsERLP0yPjwR93TrpEgEh/Y07CXstfha6dhIPWvdD1nRxK5T0KGKA+nQ==
    
    Initializing the device provisioning client...
    Initialized for registration Id symm-key-csharp-device-01.
    Registering with the device provisioning service...
    Registration status: Assigned.
    Device csharp-device-01 registered to ExampleIoTHub.azure-devices.net.
    Creating symmetric key authentication for IoT Hub...
    Testing the provisioned device with IoT Hub...
    Sending a telemetry message...
    Finished.
    Enter any key to exit.
    

Kode provisi sampel menyelesaikan tugas-tugas berikut, dalam urutan:

  1. Mengautentikasi perangkat Anda dengan sumber daya Device Provisioning menggunakan empat parameter berikut:

    • PROVISIONING_HOST
    • PROVISIONING_IDSCOPE
    • PROVISIONING_REGISTRATION_ID
    • PROVISIONING_SYMMETRIC_KEY
  2. Menetapkan perangkat ke hub IoT yang sudah ditautkan ke instans Device Provisioning Service Anda.

  3. Mengirim pesan telemetri pengujian ke hub IoT.

Untuk memperbarui dan menjalankan sampel provisi dengan informasi perangkat Anda:

  1. Di menu utama Device Provisioning Service Anda, pilih Gambaran Umum.

  2. Salin Cakupan ID dan nilai Titik akhir perangkat global.

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the global device endpoint and ID Scope values for the instance.

  3. Buka perintah untuk menjalankan perintah Node.js, dan buka direktori berikut:

    cd azure-iot-sdk-node/provisioning/device/samples
    
  4. Di folder penyediaan/perangkat/sampel, buka register_symkey.js dan tinjau kode. Perhatikan contoh kode sampel menetapkan payload kustom:

    provisioningClient.setProvisioningPayload({a: 'b'});
    

    Anda dapat mengomentari kode ini, karena tidak diperlukan untuk mulai cepat ini. Payload kustom akan diperlukan, Anda ingin menggunakan fungsi alokasi kustom untuk menetapkan perangkat Anda ke hub IoT. Untuk informasi selengkapnya, lihat Tutorial: Menggunakan kebijakan alokasi kustom.

    Metode provisioningClient.register() ini mengupayakan percobaan pendaftaran perangkat Anda.

    Tidak diperlukan perubahan lebih lanjut.

  5. Di prompt perintah, jalankan perintah berikut untuk mengatur variabel lingkungan yang digunakan oleh sampel:

    • Ganti <provisioning-global-endpoint> dengan titik akhir perangkat Global yang Anda salin di langkah 2.
    • Ganti <id-scope> dengan Cakupan ID yang Anda salin di langkah 2.
    • Ganti <registration-id> dengan ID Pendaftaran yang Anda berikan untuk pendaftaran perangkat.
    • Ganti <primarykey> dengan Kunci Primer yang Anda salin dari pendaftaran perangkat.
    set PROVISIONING_HOST=<provisioning-global-endpoint>
    
    set PROVISIONING_IDSCOPE=<id-scope>
    
    set PROVISIONING_REGISTRATION_ID=<registration-id>
    
    set PROVISIONING_SYMMETRIC_KEY=<primarykey>
    
  6. Buat dan jalankan kode sampel menggunakan perintah berikut:

     npm install
    
    node register_symkey.js
    
  7. Sekarang, Anda akan melihat sesuatu yang mirip dengan output berikut. String "Halo Dunia" dikirim ke hub sebagai pesan pengujian.

    D:\azure-iot-samples-csharp\provisioning\device\samples>node register_symkey.js
    registration succeeded
    assigned hub=ExampleIoTHub.azure-devices.net
    deviceId=nodejs-device-01
    payload=undefined
    Client connected
    send status: MessageEnqueued
    

Kode provisi sampel menyelesaikan tugas-tugas berikut, dalam urutan:

  1. Mengautentikasi perangkat Anda dengan sumber daya Device Provisioning menggunakan empat parameter berikut:

    • PROVISIONING_HOST
    • PROVISIONING_IDSCOPE
    • PROVISIONING_REGISTRATION_ID
    • PROVISIONING_SYMMETRIC_KEY
  2. Menetapkan perangkat ke hub IoT yang sudah ditautkan ke instans Device Provisioning Service Anda.

  3. Mengirim pesan telemetri pengujian ke hub IoT.

Untuk memperbarui dan menjalankan sampel provisi dengan informasi perangkat Anda:

  1. Di menu utama Device Provisioning Service Anda, pilih Gambaran Umum.

  2. Salin Cakupan ID dan nilai Titik akhir perangkat global.

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the global device endpoint and ID Scope values for the instance.

  3. Buka prompt perintah dan buka direktori tempat file sampel, provision_symmetric_key.py, berada.

    cd azure-iot-sdk-python\samples\async-hub-scenarios
    
  4. Di prompt perintah, jalankan perintah berikut untuk mengatur variabel lingkungan yang digunakan oleh sampel:

    • Ganti <provisioning-global-endpoint> dengan titik akhir perangkat Global yang Anda salin di langkah 2.
    • Ganti <id-scope> dengan Cakupan ID yang Anda salin di langkah 2.
    • Ganti <registration-id> dengan ID Pendaftaran yang Anda berikan untuk pendaftaran perangkat.
    • Ganti <primarykey> dengan Kunci Primer yang Anda salin dari pendaftaran perangkat.
    set PROVISIONING_HOST=<provisioning-global-endpoint>
    
    set PROVISIONING_IDSCOPE=<id-scope>
    
    set PROVISIONING_REGISTRATION_ID=<registration-id>
    
    set PROVISIONING_SYMMETRIC_KEY=<primarykey>
    
  5. Instal pustaka azure-iot-device dengan menjalankan perintah berikut ini.

    pip install azure-iot-device
    
  6. Jalankan kode sampel Python di provision_symmetric_key.py.

    python provision_symmetric_key.py
    
  7. Sekarang, Anda akan melihat sesuatu yang mirip dengan output berikut. Beberapa contoh pesan telemetri kecepatan angin juga dikirim ke hub sebagai pengujian.

    D:\azure-iot-sdk-python\samples\async-hub-scenarios>python provision_symmetric_key.py
    RegistrationStage(RequestAndResponseOperation): Op will transition into polling after interval 2.  Setting timer.
    The complete registration result is
    python-device-008
    docs-test-iot-hub.azure-devices.net
    initialAssignment
    null
    Will send telemetry from the provisioned device
    sending message #8
    sending message #9
    sending message #3
    sending message #10
    sending message #4
    sending message #2
    sending message #6
    sending message #7
    sending message #1
    sending message #5
    done sending message #8
    done sending message #9
    done sending message #3
    done sending message #10
    done sending message #4
    done sending message #2
    done sending message #6
    done sending message #7
    done sending message #1
    done sending message #5
    

Kode provisi sampel menyelesaikan tugas-tugas berikut, dalam urutan:

  1. Mengautentikasi perangkat Anda dengan sumber daya Device Provisioning menggunakan empat parameter berikut:

    • GLOBAL_ENDPOINT
    • SCOPE_ID
    • REGISTRATION_ID
    • SYMMETRIC_KEY
  2. Menetapkan perangkat ke hub IoT yang sudah ditautkan ke instans Device Provisioning Service Anda.

  3. Mengirim pesan telemetri pengujian ke hub IoT.

Untuk memperbarui dan menjalankan sampel provisi dengan informasi perangkat Anda:

  1. Di menu utama Device Provisioning Service Anda, pilih Gambaran Umum.

  2. Salin Cakupan ID dan nilai Titik akhir perangkat global. Nilai-nilai ini masing-masing adalah parameter dan GLOBAL_ENDPOINT AndaSCOPE_ID.

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the global device endpoint and ID Scope values for the instance.

  3. Buka kode sampel perangkat Java dengan tujuan pengeditan. Jalur lengkap menuju kode sampel perangkat adalah:

    azure-iot-sdk-java/provisioning/provisioning-device-client-samples/provisioning-symmetrickey-individual-sample/src/main/java/samples/com/microsoft/azure/sdk/iot/ProvisioningSymmetricKeyIndividualEnrollmentSample.java

  4. Atur nilai variabel berikut untuk pendaftaran DPS dan perangkat Anda:

    • Ganti <id-scope> dengan Cakupan ID yang Anda salin di langkah 2.
    • Ganti <provisioning-global-endpoint> dengan titik akhir perangkat Global yang Anda salin di langkah 2.
    • Ganti <registration-id> dengan ID Pendaftaran yang Anda berikan untuk pendaftaran perangkat.
    • Ganti <primarykey> dengan Kunci Primer yang Anda salin dari pendaftaran perangkat.
    private static final String SCOPE_ID = "<id-scope>";
    private static final String GLOBAL_ENDPOINT = "<provisioning-global-endpoint>";
    private static final String SYMMETRIC_KEY = "<primarykey>";
    private static final String REGISTRATION_ID = "<registration-id>";
    
  5. Buka prompt perintah untuk membuatnya. Buka provisi folder proyek sampel dari repositori Java SDK.

    cd azure-iot-sdk-java\provisioning\provisioning-device-client-samples\provisioning-symmetrickey-individual-sample
    
  6. Susun sampel.

    mvn clean install
    
  7. target Buka folder dan jalankan file yang dibuat.jar. java Dalam perintah , ganti {version} tempat penampung dengan versi dalam .jar nama file di komputer Anda.

    cd target
    java -jar ./provisioning-symmetrickey-individual-sample-{version}-with-deps.jar
    
  8. Sekarang, Anda akan melihat sesuatu yang mirip dengan output berikut.

    Starting...
    Beginning setup.
    Initialized a ProvisioningDeviceClient instance using SDK version 1.11.0
    Starting provisioning thread...
    Waiting for Provisioning Service to register
    Opening the connection to device provisioning service...
    Connection to device provisioning service opened successfully, sending initial device registration message
    Authenticating with device provisioning service using symmetric key
    Waiting for device provisioning service to provision this device...
    Current provisioning status: ASSIGNING
    Device provisioning service assigned the device successfully
    IotHUb Uri : <Your IoT hub name>.azure-devices.net
    Device ID : java-device-007
    Sending message from device to IoT Hub...
    Press any key to exit...
    Message received! Response status: OK_EMPTY
    

Konfirmasi pendaftaran provisi perangkat Anda

  1. Buka portal Microsoft Azure.

  2. Di menu sebelah kiri atau di halaman portal, pilih Semua sumber daya.

  3. Pilih hub IoT tempat penetapan perangkat Anda.

  4. Di menu Manajemen perangkat , pilih Perangkat.

  5. Jika perangkat Anda berhasil disediakan, ID perangkat akan muncul dalam daftar, dengan Status diatur sebagai Diaktifkan. Jika Anda tidak melihat perangkat, pilih Refresh di bagian atas halaman.

    Screenshot showing that the device is registered with the IoT hub and enabled for the C example.

    Screenshot showing that the device is registered with the IoT hub and enabled for the C# example.

    Screenshot showing that the device is registered with the IoT hub and enabled for the Node.js example.

    Screenshot showing that the device is registered with the IoT hub and enabled for the Python example.

    Screenshot showing that the device is registered with the IoT hub and enabled for the Java example.

Catatan

Jika Anda mengubah status kembar perangkat awal dari nilai default dalam entri pendaftaran untuk perangkat Anda, nilai tersebut dapat menarik status kembar yang diinginkan dari hub dan melakukan tindakan yang sesuai. Untuk informasi selengkapnya, lihat Memahami dan menggunakan perangkat kembar di IoT Hub.

Membersihkan sumber daya

Jika Anda berencana untuk terus mengerjakan dan menjelajahi sampel klien perangkat, jangan bersihkan sumber daya yang dibuat di mulai cepat ini. Jika Anda tidak berencana untuk melanjutkan, gunakan langkah berikut untuk menghapus semua sumber daya yang dibuat oleh mulai cepat ini.

Menghapus pendaftaran perangkat Anda

  1. Tutup jendela output sampel klien perangkat di komputer Anda.

  2. Dari menu sebelah kiri di portal Azure, pilih Semua sumber daya.

  3. Pilih Device Provisioning Service Anda.

  4. Di menu Pengaturan, pilih Kelola pendaftaran.

  5. Pilih tab Pendaftaran individual.

  6. Pilih kotak centang di samping ID pendaftaran perangkat yang Anda daftarkan dalam mulai cepat ini.

  7. Di bagian atas halaman, pilih Hapus.

Menghapus pendaftaran perangkat Anda dari IoT Hub

  1. Dari menu sebelah kiri di portal Azure, pilih Semua sumber daya.

  2. Pilih IoT hub Anda.

  3. Di menu Explorers, pilih Perangkat IoT.

  4. Pilih kotak centang di samping ID perangkat perangkat yang Anda daftarkan dalam mulai cepat ini.

  5. Di bagian atas halaman, pilih Hapus.

Langkah berikutnya

Dalam mulai cepat ini, Anda memprovisikan satu perangkat ke hub IoT Anda menggunakan pendaftaran individual. Selanjutnya, pelajari cara memprovisikan beberapa perangkat di beberapa hub.