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:
Grup pendaftaran yang digunakan untuk mendaftarkan beberapa perangkat terkait.
Pendaftaran individual yang digunakan untuk mendaftarkan satu perangkat.
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
Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.
Selesaikan langkah-langkah dalam Menyiapkan IoT Hub Device Provisioning Service dengan portal Microsoft Azure.
Prasyarat berikut adalah untuk lingkungan pengembangan Windows. Untuk Linux atau macOS, lihat bagian yang sesuai di Menyiapkan lingkungan pengembangan dalam dokumentasi SDK.
- Visual Studio 2019 dengan beban kerja 'Pengembangan desktop dengan C++' yang telah diaktifkan. Visual Studio 2015 dan Visual Studio 2017 juga didukung.
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
- Instal Node.js v4.0+.
Instal Java SE Development Kit 8 atau yang lebih baru di komputer Anda.
Unduh dan pasang Maven.
- 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.
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.Buka browser web, dan buka halaman Rilis Azure IoT C SDK.
Pilih tab Tag di bagian atas halaman.
Salin nama tag untuk rilis terbaru Azure IoT C SDK.
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.
Setelah operasi selesai, jalankan perintah berikut dari direktori
azure-iot-sdk-c
:mkdir cmake cd cmake
Buka lingkungan baris perintah Git CMD atau Git Bash.
Kloning repositori Azure IoT SDK for C# GitHub menggunakan perintah berikut:
git clone https://github.com/Azure/azure-iot-sdk-csharp.git
Buka lingkungan baris perintah Git CMD atau Git Bash.
Kloning repositori GitHub azure-utpm-c menggunakan perintah berikut:
git clone https://github.com/Azure/azure-utpm-c.git --recursive
Buka lingkungan baris perintah Git CMD atau Git Bash.
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.
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.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
Masuk ke folder akar repositori git yang Anda kloning.
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.
Buka folder akar GitHub.
Jalankan simulator TPM untuk menjadi HSM untuk perangkat yang disimulasikan.
.\azure-utpm-c\tools\tpm_simulator\Simulator.exe
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
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, jalankanSET 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.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
atauazure-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
, atauazure-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
danazure-iot-device-mqtt
.
Buka editor teks pilihan Anda.
Di folder registerdevice, buat file ExtractDevice.js baru.
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));
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(); } }); } });
Simpan dan tutup file ExtractDevice.js.
node ExtractDevice.js
Jalankan sampel.
Jendela output menampilkan kunci Endorsement dan ID Pendaftaran yang diperlukan untuk pendaftaran perangkat. Salin nilai ini.
Jalankan simulator TPM untuk menjadi HSM untuk perangkat yang disimulasikan.
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
Buka perintah kedua.
Di perintah kedua, navigasi ke folder akar dan build dependensi sampel.
cd azure-iot-sdk-java mvn install -DskipTests=true
Navigasi ke folder sampel.
cd provisioning/provisioning-samples/provisioning-tpm-sample
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.
Luncurkan Visual Studio.
Buka solusi yang dibuat di folder cmake bernama
azure_iot_sdks.sln
.Pada menu Visual Studio, pilih Bangun>Bangun Solusi untuk membangun semua proyek dalam solusi.
Di jendela Penjelajah Solusi Visual Studio, navigasikan ke folder Provision_Tools. Klik kanan proyek tpm_device_provision lalu pilih Atur sebagai Proyek Rintisan.
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.
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.
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;
Simpan file.
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
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.
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\'
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
Masuk ke portal Microsoft Azure dan navigasikan ke instans Device Provisioning Service.
Pilih Kelola pendaftaran dari bagian Pengaturan pada menu navigasi.
Pilih tab Pendaftaran individual, lalu pilih Tambahkan pendaftaran individual.
Pada pendaftaran + provisi halaman 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. Pilih Berikutnya: Hub IoT.
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.Pilih Berikutnya: Pengaturan perangkat
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.
Pilih Berikutnya: Tinjau + buat.
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.
Masuk ke portal Microsoft Azure dan navigasikan ke instans Device Provisioning Service.
Pilih Kelola pendaftaran dari bagian Pengaturan pada menu navigasi.
Pilih tab Pendaftaran individual, lalu pilih Tambahkan pendaftaran individual.
Pada pendaftaran + provisi halaman 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. Pilih Berikutnya: Hub IoT.
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.Pilih Berikutnya: Pengaturan perangkat
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.
Pilih Berikutnya: Tinjau + buat.
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.
Di portal Azure, pilih tab Gambaran Umum untuk Device Provisioning Service Anda.
Salin nilai Cakupan ID.
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.
Di dekat bagian atas file, temukan pernyataan
#define
untuk setiap protokol perangkat seperti yang ditunjukkan di bawah ini. Pastikan hanyaSAMPLE_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
Cari konstanta
id_scope
, dan ganti nilainya dengan nilai Cakupan ID yang telah Anda salin sebelumnya.static const char* id_scope = "0ne00002193";
Temukan definisi untuk fungsi
main()
dalam file yang sama. Pastikan variabelhsm_type
diatur keSECURE_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;
Klik kanan proyek prov_dev_client_sample dan pilih Atur sebagai Proyek Startup.
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
Di portal Azure, pilih tab Gambaran Umum untuk Device Provisioning Service Anda.
Salin nilai Cakupan ID.
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\'
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.
Di portal Azure, pilih tab Gambaran Umum untuk Device Provisioning Service Anda.
Salin nilai Cakupan ID.
Buka editor teks pilihan Anda.
Di folder registerdevice, buat file RegisterDevice.js baru.
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.
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);
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); }; } } });
Simpan dan tutup file RegisterDevice.js.
Jalankan perintah berikut:
node RegisterDevice.js
Perhatikan pesan yang melakukan simulasi booting perangkat dan menghubungkan ke Device Provisioning Service untuk mendapatkan informasi hub IoT Anda.
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.
Konfirmasi pendaftaran provisi perangkat Anda
Masuk ke portal Azure.
Di menu sebelah kiri atau di halaman portal, pilih Semua sumber daya.
Pilih hub IoT tempat penetapan perangkat Anda.
Di menu Explorers, pilih Perangkat IoT.
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.
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.
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.
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.
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
Tutup jendela output sampel klien perangkat di komputer Anda.
Dari menu sebelah kiri di portal Azure, pilih Semua sumber daya.
Pilih Device Provisioning Service Anda.
Di menu Pengaturan, pilih Kelola pendaftaran.
Pilih tab Pendaftaran individual.
Pilih kotak centang di samping ID pendaftaran perangkat yang Anda daftarkan dalam mulai cepat ini.
Di bagian atas halaman, pilih Hapus.
Menghapus pendaftaran perangkat Anda dari IoT Hub
Dari menu sebelah kiri di portal Azure, pilih Semua sumber daya.
Pilih IoT hub Anda.
Di menu Explorers, pilih Perangkat IoT.
Pilih kotak centang di samping ID perangkat perangkat yang Anda daftarkan dalam mulai cepat ini.
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.