Mulai cepat: Memprovisi perangkat TPM yang disimulasikan

Dalam mulai cepat ini, Anda membuat perangkat simulasi di komputer Windows Anda. Perangkat yang disimulasikan akan dikonfigurasi untuk menggunakan mekanisme pengesahan Modul Platform Tepercaya (TPM) untuk autentikasi. Setelah mengonfigurasi perangkat, Anda akan memprovisikannya ke hub IoT menggunakan Azure IoT Hub Device Provisioning Service. Kode sampel kemudian akan digunakan untuk membantu mendaftarkan perangkat dengan instans Device Provisioning Service.

Jika Anda tidak terbiasa dengan proses provisi, tinjau gambaran umum provisi. Pastikan juga Anda telah menyelesaikan langkah-langkah dalam Menyiapkan Azure IoT Hub Device Provisioning Service dengan portal Microsoft Azure sebelum melanjutkan.

Azure IoT Device Provisioning Service mendukung dua jenis pendaftaran:

Artikel berikut menampilkan pendaftaran individu.

Pengesahan Trusted Platform Module (TPM) tidak didukung di Python SDK. Dengan Python, Anda dapat memprovisikan perangkat menggunakan kunci konten atau sertifikat X.509.

Prasyarat

Prasyarat berikut adalah untuk lingkungan pengembangan Windows. Untuk Linux atau macOS, lihat bagian yang sesuai di Menyiapkan lingkungan pengembangan dalam dokumentasi SDK.

  • Modul keamanan perangkat keras TPM 2.0 pada komputer berbasis Windows Anda.

  • Instal .NET Core 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
    
  • 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 akan menyiapkan lingkungan pengembangan yang digunakan untuk membuat Azure IoT C SDK dan sampel simulator perangkat TPM.

  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
    
  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 GitHub azure-utpm-c menggunakan perintah berikut:

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

  2. Kloning repositori GitHub Java menggunakan perintah berikut:

    git clone https://github.com/Azure/azure-iot-sdk-java.git --recursive
    

Membuat SDK dan menjalankan simulator perangkat TPM

Di bagian ini, Anda akan membuat dan menjalankan simulator TPM. Simulator ini mendengarkan soket di port 2321 dan 2322. Jangan tutup jendela perintah. Simulator ini harus terus berjalan sampai bagian akhir mulai cepat ini.

  1. Jalankan perintah berikut untuk membuat Azure IoT C SDK yang mencakup kode sampel simulator perangkat TPM. Solusi Visual Studio untuk perangkat yang disimulasikan dibuat di direktori cmake. Sampel ini menyediakan mekanisme pengesahan TPM melalui autentikasi Token Shared Access Signature (SAS).

    cmake -Duse_prov_client:BOOL=ON -Duse_tpm_simulator: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.

  2. Setelah build berhasil, beberapa garis output terakhir akan terlihat mirip dengan output berikut:

    $ cmake -Duse_prov_client:BOOL=ON ..
    -- Building for: Visual Studio 16 2019
    -- The C compiler identification is MSVC 19.23.28107.0
    -- The CXX compiler identification is MSVC 19.23.28107.0
    
    ...
    
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/code/azure-iot-sdk-c/cmake
    
  3. Masuk ke folder akar repositori git yang Anda kloning.

  4. Jalankan simulator TPM menggunakan jalur yang ditunjukkan di bawah.

    cd ..
    .\provisioning_client\deps\utpm\tools\tpm_simulator\Simulator.exe
    

    Simulator tidak menampilkan output apa pun. Biarkan simulator terus berjalan saat simulator menyimulasikan perangkat TPM.

  1. Buka folder akar GitHub.

  2. Jalankan simulator TPM untuk menjadi HSM untuk perangkat yang disimulasikan.

    .\azure-utpm-c\tools\tpm_simulator\Simulator.exe
    
  3. Buat folder kosong baru yang disebut registerdevice. Di folder registerdevice, buat file package.json menggunakan perintah berikut di perintah Anda (pastikan untuk menjawab semua pertanyaan yang diajukan oleh npm atau menerima default jika sesuai dengan Anda):

    npm init
    
  4. Instal paket pertama berikut:

    npm install node-gyp -g
    npm install ffi-napi -g
    

    Catatan

    Terdapat beberapa masalah yang diketahui untuk menginstal paket di atas. Untuk mengatasi masalah ini, jalankan npm install --global --production windows-build-tools menggunakan prompt perintah diJalankan sebagai mode administrator, jalankan SET VCTargetsPath=C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140 setelah mengganti jalur dengan versi yang diinstal, lalu jalankan kembali perintah instalasi di atas.

  5. Instal semua paket yang diperlukan ini yang menjalankan perintah berikut pada perintah Anda di folder registerdevice:

    npm install --save azure-iot-device azure-iot-device-mqtt azure-iot-security-tpm azure-iot-provisioning-device-http azure-iot-provisioning-device
    

    Perintah menginstal paket berikut:

    • Klien keamanan yang bekerja dengan TPM: azure-iot-security-tpm

    • Transportasi agar perangkat tersambung ke Device Provisioning Service: baik azure-iot-provisioning-device-http atau azure-iot-provisioning-device-amqp

    • Klien untuk menggunakan klien transportasi dan keamanan: azure-iot-provisioning-device

    • Klien perangkat: azure-iot-device

    • Transportasi: salah satu dari azure-iot-device-amqp, azure-iot-device-mqtt, atau azure-iot-device-http

    • Klien keamanan yang sudah Anda instal: azure-iot-security-tpm

      Catatan

      Sampel dalam mulai cepat ini menggunakan transportasi azure-iot-provisioning-device-http dan azure-iot-device-mqtt.

  6. Buka editor teks pilihan Anda.

  7. Di folder registerdevice, buat file ExtractDevice.js baru.

  8. Tambahkan pernyataan require berikut di awal file ExtractDevice.js:

    
    'use strict';
    
    var tpmSecurity = require('azure-iot-security-tpm');
    var tssJs = require("tss.js");
    
    var myTpm = new tpmSecurity.TpmSecurityClient(undefined, new tssJs.Tpm(true));
    
  9. Tambahkan fungsi berikut untuk mengimplementasikan metode:

    
    myTpm.getEndorsementKey(function(err, endorsementKey) {
      if (err) {
        console.log('The error returned from get key is: ' + err);
      } else {
        console.log('the endorsement key is: ' + endorsementKey.toString('base64'));
        myTpm.getRegistrationId((getRegistrationIdError, registrationId) => {
          if (getRegistrationIdError) {
            console.log('The error returned from get registration id is: ' + getRegistrationIdError);
          } else {
            console.log('The Registration Id is: ' + registrationId);
            process.exit();
          }
        });
      }
    });
    
  10. Simpan dan tutup file ExtractDevice.js.

    node ExtractDevice.js
    
  11. Jalankan sampel.

  12. Jendela output menampilkan kunci Endorsementdan ID Pendaftaran yang diperlukan untuk pendaftaran perangkat. Salin nilai ini.

  1. Jalankan simulator TPM untuk menjadi HSM untuk perangkat yang disimulasikan.

  2. Pilih Izinkan Akses. Simulator tersebut mendengarkan soket di port 2321 dan 2322. Jangan tutup jendela perintah ini; Anda perlu menjaga simulator ini tetap berjalan sampai akhir panduan mulai cepat ini.

    .\azure-iot-sdk-java\provisioning\provisioning-tools\tpm-simulator\Simulator.exe
    

    TPM Simulator

  3. Buka perintah kedua.

  4. Di perintah kedua, navigasi ke folder akar dan build dependensi sampel.

    cd azure-iot-sdk-java
    mvn install -DskipTests=true
    
  5. Navigasi ke folder sampel.

    cd provisioning/provisioning-samples/provisioning-tpm-sample
    

Membaca kunci kriptografi dari perangkat TPM

Di bagian ini, Anda akan membuat dan menjalankan sampel yang akan membaca kunci dukungan dan ID pendaftaran dari simulator TPM yang telah Anda biarkan untuk tetap berjalan, dan masih tetap mendengarkan port 2321 dan 2322. Nilai-nilai ini akan digunakan untuk pendaftaran perangkat dengan instans Device Provisioning Service Anda.

  1. Luncurkan Visual Studio.

  2. Buka solusi yang dibuat di folder cmake bernama azure_iot_sdks.sln.

  3. Pada menu Visual Studio, pilih Bangun>Bangun Solusi untuk membangun semua proyek dalam solusi.

  4. Di jendela Penjelajah Solusi Visual Studio, navigasikan ke folder Provision_Tools. Klik kanan proyek tpm_device_provision lalu pilih Atur sebagai Proyek Rintisan.

  5. Pada menu Visual Studio, pilih Debug>Mulai tanpa penelusuran kesalahan untuk menjalankan solusinya. Aplikasi ini membaca dan menampilkan ID Pendaftaran dan sebuah Kunci dukungan. Catat atau salin nilai-nilai ini. Nilai ini akan digunakan di bagian berikutnya untuk pendaftaran perangkat.

  1. Masuk ke portal Microsoft Azure, pilih tombol Semua sumber daya di menu sebelah kiri dan buka Device Provisioning Service Anda. Catat Cakupan ID dan Titik Akhir Global Layanan Provisi Anda.

    Device Provisioning Service information

  2. Edit src/main/java/samples/com/microsoft/azure/sdk/iot/ProvisioningTpmSample.java untuk menyertakan Cakupan ID dan Titik Akhir Global Layanan Provisi seperti yang telah dicatat sebelumnya.

    private static final String idScope = "[Your ID scope here]";
    private static final String globalEndpoint = "[Your Provisioning Service Global Endpoint here]";
    private static final ProvisioningDeviceClientTransportProtocol PROVISIONING_DEVICE_CLIENT_TRANSPORT_PROTOCOL = ProvisioningDeviceClientTransportProtocol.HTTPS;
    
  3. Simpan file.

  4. Gunakan perintah berikut untuk membuat proyek, menavigasi ke folder target, dan menjalankan file .jar yang telah dibuat (ganti {version}dengan versi Java Anda):

    mvn clean install
    cd target
    java -jar ./provisioning-tpm-sample-{version}-with-deps.jar
    
  5. Saat program mulai berjalan, program akan menampilkan Kunci dukungan dan ID Pendaftaran. Salin nilai ini untuk bagian berikutnya. Pastikan untuk membiarkan program tetap berjalan.

Di bagian ini, Anda akan membuat dan menjalankan sampel yang membaca kunci dukungan dari modul keamanan perangkat keras TPM 2.0 Anda. Nilai ini akan digunakan untuk pendaftaran perangkat dengan instans Device Provisioning Service Anda.

  1. Di wantian perintah, ubah direktori ke direktori proyek untuk sampel penyediaan perangkat TPM.

    cd '.\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\TpmSample\'
    
  2. Ketik perintah berikut untuk membangun dan menjalankan sampel penyediaan perangkat TPM. Salin kunci dukungan yang dikembalikan dari modul keamanan perangkat keras TPM 2.0 Anda untuk digunakan nanti saat mendaftarkan perangkat Anda.

    dotnet run -- -e
    

Membuat entri pendaftaran perangkat

  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 Modul Platform Tepercaya (TPM) sebagai mekanisme Pengesahan.
    Pengaturan Modul Platform Tepercaya (TPM) Berikan kunci dukungan yang akan digunakan untuk memverifikasi perangkat untuk pendaftaran ini. Anda dapat mengambil kunci dukungan dari TPM perangkat Anda.
    ID Pendaftaran Berikan ID pendaftaran unik untuk perangkat. Anda dapat mengambil ID pendaftaran dari TPM perangkat Anda.
    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.

Sampel C# TPM untuk mulai cepat ini tidak memberikan ID pendaftaran. Ketika diminta untuk menambahkan satu untuk pendaftaran individu, berikan nilai Anda sendiri.

  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 Modul Platform Tepercaya (TPM) sebagai mekanisme Pengesahan.
    Pengaturan Modul Platform Tepercaya (TPM) Berikan kunci dukungan yang akan digunakan untuk memverifikasi perangkat untuk pendaftaran ini. Anda dapat mengambil kunci dukungan dari TPM perangkat Anda.
    ID Pendaftaran Berikan ID pendaftaran unik untuk perangkat. Anda dapat mengambil ID pendaftaran dari TPM perangkat Anda.
    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.

Mendaftarkan perangkat

Di bagian ini, Anda akan mengonfigurasi kode sampel untuk menggunakan Advanced Message Queuing Protocol (AMQP) untuk mengirim urutan boot perangkat ke instans Device Provisioning Service Anda. Urutan boot ini menyebabkan perangkat didaftarkan ke hub IoT yang ditautkan ke instans Device Provisioning Service.

  1. Di portal Azure, pilih tab Gambaran Umum untuk Device Provisioning Service Anda.

  2. Salin nilai Cakupan ID.

    Extract Device Provisioning Service endpoint information from the portal

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

  4. Di dekat bagian atas file, temukan pernyataan #define untuk setiap protokol perangkat seperti yang ditunjukkan di bawah ini. Pastikan hanya SAMPLE_AMQP yang tidak dikomentari.

    Saat ini, protokol MQTT tidak didukung untuk Pendaftaran Individu TPM.

    //
    // The protocol you wish to use should be uncommented
    //
    //#define SAMPLE_MQTT
    //#define SAMPLE_MQTT_OVER_WEBSOCKETS
    #define SAMPLE_AMQP
    //#define SAMPLE_AMQP_OVER_WEBSOCKETS
    //#define SAMPLE_HTTP
    
  5. Cari konstanta id_scope, dan ganti nilainya dengan nilai Cakupan ID yang telah Anda salin sebelumnya.

    static const char* id_scope = "0ne00002193";
    
  6. Temukan definisi untuk fungsi main() dalam file yang sama. Pastikan variabel hsm_type diatur ke SECURE_DEVICE_TYPE_TPM seperti yang ditunjukkan di bawah ini.

    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. Klik kanan proyek prov_dev_client_sample dan pilih Atur sebagai Proyek Startup.

  8. Pada menu Visual Studio, pilih Debug>Mulai tanpa penelusuran kesalahan untuk menjalankan solusinya. Di perintah untuk membuat kembali proyek, pilih Ya, untuk membangun kembali proyeknya sebelum dijalankan.

    Output berikut adalah contoh sampel klien perangkat provisi yang berhasil di-boot, dan menyambungkan ke instans Device Provisioning Service untuk mendapatkan informasi hub IoT dan mendaftar:

    Provisioning API Version: 1.2.7
    
    Registering... Press enter key to interrupt.
    
    Provisioning Status: PROV_DEVICE_REG_STATUS_CONNECTED
    Provisioning Status: PROV_DEVICE_REG_STATUS_ASSIGNING
    Provisioning Status: PROV_DEVICE_REG_STATUS_ASSIGNING
    
    Registration Information received from service:
    test-docs-hub.azure-devices.net, deviceId: test-docs-cert-device
    
  1. Di portal Azure, pilih tab Gambaran Umum untuk Device Provisioning Service Anda.

  2. Salin nilai Cakupan ID.

    Copy provisioning service Scope ID from the portal blade

  3. Di wantian perintah, ubah direktori ke direktori proyek untuk sampel penyediaan perangkat TPM.

     cd '.\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\TpmSample\'
    
  4. Jalankan perintah berikut untuk mendaftarkan perangkat Anda. Ganti <IdScope> dengan nilai untuk DPS yang Anda salin dan <RegistrationId> dengan nilai yang Anda gunakan saat membuat pendaftaran perangkat.

    dotnet run -- -s <IdScope> -r <RegistrationId>
    

    Jika pendaftaran perangkat berhasil, Anda akan melihat pesan berikut:

    Initializing security using the local TPM...
    Initializing the device provisioning client...
    Initialized for registration Id <RegistrationId>.
    Registering with the device provisioning service...
    Registration status: Assigned.
    Device <RegistrationId> registered to <HubName>.azure-devices.net.
    Creating TPM authentication for IoT Hub...
    Testing the provisioned device with IoT Hub...
    Sending a telemetry message...
    Finished.
    
  1. Di portal Azure, pilih tab Gambaran Umum untuk Device Provisioning Service Anda.

  2. Salin nilai Cakupan ID.

    Extract Device Provisioning Service endpoint information from the portal blade

  3. Buka editor teks pilihan Anda.

  4. Di folder registerdevice, buat file RegisterDevice.js baru.

  5. Tambahkan pernyataan require berikut di awal file RegisterDevice.js:

    
    'use strict';
    
    var ProvisioningTransport = require('azure-iot-provisioning-device-http').Http;
    var iotHubTransport = require('azure-iot-device-mqtt').Mqtt;
    var Client = require('azure-iot-device').Client;
    var Message = require('azure-iot-device').Message;
    var tpmSecurity = require('azure-iot-security-tpm');
    var ProvisioningDeviceClient = require('azure-iot-provisioning-device').ProvisioningDeviceClient;
    

    Catatan

    Azure IoT SDK untuk Node.js mendukung protokol tambahan seperti AMQP, AMQP WS,dan MQTT WS. Untuk contoh selengkapnya, lihat sampel Device Provisioning Service SDK for Node.js.

  6. Tambahkan variabel globalDeviceEndpoint dan idScope dan gunakan untuk membuat instans ProvisioningDeviceClient. Ganti {globalDeviceEndpoint} dan {idScope} dengan nilai Global Device Endpoint dan ID Scope dari Langkah 1:

    
    var provisioningHost = '{globalDeviceEndpoint}';
    var idScope = '{idScope}';
    
    var tssJs = require("tss.js");
    var securityClient = new tpmSecurity.TpmSecurityClient('', new tssJs.Tpm(true));
    // if using non-simulated device, replace the above line with following:
    //var securityClient = new tpmSecurity.TpmSecurityClient();
    
    var provisioningClient = ProvisioningDeviceClient.create(provisioningHost, idScope, new ProvisioningTransport(), securityClient);
    
  7. Tambahkan fungsi berikut untuk mengimplementasikan metode pada perangkat:

    
    provisioningClient.register(function(err, result) {
      if (err) {
        console.log("error registering device: " + err);
      } else {
        console.log('registration succeeded');
        console.log('assigned hub=' + result.registrationState.assignedHub);
        console.log('deviceId=' + result.registrationState.deviceId);
        var tpmAuthenticationProvider = tpmSecurity.TpmAuthenticationProvider.fromTpmSecurityClient(result.registrationState.deviceId, result.registrationState.assignedHub, securityClient);
        var hubClient = Client.fromAuthenticationProvider(tpmAuthenticationProvider, iotHubTransport);
    
        var connectCallback = function (err) {
          if (err) {
            console.error('Could not connect: ' + err.message);
          } else {
            console.log('Client connected');
            var message = new Message('Hello world');
            hubClient.sendEvent(message, printResultFor('send'));
          }
        };
    
        hubClient.open(connectCallback);
    
        function printResultFor(op) {
          return function printResult(err, res) {
            if (err) console.log(op + ' error: ' + err.toString());
            if (res) console.log(op + ' status: ' + res.constructor.name);
            process.exit(1);
          };
        }
      }
    });
    
  8. Simpan dan tutup file RegisterDevice.js.

  9. Jalankan perintah berikut:

    node RegisterDevice.js
    
  10. Perhatikan pesan yang melakukan simulasi booting perangkat dan menghubungkan ke Device Provisioning Service untuk mendapatkan informasi hub IoT Anda.

  1. Di jendela perintah yang menjalankan kode sampel Java di komputer Anda, tekan Enter untuk terus menjalankan aplikasi. Perhatikan pesan yang melakukan simulasi booting perangkat dan menghubungkan ke Device Provisioning Service untuk mendapatkan informasi hub IoT Anda.

    Java TPM device program final

Konfirmasi pendaftaran provisi perangkat Anda

  1. Masuk ke portal 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 Explorers, pilih Perangkat IoT.

  1. Jika perangkat Anda berhasil diprovisikan, ID perangkat akan muncul dalam daftar, dengan Status diatur sebagai diaktifkan. Jika Anda tidak melihat perangkat, pilih Refresh di bagian atas halaman.

    Device is registered with the IoT hub for C

  1. Jika perangkat Anda berhasil diprovisikan, ID perangkat akan muncul dalam daftar, dengan Status diatur sebagai diaktifkan. Jika Anda tidak melihat perangkat, pilih Refresh di bagian atas halaman.

    Device is registered with the IoT hub for C#

  1. Jika perangkat Anda berhasil diprovisikan, ID perangkat akan muncul dalam daftar, dengan Status diatur sebagai diaktifkan. Jika Anda tidak melihat perangkat, pilih Refresh di bagian atas halaman.

    Device is registered with the IoT hub for Node.js

  1. Jika perangkat Anda berhasil diprovisikan, ID perangkat akan muncul dalam daftar, dengan Status diatur sebagai diaktifkan. Jika Anda tidak melihat perangkat, pilih Refresh di bagian atas halaman.

    Device is registered with the IoT hub

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.