Hızlı başlangıç: sanal bir TPM cihazı sağlama
bu hızlı başlangıçta, Windows makinenizde bir TPM sanal cihazı oluşturacaksınız. Cihazınızı yapılandırdıktan sonra Azure IoT Hub cihaz sağlama hizmeti 'ni kullanarak IoT Hub 'ınıza temin edersiniz. Daha sonra örnek kod, cihazı cihaz sağlama hizmeti örneğiyle kaydetme konusunda yardımcı olmak için kullanılacaktır
Sağlama işlemini bilmiyorsanız, sağlamaya genel bakış konusunu gözden geçirin. Ayrıca devam etmeden önce IoT Hub Cihazı Sağlama Hizmetini Azure portalıyla ayarlama bölümünde bulunan adımları tamamladığınızdan emin olun.
Azure IoT Cihaz Sağlama Hizmeti iki tür kaydı destekler:
Birden çok ilişkili cihazı kaydetmek için kullanılan kayıt grupları .
Tek bir cihazı kaydetmek için kullanılan bireysel kayıtlar.
Bu makalede, bireysel kayıtlar gösterilmektedir.
Ön koşullar
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Azure Portal Ile cihaz sağlama hizmeti kurma IoT Hubadımları uygulayın.
aşağıdaki önkoşullar Windows geliştirme ortamı içindir. Linux veya macOS için SDK belgelerinde geliştirme ortamınızı hazırlama konusunun ilgili bölümüne bakın.
- ' C++ ile masaüstü geliştirme ' iş yükünün etkin olduğu Visual Studio 2019. Visual Studio 2015 ve Visual Studio 2017 de desteklenir.
Windows tabanlı makinenizde .net Core 2,1 SDK veya üstünü yükler. Sürümünüzü denetlemek için aşağıdaki komutu kullanabilirsiniz.
dotnet --info
- Node.js v 4.0 +' yı yükler.
Python 2.x veya 3.x yükleyin. Kurulumunuzun gereksinimine uygun olarak 32 bit veya 64 bit yüklemeyi kullanmaya dikkat edin. Yükleme sırasında istendiğinde, platforma özgü ortam değişkeninize Python'u eklediğinizden emin olun.
Windows işletim sistemi kullanıyorsanız, Python 'dan yerel dll 'lerin kullanılmasına izin vermek için Visual C++ yeniden dağıtılabilir paketini yükleyebilirsiniz.
' C++ ile masaüstü geliştirme ' iş yükünün etkin olduğu Visual Studio 2019. Visual Studio 2015 ve Visual Studio 2017 de desteklenir.
makinenize yüklü Java SE Development Kit 8 veya üstünü yükleme.
Maven'ı indirip yükleyin.
- En son Git sürümünü yükleyin. Git 'in komut penceresine erişilebilen ortam değişkenlerine eklendiğinden emin olun.
gitYerel git deponuzla etkileşim kurmak için kullanabileceğiniz bir komut satırı uygulaması olan Git Bash' i içeren en son araçlar sürümüne yönelik yazılım özgürlüğü ve git istemci araçları konusuna bakın.
Geliştirme ortamınızı hazırlama
Bu bölümde, Azure IoT C SDK 'sını ve TPM cihaz simülatörü örneğini oluşturmak için kullanılan bir geliştirme ortamı hazırlarsınız.
En son CMake derleme sisteminiindirin.
Önemli
yüklemeye başlamadan önce Visual Studio önkoşulları (Visual Studio ve "C++ ile masaüstü geliştirme" iş yükü) makinenizde yüklü olduğunu doğrulayın
CMake. Önkoşullar sağlandıktan ve indirme doğrulandıktan sonra, CMake derleme sistemini yükleyin. Ayrıca, CMake derleme sisteminin eski sürümlerinin bu makalede kullanılan çözüm dosyasını üretmeyeceği hakkında dikkat edin. CMake 'in en son sürümünü kullandığınızdan emin olun.Bir Web tarayıcısı açın ve Azure IoT C SDK 'Nın yayın sayfasınagidin.
Sayfanın üst kısmındaki Etiketler sekmesini seçin.
Azure IoT C SDK 'sının en son sürümü için etiket adı ' nı kopyalayın.
Komut istemini veya Git Bash kabuğunu açın. Azure ıot C SDK GitHub deposunun en son sürümünü kopyalamak için aşağıdaki komutları çalıştırın. (
<release-tag>önceki adımda kopyaladığınız etiketle değiştirin).git clone -b <release-tag> https://github.com/Azure/azure-iot-sdk-c.git cd azure-iot-sdk-c git submodule update --initBu işlemin tamamlanması birkaç dakika sürebilir.
İşlem tamamlandığında, dizininden aşağıdaki komutları çalıştırın
azure-iot-sdk-c:mkdir cmake cd cmake
Git CMD veya git Bash komut satırı ortamını açın.
aşağıdaki komutu kullanarak C# GitHub için Azure ıot örneklerini kopyalayın:
git clone https://github.com/Azure-Samples/azure-iot-samples-csharp.git
Git CMD veya git Bash komut satırı ortamını açın.
aşağıdaki komutu kullanarak azure-utpm-c GitHub deposunu kopyalayın:
git clone https://github.com/Azure/azure-utpm-c.git --recursive
Git CMD veya git Bash komut satırı ortamını açın.
aşağıdaki komutu kullanarak Python GitHub deposunu kopyalayın:
git clone --single-branch --branch v1-deprecated https://github.com/Azure/azure-iot-sdk-python.git --recursivecmake derleme işlemi için bu GitHub deposunun yerel kopyasında bir klasör oluşturun.
cd azure-iot-sdk-python/c mkdir cmake cd cmakePython paketlerini derlemek için bu yönergeleri uygulayın.
Not
build_client.cmdçalıştırıyorsanız--use-tpm-simulatorbayrağını kullandığınızdan emin olun.Not
pipkullanıyorsanızazure-iot-provisioning-device-clientpaketini de yüklemeyi unutmayın. Yayımlanan PIP paketlerinin simülatörü değil gerçek TPM uygulamasını kullandığına dikkat edin. Simülatörü kullanmak için--use-tpm-simulatorişaretini kullanarak kaynaktan derlemeniz gerekir.
Git CMD veya git Bash komut satırı ortamını açın.
aşağıdaki komutu kullanarak Java GitHub deposunu kopyalayın:
git clone https://github.com/Azure/azure-iot-sdk-java.git --recursive
TPM cihaz simülatörü oluşturma ve çalıştırma
Bu bölümde TPM simülatörü oluşturup çalıştıracaksınız. Bu simülatör 2321 ve 2322 bağlantı noktalarında bulunan bir yuva üzerinden dinler. Komut penceresini kapatmayın. Bu hızlı başlangıç bitene kadar bu simülatörü çalışır durumda tutmanız gerekir.
TPM cihaz simülatörü örnek kodunu içeren Azure IoT C SDK 'Yı derlemek için aşağıdaki komutu çalıştırın. sanal cihaz için bir Visual Studio çözümü
cmakedizinde oluşturulur. Bu örnek, Paylaşılan Erişim İmzası (SAS) Belirteci kimlik doğrulaması yoluyla bir TPM kanıtlama mekanizması sağlar.cmake -Duse_prov_client:BOOL=ON ..İpucu
cmakeC++ derleyicisini bulamazsa, yukarıdaki komutu çalıştırırken derleme hataları alabilirsiniz. bu durumda, komutu Visual Studio komut istemindeçalıştırmayı deneyin.Derleme başarılı olduğunda, son birkaç çıktı satırı aşağıdaki çıktıya benzer şekilde görünür:
$ 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/cmakeKlonladığınız git deposunun kök klasörüne gidin.
Aşağıda gösterilen yolu kullanarak TPM simülatörünü çalıştırın.
cd .. .\provisioning_client\deps\utpm\tools\tpm_simulator\Simulator.exeSimülatör hiçbir çıkış görüntülemez. Bir TPM cihazına benzediğinden çalışmaya devam etmesine izin verin.
Cihaz sağlama hizmetinizin ana menüsünde genel bakış' ı seçin.
Kimlik kapsamı değerini kopyalayın.

Komut isteminde dizini TPM cihaz sağlama örneğinin proje dizini olacak şekilde değiştirin.
cd .\azure-iot-samples-csharp\provisioning\Samples\device\TpmSampleTPM cihaz sağlama örneğini derlemek ve çalıştırmak için aşağıdaki komutu yazın (
<IDScope>sağlama HIZMETINIZIN kimlik kapsamıyla değiştirin).dotnet run <IDScope>Not
Bu komut, TPM yonga simülatörünü ayrı bir komut isteminde başlatacaktır. Windows,
Simulator.exeortak ağlarda iletişim kurmasına izin vermek isteyip istemediğinizi soran bir Windows Güvenliği uyarısıyla karşılaşabilirsiniz. Bu örneğin amaçları doğrultusunda, isteği iptal edebilirsiniz.Özgün komut penceresinde, cihaz kaydı için gereken onay anahtarı, kayıt kimliği ve önerilen cihaz kimliği görüntülenir. Bu değerleri bir yere göz atın. Bu değeri, cihaz sağlama hizmeti Örneğinizde tek bir kayıt oluşturmak için kullanacaksınız.
Not
Komut çıktısını içeren pencereyi TPM simülatörü çıktısını içeren pencereyle karıştırmayın. Ön plana getirmek için özgün komut penceresini seçmeniz gerekebilir.
GitHub kök klasörüne gidin.
Sanal cihaz için HSM olması için TPM simülatörünü çalıştırın.
.\azure-utpm-c\tools\tpm_simulator\Simulator.exeregisterdevice adlı yeni, boş bir klasör oluşturun. Registerdevice klasöründe, komut isteminizin aşağıdaki komutunu kullanarak bir Package. JSON dosyası oluşturun (ile istenen tüm soruları yanıtlayıp
npmveya size uygunsa Varsayılanları kabul ettiğinizden emin olun):npm initAşağıdaki precursor paketlerini yükleyin:
npm install node-gyp -g npm install ffi -gNot
Yukarıdaki paketleri yüklerken bazı bilinen sorunlarla karşılaşabilirsiniz. Bu sorunları çözmek için, Yönetici olarak çalıştır modunda açtığınız komut istemini kullanarak
npm install --global --production windows-build-toolskomutunu çalıştırın; yolu, yüklü sürümünüzle değiştirdikten sonraSET VCTargetsPath=C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140komutunu çalıştırın ve ardından yukarıdaki yükleme komutlarını yeniden çalıştırın.Aşağıdaki komutu çalıştıran tüm gerekli paketleri registerdevice klasöründe komut istemde çalıştırın:
npm install --save azure-iot-device azure-iot-device-mqtt azure-iot-security-tpm azure-iot-provisioning-device-http azure-iot-provisioning-deviceKomut aşağıdaki paketleri yüklenir:
TPM ile çalışan bir güvenlik istemcisi:
azure-iot-security-tpmcihazın, Cihaz Sağlama Hizmeti’ne bağlanması için bir aktarım:
azure-iot-provisioning-device-httpveyaazure-iot-provisioning-device-amqpaktarım veya güvenlik istemcisini kullanmak için bir istemci:
azure-iot-provisioning-devicecihaz istemcisi:
azure-iot-deviceaktarım:
azure-iot-device-amqp,azure-iot-device-mqttveyaazure-iot-device-httpöğelerinden herhangi biriönceden yüklemiş olduğunuz güvenlik istemcisi:
azure-iot-security-tpmNot
Bu hızlı başlangıçtaki örnekler ve
azure-iot-provisioning-device-httpazure-iot-device-mqttaktarımlarını kullanır.
Seçimlerinizi bir metin düzenleyicisi açın.
registerdevice klasöründe yeni birExtractDevice.js oluşturun.
Aşağıdaki
requiredeyimlerini ExtractDevice.js dosyasının başlangıcına ekleyin:'use strict'; var tpmSecurity = require('azure-iot-security-tpm'); var tssJs = require("tss.js"); var myTpm = new tpmSecurity.TpmSecurityClient(undefined, new tssJs.Tpm(true));Yöntemi uygulamak için aşağıdaki işlevi ekleyin:
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(); } }); } });ExtractDevice.js dosyasını kaydedip kapatın.
node ExtractDevice.jsÖrnek uygulamayı çalıştırın.
Çıkış penceresinde cihaz kaydı için gereken Onay anahtarı ve Kayıt Kimliği görüntülenir. Bu değerleri kopyalayın.
SAS belirteci kimlik doğrulamasını etkinleştirmek için aşağıdaki komutu çalıştırın (komut sanal cihaz için Visual Studio bir çözüm de üretir):
cmake -Duse_prov_client:BOOL=ON -Duse_tpm_simulator:BOOL=ON ..İkinci bir komut istemi açın.
İkinci komut isteminde TPM simülatörü klasörüne gidin.
Sanal cihazın HSM'si olmak için TPM simülatörünü çalıştırın.
Erişime İzin Ver'i seçin. Simülatör, 2321 ve 2322 bağlantı noktalarında bir yuvayı dinler. Bu komut penceresini kapatabilirsiniz; Bu hızlı başlangıç kılavuzunun sonuna kadar simülatörü çalıştırmaya devam edin.
.\azure-iot-sdk-python\c\provisioning_client\deps\utpm\tools\tpm_simulator\Simulator.exe

Sanal cihazın HSM'si olmak için TPM simülatörünü çalıştırın.
Erişime İzin Ver'i seçin. Simülatör, 2321 ve 2322 bağlantı noktalarında bir yuvayı dinler. Bu komut penceresini kapatabilirsiniz; Bu hızlı başlangıç kılavuzunun sonuna kadar simülatörü çalıştırmaya devam edin.
.\azure-iot-sdk-java\provisioning\provisioning-tools\tpm-simulator\Simulator.exe
İkinci bir komut istemi açın.
İkinci komut isteminde kök klasöre gidin ve örnek bağımlılıkları oluşturun.
cd azure-iot-sdk-java mvn install -DskipTests=trueÖrnek klasörüne gidin.
cd provisioning/provisioning-samples/provisioning-tpm-sample
TPM cihazından şifreleme anahtarlarını okuma
Bu bölümde, çalıştırarak bıraktığınız TPM simülatöründen onay anahtarını ve kayıt kimliğini okuma ve hala 2321 ve 2322 bağlantı noktalarını dinleyen bir örnek derleme ve yürütmeniz gerekir. Bu değerler, Cihaz Sağlama Hizmeti örneğinize cihaz kaydı için kullanılacak.
Visual Studio.
adlı cmake klasöründe oluşturulan çözümü
azure_iot_sdks.slnaçın.Çözüm Visual Studio çözümü derlemek > için Derleme Çözümü'ne tıklayın.
Visual Studio'nun Çözüm Gezgini penceresinde Sağlama_Araçları klasörüne gidin. tpm_device_provision projesine sağ tıklayın ve Başlangıç Projesi Olarak Ayarla’yı seçin.
Çözüm Visual Studio hata ayıklamadan > başlat'ı seçerek çözümü çalıştırın. Uygulama bir Kayıt Kimliği ve Onay anahtarı okur ve görüntüler. Bu değerleri not veya kopyalayın. Bunlar, cihaz kaydı için sonraki bölümde kullanılacaktır.
Visual Studio.
adlı cmake klasöründe oluşturulan çözümü
azure_iot_sdks.slnaçın.Çözüm Visual Studio çözümü derlemek > için Derleme Çözümü'ne tıklayın.
tpm_device_provision projesine sağ tıklayın ve Başlangıç Projesi Olarak Ayarla’yı seçin.
Çözümü çalıştırın. Çıkış penceresinde cihaz kaydı için gereken Onay anahtarı ve Kayıt Kimliği görüntülenir. Bu değerleri kopyalayın.
Azure portal oturum açın, sol menüden Tüm kaynaklar düğmesini seçin ve Cihaz Sağlama Hizmetinizi açın. Kimlik Kapsamı ve Sağlama Hizmeti Genel Uç Noktası değerlerini not edin.

src/main/java/samples/com/microsoft/azure/sdk/iot/ProvisioningTpmSample.javagirişini düzenleyerek önceden not ettiğiniz Kimlik Kapsamı ve Sağlama Hizmeti Genel Uç Noktası değerlerini girin.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;Dosyayı kaydedin.
Projeyi derlemek, hedef klasöre gitmek ve oluşturulan .jar dosyasını yürütmek için aşağıdaki komutları kullanın (java
{version}sürümünüzle değiştirin):mvn clean install cd target java -jar ./provisioning-tpm-sample-{version}-with-deps.jarProgram çalıştırmaya başladığında Onay anahtarı ve Kayıt Kimliği görüntülenir. Sonraki bölüm için bu değerleri kopyalayın. Programı açık bırakarak emin olun.
Cihaz kaydı girişi oluşturma
Azure Portal oturum açın.
Sol menüde veya portal sayfasında Tüm kaynaklar'ı seçin.
Cihaz Sağlama Hizmetinizi seçin.
Kayıt Ayarlar Kayıtları yönet'i seçin.
Sayfanın üst kısmında + Bireysel kayıt ekle'yi seçin.
Kayıt Ekle paneline aşağıdaki bilgileri girin:
Kimlik onay Mekanizması olarak TPM seçeneğini belirleyin.
Tpm cihazınızın Kayıt Kimliği ve Onay anahtarını daha önce not alan değerlerden girin.
Sağlama hizmetinizle bağlanacak IoT hub'ını seçin.
İsteğe bağlı olarak, aşağıdaki bilgileri sağlayabilirsiniz:
- Benzersiz bir Cihaz Kimliği girin (önerilen test-docs-device'ı kullanabilir veya kendi cihazlarınızı silebilir). Cihazınızı adlandırırken gizli veriler kullanmaktan kaçının. Sağlamayı seçmezsiniz, bunun yerine cihazı tanımlamak için kayıt kimliği kullanılır.
- Başlangıç cihaz ikizi durumu alanını cihaz için istenen başlangıç yapılandırmasına göre güncelleştirin.
Tamamlandıktan sonra Kaydet düğmesine basın.

Kaydet’i seçin.
Cihazı kaydetme
Bu bölümde, cihazın önyükleme sırasını Cihaz Sağlama Hizmeti örneğine göndermek için Gelişmiş İleti Sıraya Alma Protokolü (AMQP) kullanmak üzere örnek kodu yapılandıracağız. Bu önyükleme sırası, cihazın Cihaz Sağlama Hizmeti örneğine bağlı bir IoT hub'a kayıtlı olmasına neden olur.
Hizmet Azure portal, Cihaz Sağlama Hizmetinizin Genel Bakış sekmesini seçin.
Kimlik Kapsamı değerini kopyalayın.

Visual Studio'nun Çözüm Gezgini penceresinde Sağlama_Örnekleri klasörüne gidin. prov_dev_client_sample adlı örnek projeyi genişletin. Kaynak Dosyalar'ı genişletin ve prov_dev_client_sample.c dosyasını açın.
Dosyanın üst kısmında, aşağıda gösterildiği gibi her cihaz protokolü için
#definedeyimlerini bulun. YalnızcaSAMPLE_AMQPöğesinin açıklama haline getirilmediğinden emin olun.Şu anda, TPM Bireysel Kaydı için MQTT protokolü desteklenmemektedir.
// // 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_HTTPid_scopesabitini bulun ve değeri daha önce kopyalamış olduğunuz Kimlik Kapsamı değerinizle değiştirin.static const char* id_scope = "0ne00002193";Aynı dosyada
main()işlevinin tanımını bulun.hsm_typedeğişkeninin aşağıda gösterildiği gibiSECURE_DEVICE_TYPE_TPMyerineSECURE_DEVICE_TYPE_X509değerine ayarlandığından emin olun.SECURE_DEVICE_TYPE hsm_type; //hsm_type = SECURE_DEVICE_TYPE_TPM; hsm_type = SECURE_DEVICE_TYPE_X509;prov_dev_client_sample projesine sağ tıklayın ve Başlangıç Projesi Olarak Ayarla’yı seçin.
Çözüm Visual Studio hata ayıklamadan > başlat'ı seçerek çözümü çalıştırın. Projeyi yeniden oluşturma isteminde Evet'i seçerek projeyi çalıştırmadan önce yeniden çalıştırın.
Aşağıdaki çıkış, başarıyla önyüklemesi yapılan cihaz istemci örneğini sağlama ve IoT hub bilgilerini almak üzere Cihaz Sağlama Hizmeti'ne bağlanıp kaydolma işlemlerinin bir örneğidir:
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
Hizmet Azure portal, Cihaz Sağlama Hizmetinizin Genel Bakış sekmesini seçin.
Kimlik Kapsamı değerini kopyalayın.

Tercih istediğiniz bir metin düzenleyicisini açın.
Registerdevice klasöründe yeni bir RegisterDevice.js dosyası oluşturun.
requireRegisterDevice.js dosyasının başlangıcına aşağıdaki deyimlerini ekleyin:'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;Not
Node.js için Azure IoT SDK'sı, AMQP, AMQP WS ve MQTT WS gibi ek protokolleri destekler. Diğer örnekler için bkz. Node.js için Cihaz Sağlama Hizmeti SDK'sı örnekleri.
globalDeviceEndpoint ve idScope değişkenlerini ekleyin ve ProvisioningDeviceClient örneğini oluştururken bunları kullanın. {globalDeviceEndpoint} ve {idScope} değerlerini 1. Adım’daki Genel Cihaz Uç Noktası ve Kimlik Kapsamı değerleriyle değiştirin:
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);Yöntemi cihazda uygulamak için aşağıdaki işlevi ekleyin:
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); }; } } });RegisterDevice.js dosyasını kaydedip kapatın.
Şu komutu çalıştırın:
node RegisterDevice.jsIoT hub bilgilerinizi almak için cihaz önyüklemesi ve Cihaz Sağlama Hizmetine bağlanma benzetimi gerçekleştiren iletilere dikkat edin.
Git deposunun örnekler klasörüne gidin.
cd azure-iot-sdk-python/provisioning_device_client/samplesPython IDE 'nizi kullanarak, sağlama _ aygıtı _ Client _ Sample.py (replace) adlı Python betiğini
{globalServiceEndpoint}ve{idScope}daha önce kopyaladığınız değerleri düzenleyin. Ayrıca Güvenlik _ cihaz _ türünün olarak ayarlandığından emin olunProvisioningSecurityDeviceType.TPM.GLOBAL_PROV_URI = "{globalServiceEndpoint}" ID_SCOPE = "{idScope}" SECURITY_DEVICE_TYPE = ProvisioningSecurityDeviceType.TPM PROTOCOL = ProvisioningTransportProvider.HTTP
Örnek uygulamayı çalıştırın.
python provisioning_device_client_sample.pyIoT hub bilgilerinizi almak için cihaz önyüklemesi ve Cihaz Sağlama Hizmetine bağlanma benzetimi gerçekleştiren iletilere dikkat edin.
Makinenizde Java örnek kodunu çalıştıran komut penceresinde, uygulamayı çalıştırmaya devam etmek için ENTER tuşuna basın. IoT hub bilgilerinizi almak için cihaz önyüklemesi ve Cihaz Sağlama Hizmetine bağlanma benzetimi gerçekleştiren iletilere dikkat edin.

Cihaz sağlama kaydınızı onaylayın
Azure Portal gidin.
Sol taraftaki menüde veya portal sayfasında, tüm kaynaklar' ı seçin.
Cihazınızın atandığı IoT Hub 'ını seçin.
Araştırıcılar menüsünde IoT cihazları' nı seçin.
Cihazınız başarıyla sağlandıysa, cihaz KIMLIĞI listede, durum etkin olarak ayarlanmış olarak görünmelidir. Cihazınızı görmüyorsanız sayfanın en üstündeki Yenile ' yi seçin.





Not
Cihazınız için başlangıç cihaz ikizi durumu ayarının kayıt girişindeki varsayılan değerini değiştirdiyseniz istenen ikili durumu hub'dan çekerek ona göre hareket edebilir. Daha fazla bilgi için bkz. IoT Hub cihaz TWINS 'ı anlama ve kullanma.
Kaynakları temizleme
Cihaz istemci örneğini üzerinde çalışmaya ve keşfetmeye devam etmeyi planlıyorsanız, bu hızlı başlangıçta oluşturulan kaynakları temizlemeyin. Devam etmeyi planlamıyorsanız, bu hızlı başlangıç tarafından oluşturulan tüm kaynakları silmek için aşağıdaki adımları kullanın.
Cihaz kaydını silme
Makinenizde cihaz istemci örnek çıktı penceresini kapatın.
Azure portal sol taraftaki menüden tüm kaynaklar' ı seçin.
Cihaz sağlama hizmetinizi seçin.
Ayarlar menüsünde kayıtları yönet' i seçin.
Bireysel kayıtlar sekmesini seçin.
Bu hızlı başlangıçta kaydettiğiniz cihazın kayıt kimliği ' nin yanındaki onay kutusunu işaretleyin.
Sayfanın üst kısmında Sil' i seçin.
IoT Hub 'tan cihaz kaydınızı silme
Azure portal sol taraftaki menüden tüm kaynaklar' ı seçin.
IoT Hub 'ınızı seçin.
Araştırıcılar menüsünde IoT cihazları' nı seçin.
Bu hızlı başlangıçta kaydettiğiniz cihazın CIHAZ kimliği ' nin yanındaki onay kutusunu işaretleyin.
Sayfanın üst kısmında Sil' i seçin.
Sonraki adımlar
Bu hızlı başlangıçta, makinenizde bir TPM sanal cihazı oluşturdunuz ve IoT Hub cihaz sağlama hizmetini kullanarak IoT Hub 'ınıza sağladınız. TPM cihazınızı programlı bir şekilde kaydetmeyi öğrenmek için bir TPM cihazının programlı kaydı için hızlı başlangıç 'a geçin.