Rychlý start: Zřízení simulovaného zařízení TPM
V tomto rychlém startu vytvoříte simulované zařízení na počítači s Windows. Simulované zařízení se nakonfiguruje tak, aby pro ověřování používalo mechanismus ověření čipu TPM (Trusted Platform Module). Jakmile zařízení nakonfigurujete, zřídíte ho pro centrum IoT pomocí služby Azure IoT Hub Device Provisioning. Vzorový kód se pak použije k registraci zařízení v instanci služby Device Provisioning.
Pokud neznáte proces zřizování, projděte si přehled zřizování . Než budete pokračovat, ujistěte se také, že jste provedli kroky uvedené v tématu Nastavení služby IoT Hub Device Provisioning Service pomocí webu Azure Portal.
Služba Azure IoT Device Provisioning podporuje dva typy registrací:
Skupiny registrací, které se používají k registraci více souvisejících zařízení.
Jednotlivé registrace , které se používají k registraci jednoho zařízení.
Tento článek ukazuje jednotlivé registrace.
Ověření identity čipu TPM (Trusted Platform Module) není v sadě Python SDK podporované. V Pythonu můžete zřídit zařízení pomocí symetrických klíčů nebo certifikátů X.509.
Požadavky
Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Proveďte kroky v části Nastavení služby IoT Hub Device Provisioning pomocí webu Azure Portal.
Následující předpoklady jsou pro vývojové prostředí Windows. Informace o Linuxu nebo macOS najdete v příslušné části Přípravy vývojového prostředí v dokumentaci k sadě SDK.
- Visual Studio 2019 s povolenou úlohou Vývoj desktopových aplikací v jazyce C++ . Podporují se také sady Visual Studio 2015 a Visual Studio 2017.
Modul hardwarového zabezpečení TPM 2.0 na počítači s Windows.
Nainstalujte na počítač se systémem Windows sadu .NET Core SDK 6.0 nebo novější. Ke kontrole verze můžete použít následující příkaz.
dotnet --info
- Nainstalujte Node.js verze 4.0 nebo novější.
Nainstalujte na počítač sadu Java SE Development Kit 8 nebo novější.
Stáhněte a nainstalujte Maven.
- Nainstalujte nejnovější verzi Git. Ujistěte se, že je Git přidaný do proměnných prostředí, které jsou přístupné pro příkazové okno. Nejnovější verzi nástrojů pro instalaci, včetně Git Bashu, aplikace příkazového řádku, kterou můžete použít k interakci s místním úložištěm Git, najdete v klientských nástrojích
git
Gitu společnosti Software Freedom Conservancy.
Příprava vývojového prostředí
V této části připravíte vývojové prostředí, které se používá k sestavení sady Azure IoT C SDK a ukázky simulátoru zařízení TPM .
Stáhněte si nejnovější systém sestavení CMake.
Důležité
Před zahájením instalace ověřte, že jsou na vašem počítači nainstalované požadavky sady Visual Studio (Visual Studio a úloha Vývoj desktopových aplikací pomocí jazyka
CMake
C++). Jakmile jsou požadované součásti k dispozici a stažený soubor je ověřený, nainstalujte sestavovací systém CMake. Mějte také na paměti, že starší verze systému sestavení CMake se nedaří vygenerovat soubor řešení použitý v tomto článku. Ujistěte se, že používáte nejnovější verzi CMake.Otevřete webový prohlížeč a přejděte na stránku vydání sady Azure IoT C SDK.
Vyberte kartu Značky v horní části stránky.
Zkopírujte název značky pro nejnovější verzi sady Azure IoT C SDK.
Otevřete prostředí příkazového řádku nebo Git Bash. Spuštěním následujících příkazů naklonujte nejnovější verzi sady Azure IoT Device SDK pro úložiště GitHub pro C . Nahraďte
<release-tag>
značkou, kterou jste zkopírovali v předchozím kroku, například: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
Dokončení této operace může trvat několik minut.
Po dokončení operace spusťte z
azure-iot-sdk-c
adresáře následující příkazy:mkdir cmake cd cmake
Otevřete prostředí příkazového řádku Gitu nebo Git Bash.
Pomocí následujícího příkazu naklonujte úložiště Azure IoT SDK pro GitHub pro C# :
git clone https://github.com/Azure/azure-iot-sdk-csharp.git
Otevřete prostředí příkazového řádku Gitu nebo Git Bash.
Naklonujte úložiště GitHubu azure-utpm-c pomocí následujícího příkazu:
git clone https://github.com/Azure/azure-utpm-c.git --recursive
Otevřete prostředí příkazového řádku Gitu nebo Git Bash.
Naklonujte úložiště GitHub v Javě pomocí následujícího příkazu:
git clone https://github.com/Azure/azure-iot-sdk-java.git --recursive
Sestavení a spuštění simulátoru zařízení TPM
V této části sestavíte a spustíte simulátor TPM. Tento simulátor naslouchá přes soket na portech 2321 a 2322. Nezavírejte příkazové okno. Tento simulátor budete muset nechat spuštěný až do konce tohoto rychlého startu.
Spuštěním následujícího příkazu sestavte sadu Azure IoT C SDK, která obsahuje ukázkový kód simulátoru zařízení TPM. V adresáři se vygeneruje
cmake
řešení sady Visual Studio pro simulované zařízení. Tato ukázka poskytuje mechanismus osvědčení TPM prostřednictvím ověřování tokenu sdíleného přístupového podpisu (SAS).cmake -Duse_prov_client:BOOL=ON -Duse_tpm_simulator:BOOL=ON ..
Tip
Pokud
cmake
kompilátor jazyka C++ nenajdete, může se při spuštění výše uvedeného příkazu zobrazit chyby sestavení. Pokud k tomu dojde, zkuste příkaz spustit v příkazovém řádku sady Visual Studio.Po úspěšném sestavení vypadá posledních několik výstupních řádků podobně jako následující výstup:
$ 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
Přejděte do kořenové složky úložiště Git, které jste naklonovali.
Pomocí níže uvedené cesty spusťte simulátor TPM.
cd .. .\provisioning_client\deps\utpm\tools\tpm_simulator\Simulator.exe
Simulátor nezobrazuje žádný výstup. Nechte ho běžet, jak simuluje zařízení TPM.
Přejděte do kořenové složky GitHubu.
Spusťte simulátor TPM, který bude modulem HSM pro simulované zařízení.
.\azure-utpm-c\tools\tpm_simulator\Simulator.exe
Vytvořte novou prázdnou složku s názvem registerdevice. Ve složce registerdevice vytvořte soubor package.json pomocí následujícího příkazu na příkazovém řádku (v případě, že vám vyhovují, nezapomeňte odpovědět na všechny otázky
npm
nebo přijmout výchozí hodnoty):npm init
Nainstalujte následující balíčky prekurzorů:
npm install node-gyp -g npm install ffi-napi -g
Poznámka:
Při instalaci výše uvedených balíčků dochází k několika známým problémům. Tyto problémy vyřešíte tak, že na příkazovém řádku v režimu Spustit jako správce spustíte příkaz
npm install --global --production windows-build-tools
, pak spustíte příkazSET VCTargetsPath=C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140
, ve kterém použijete cestu k vaší nainstalované verzi, a pak znovu spustíte výše uvedené příkazy pro instalaci.Nainstalujte všechny požadované balíčky spuštěním následujícího příkazu na příkazovém řádku ve složce registerdevice :
npm install --save azure-iot-device azure-iot-device-mqtt azure-iot-security-tpm azure-iot-provisioning-device-http azure-iot-provisioning-device
Příkaz nainstaluje následující balíčky:
Klient zabezpečení, který funguje s čipem TPM:
azure-iot-security-tpm
Přenos zařízení pro připojení ke službě Device Provisioning: nebo
azure-iot-provisioning-device-http
azure-iot-provisioning-device-amqp
Klient pro použití klienta přenosu a zabezpečení:
azure-iot-provisioning-device
Klient zařízení:
azure-iot-device
Přeprava: libovolná z
azure-iot-device-amqp
,azure-iot-device-mqtt
neboazure-iot-device-http
Klient zabezpečení, který jste už nainstalovali:
azure-iot-security-tpm
Poznámka:
Ukázky v tomto rychlém startu
azure-iot-provisioning-device-http
používají aazure-iot-device-mqtt
přenášejí.
Otevřete textový editor voleb.
Ve složce registerdevice vytvořte nový soubor ExtractDevice.js.
Na začátek souboru ExtractDevice.js přidejte následující příkazy
require
:'use strict'; var tpmSecurity = require('azure-iot-security-tpm'); var tssJs = require("tss.js"); var myTpm = new tpmSecurity.TpmSecurityClient(undefined, new tssJs.Tpm(true));
Přidejte následující funkci, která metodu implementuje:
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(); } }); } });
Uložte a zavřete soubor ExtractDevice.js.
node ExtractDevice.js
Spusťte ukázku.
V okně výstupu se zobrazí ověřovací klíč a ID registrace potřebné pro registraci zařízení. Tyto hodnoty zkopírujte.
Spusťte simulátor TPM, který bude modulem HSM pro simulované zařízení.
Vyberte Povolit přístup. Simulátor naslouchá přes soket na portech 2321 a 2322. Nezavírejte toto příkazové okno; Tento simulátor musíte nechat spuštěný až do konce této příručky pro rychlý start.
.\azure-iot-sdk-java\provisioning\provisioning-tools\tpm-simulator\Simulator.exe
Otevřete druhý příkazový řádek.
V druhém příkazovém řádku přejděte do kořenové složky a sestavte ukázkové závislosti.
cd azure-iot-sdk-java mvn install -DskipTests=true
Přejděte do složky s ukázkou.
cd provisioning/provisioning-samples/provisioning-tpm-sample
V této části sestavíte a spustíte ukázku, která přečte ověřovací klíč a ID registrace ze simulátoru TPM, který jste opustili, a stále naslouchá přes porty 2321 a 2322. Tyto hodnoty se použijí pro registraci zařízení s vaší instancí služby Device Provisioning.
Spusťte Visual Studio.
Otevřete řešení vygenerované ve složce cmake s názvem
azure_iot_sdks.sln
.V nabídce sady Visual Studio vyberte Sestavit>Sestavit řešení a sestavte všechny projekty v příslušném řešení.
V okně Průzkumník řešení sady Visual Studio přejděte do složky Provision_Tools. Klikněte pravým tlačítkem na projekt tpm_device_provision a vyberte Nastavit jako spouštěný projekt.
V nabídce sady Visual Studio vyberte Ladit>Spustit bez ladění a spusťte řešení. Aplikace přečte a zobrazí ID registrace a ověřovací klíč. Tyto hodnoty si poznamenejte nebo zkopírujte. Ty se použijí v další části pro registraci zařízení.
Přihlaste se k webu Azure Portal, v nabídce vlevo vyberte tlačítko Všechny prostředky a otevřete službu Device Provisioning. Poznamenejte si Rozsah ID a Globální koncový bod služby zřizování.
Upravte soubor
src/main/java/samples/com/microsoft/azure/sdk/iot/ProvisioningTpmSample.java
tak, aby zahrnoval váš Rozsah ID a Globální koncový bod služby zřizování, které jste si poznamenali dříve.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;
Uložte soubor.
Pomocí následujících příkazů sestavte projekt, přejděte do cílové složky a spusťte vytvořený soubor .jar (nahraďte
{version}
svou verzí Javy):mvn clean install cd target java -jar ./provisioning-tpm-sample-{version}-with-deps.jar
Když program začne běžet, zobrazí se ověřovací klíč a ID registrace. Zkopírujte tyto hodnoty pro další oddíl. Nezapomeňte nechat program spuštěný.
V této části sestavíte a spustíte ukázku, která přečte ověřovací klíč z modulu hardwarového zabezpečení TPM 2.0. Tato hodnota se použije pro registraci zařízení s vaší instancí služby Device Provisioning.
V příkazovém řádku přejděte do adresáře projektu s ukázkou zřizování zařízení TPM.
cd '.\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\TpmSample\'
Zadejte následující příkaz, který sestaví a spustí ukázku zřizování zařízení TPM. Zkopírujte ověřovací klíč vrácený z modulu hardwarového zabezpečení TPM 2.0, abyste ho mohli použít později při registraci zařízení.
dotnet run -- -e
Přihlaste se k webu Azure Portal a přejděte k instanci služby Device Provisioning.
V části Nastavení navigační nabídky vyberte Spravovat registrace.
Vyberte kartu Jednotlivé registrace a pak vyberte Přidat jednotlivou registraci.
Na stránce Registrace a zřizování na stránce Přidat registraci zadejte následující informace pro konfiguraci podrobností o registraci:
Pole Popis Atestace Jako mechanismus ověření identity vyberte čip TPM (Trusted Platform Module). Nastavení čipu TPM (Trusted Platform Module) Zadejte ověřovací klíč, který se použije k ověření zařízení pro tuto registraci. Ověřovací klíč můžete načíst z čipu TPM vašeho zařízení. ID registrace Zadejte jedinečné ID registrace zařízení. ID registrace můžete načíst z čipu TPM vašeho zařízení. Stav zřizování Zaškrtněte políčko Povolit tuto registraci, pokud chcete, aby byla tato registrace k dispozici pro zřízení jeho zařízení. Pokud chcete, aby byla registrace zakázaná, zrušte zaškrtnutí tohoto políčka. Toto nastavení můžete později změnit. Zásady opětovného zřízení Zvolte zásadu opětovného zřízení, která odráží způsob, jakým má DPS zpracovávat zařízení, která požadují opětovné zřízení. Další informace najdete v tématu Zásady opětovného zřízení. Vyberte Další: IoT Hubs.
Na kartě Centra IoT na stránce Přidat registraci zadejte následující informace, abyste zjistili, pro které centrum IoT může registrace zřídit zařízení:
Pole Popis Cílení center IoT Vyberte jedno nebo více propojených center IoT nebo přidejte nový odkaz na centrum IoT. Další informace o propojení ioT Hubů s vaší instancí DPS najdete v tématu Propojení a správa ioT Hubů. Zásady přidělování Pokud jste vybrali více propojených ioT Hubů, vyberte způsob přiřazení zařízení k různým rozbočovačům. Další informace ozásadách
Pokud jste vybrali jenom jedno propojené centrum IoT, doporučujeme použít rovnoměrně vážené distribuční zásady.Vybrat další: Nastavení zařízení
Na kartě Nastavení zařízení na stránce Přidat registraci zadejte následující informace, které definují, jak se budou nově zřízená zařízení konfigurovat:
Pole Popis ID zařízení Zadejte ID zařízení, které se přiřadí zřízenému zařízení ve službě IoT Hub. Pokud nezadáte ID zařízení, použije se ID registrace. IoT Edge Zkontrolujte povolení IoT Edge na zřízených zařízeních , pokud zřízené zařízení spustí Azure IoT Edge. Zrušte zaškrtnutí tohoto políčka, pokud je tato registrace pro zařízení, které není povoleno službou IoT Edge. Značky zařízení Pomocí tohoto textového pole zadejte všechny značky, které chcete použít u dvojčete zařízení zřízeného zařízení. Požadované vlastnosti Pomocí tohoto textového pole zadejte požadované vlastnosti, které chcete použít u dvojčete zařízení zřízeného zařízení. Další informace najdete v tématu Principy a použití dvojčat zařízení ve službě IoT Hub.
Vyberte Další: Zkontrolovat a vytvořit.
Na kartě Zkontrolovat a vytvořit ověřte všechny hodnoty a pak vyberte Vytvořit.
Ukázka čipu TPM V jazyce C# pro účely tohoto rychlého startu neposkytuje ID registrace. Po zobrazení výzvy k přidání jedné pro jednotlivou registraci zadejte vlastní hodnotu.
Přihlaste se k webu Azure Portal a přejděte k instanci služby Device Provisioning.
V části Nastavení navigační nabídky vyberte Spravovat registrace.
Vyberte kartu Jednotlivé registrace a pak vyberte Přidat jednotlivou registraci.
Na stránce Registrace a zřizování na stránce Přidat registraci zadejte následující informace pro konfiguraci podrobností o registraci:
Pole Popis Atestace Jako mechanismus ověření identity vyberte čip TPM (Trusted Platform Module). Nastavení čipu TPM (Trusted Platform Module) Zadejte ověřovací klíč, který se použije k ověření zařízení pro tuto registraci. Ověřovací klíč můžete načíst z čipu TPM vašeho zařízení. ID registrace Zadejte jedinečné ID registrace zařízení. ID registrace můžete načíst z čipu TPM vašeho zařízení. Stav zřizování Zaškrtněte políčko Povolit tuto registraci, pokud chcete, aby byla tato registrace k dispozici pro zřízení jeho zařízení. Pokud chcete, aby byla registrace zakázaná, zrušte zaškrtnutí tohoto políčka. Toto nastavení můžete později změnit. Zásady opětovného zřízení Zvolte zásadu opětovného zřízení, která odráží způsob, jakým má DPS zpracovávat zařízení, která požadují opětovné zřízení. Další informace najdete v tématu Zásady opětovného zřízení. Vyberte Další: IoT Hubs.
Na kartě Centra IoT na stránce Přidat registraci zadejte následující informace, abyste zjistili, pro které centrum IoT může registrace zřídit zařízení:
Pole Popis Cílení center IoT Vyberte jedno nebo více propojených center IoT nebo přidejte nový odkaz na centrum IoT. Další informace o propojení ioT Hubů s vaší instancí DPS najdete v tématu Propojení a správa ioT Hubů. Zásady přidělování Pokud jste vybrali více propojených ioT Hubů, vyberte způsob přiřazení zařízení k různým rozbočovačům. Další informace ozásadách
Pokud jste vybrali jenom jedno propojené centrum IoT, doporučujeme použít rovnoměrně vážené distribuční zásady.Vybrat další: Nastavení zařízení
Na kartě Nastavení zařízení na stránce Přidat registraci zadejte následující informace, které definují, jak se budou nově zřízená zařízení konfigurovat:
Pole Popis ID zařízení Zadejte ID zařízení, které se přiřadí zřízenému zařízení ve službě IoT Hub. Pokud nezadáte ID zařízení, použije se ID registrace. IoT Edge Zkontrolujte povolení IoT Edge na zřízených zařízeních , pokud zřízené zařízení spustí Azure IoT Edge. Zrušte zaškrtnutí tohoto políčka, pokud je tato registrace pro zařízení, které není povoleno službou IoT Edge. Značky zařízení Pomocí tohoto textového pole zadejte všechny značky, které chcete použít u dvojčete zařízení zřízeného zařízení. Požadované vlastnosti Pomocí tohoto textového pole zadejte požadované vlastnosti, které chcete použít u dvojčete zařízení zřízeného zařízení. Další informace najdete v tématu Principy a použití dvojčat zařízení ve službě IoT Hub.
Vyberte Další: Zkontrolovat a vytvořit.
Na kartě Zkontrolovat a vytvořit ověřte všechny hodnoty a pak vyberte Vytvořit.
Registrace zařízení
V této části nakonfigurujete ukázkový kód tak, aby používal protokol AMQP (Advanced Message Queuing Protocol) k odeslání spouštěcí sekvence zařízení do instance služby Device Provisioning. Tato spouštěcí sekvence způsobí, že se zařízení zaregistruje do centra IoT propojeného s instancí služby Device Provisioning.
Na webu Azure Portal vyberte kartu Přehled pro vaši službu Device Provisioning.
Zkopírujte hodnotu oboru ID.
V okně Průzkumník řešení sady Visual Studio přejděte do složky Provision_Samples. Rozbalte ukázkový projekt s názvem prov_dev_client_sample. Rozbalte zdrojové soubory a otevřete prov_dev_client_sample.c.
V horní části souboru najděte příkazy
#define
pro jednotlivé protokoly zařízení, jak je vidět dole. Zkontrolujte, že položkaSAMPLE_AMQP
není zakomentovaná.V současné době se pro individuální registraci TPM nepodporuje protokol MQTT.
// // 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
Najděte konstantu
id_scope
a nahraďte její hodnotu hodnotou Rozsah ID, kterou jste si zkopírovali.static const char* id_scope = "0ne00002193";
Ve stejném souboru vyhledejte definici funkce
main()
. Ujistěte se,hsm_type
že je proměnná nastavená takSECURE_DEVICE_TYPE_TPM
, jak je znázorněno níže.SECURE_DEVICE_TYPE hsm_type; hsm_type = SECURE_DEVICE_TYPE_TPM; //hsm_type = SECURE_DEVICE_TYPE_X509; //hsm_type = SECURE_DEVICE_TYPE_SYMMETRIC_KEY;
Klikněte pravým tlačítkem myši na prov_dev_client_sample projekt a vyberte Nastavit jako spouštěný projekt.
V nabídce sady Visual Studio vyberte Ladit>Spustit bez ladění a spusťte řešení. Po zobrazení výzvy k opětovnému sestavení projektu vyberte Ano, aby se projekt před spuštěním znovu sestavil.
Následující výstup je příkladem úspěšného spuštění ukázky klienta zřizování zařízení a připojení k instanci služby Device Provisioning pro získání informací o centru IoT hub a zajištění registrace:
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
Na webu Azure Portal vyberte kartu Přehled pro vaši službu Device Provisioning.
Zkopírujte hodnotu oboru ID.
V příkazovém řádku přejděte do adresáře projektu s ukázkou zřizování zařízení TPM.
cd '.\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\TpmSample\'
Spuštěním následujícího příkazu zaregistrujte zařízení. Nahraďte
<IdScope>
hodnotu služby DPS, kterou jste zkopírovali, a<RegistrationId>
hodnotou, kterou jste použili při vytváření registrace zařízení.dotnet run -- -s <IdScope> -r <RegistrationId>
Pokud registrace zařízení proběhla úspěšně, zobrazí se následující zprávy:
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.
Na webu Azure Portal vyberte kartu Přehled pro vaši službu Device Provisioning.
Zkopírujte hodnotu oboru ID.
Otevřete textový editor podle svého výběru.
Ve složce registerdevice vytvořte nový soubor RegisterDevice.js.
Na začátek souboru RegisterDevice.js přidejte následující příkazy
require
:'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;
Poznámka:
Sada Azure IoT SDK pro Node.js podporuje i další protokoly jako AMQP, AMQP WS a MQTT WS. Další příklady najdete v ukázkách pro sadu SDK služby Device Provisioning pro Node.js.
Přidejte proměnné globalDeviceEndpoint a idScope a použijte je k vytvoření instance ProvisioningDeviceClient. Nahraďte {globalDeviceEndpoint} a {idScope} hodnotami globálního koncového bodu zařízení a rozsahu ID z kroku 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);
Přidejte následující funkci, která metodu implementuje na zařízení:
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); }; } } });
Uložte a zavřete soubor RegisterDevice.js.
Spusťte následující příkaz:
node RegisterDevice.js
Všimněte si zpráv, které simulují spouštění zařízení a jeho připojování ke službě Device Provisioning pro získání informací o vašem centru IoT.
V příkazovém okně se spuštěným vzorovým kódem Java na vašem počítači pokračujte spuštěním aplikace stisknutím klávesy Enter . Všimněte si zpráv, které simulují spouštění zařízení a jeho připojování ke službě Device Provisioning pro získání informací o vašem centru IoT.
Potvrzení registrace zřizování zařízení
Přihlaste se k portálu Azure.
V nabídce vlevo nebo na stránce portálu vyberte Všechny prostředky.
Vyberte centrum IoT, ke kterému bylo vaše zařízení přiřazeno.
V nabídce Průzkumníky vyberte Zařízení IoT.
Pokud se vaše zařízení úspěšně zřídilo, mělo by se ID zařízení zobrazit v seznamu se stavem nastaveným na povolenou. Pokud zařízení nevidíte, vyberte Aktualizovat v horní části stránky.
Pokud se vaše zařízení úspěšně zřídilo, mělo by se ID zařízení zobrazit v seznamu se stavem nastaveným na povolenou. Pokud zařízení nevidíte, vyberte Aktualizovat v horní části stránky.
Pokud se vaše zařízení úspěšně zřídilo, mělo by se ID zařízení zobrazit v seznamu se stavem nastaveným na povolenou. Pokud zařízení nevidíte, vyberte Aktualizovat v horní části stránky.
Pokud se vaše zařízení úspěšně zřídilo, mělo by se ID zařízení zobrazit v seznamu se stavem nastaveným na povolenou. Pokud zařízení nevidíte, vyberte Aktualizovat v horní části stránky.
Poznámka:
Pokud jste v položce registrace pro vaše zařízení změnili počáteční stav dvojčete zařízení z výchozí hodnoty, může si zařízení požadovaný stav dvojčete vyžádat z centra a příslušně na něj reagovat. Další informace najdete v tématu Principy a použití dvojčat zařízení ve službě IoT Hub.
Vyčištění prostředků
Pokud chcete pokračovat v práci na ukázce klienta zařízení a prozkoumat ji, nevyčistit prostředky vytvořené v tomto rychlém startu. Pokud pokračovat nechcete, pomocí následujícího postupu odstraňte všechny prostředky vytvořené tímto rychlým startem.
Odstranění registrace zařízení
Zavřete na svém počítači okno výstupu ukázky klienta zařízení.
V nabídce vlevo na webu Azure Portal vyberte Všechny prostředky.
Vyberte službu Device Provisioning.
V nabídce Nastavení vyberte Spravovat registrace.
Vyberte kartu Jednotlivé registrace.
Zaškrtněte políčko vedle ID registrace zařízení, které jste zaregistrovali v tomto rychlém startu.
V horní části stránky vyberte Odstranit.
Odstranění registrace zařízení ze služby IoT Hub
V nabídce vlevo na webu Azure Portal vyberte Všechny prostředky.
Vyberte centrum IoT.
V nabídce Průzkumníky vyberte zařízení IoT.
Zaškrtněte políčko vedle ID zařízení zařízení, které jste zaregistrovali v tomto rychlém startu.
V horní části stránky vyberte Odstranit.
Další kroky
V tomto rychlém startu jste pro centrum IoT zřídili jedno zařízení pomocí jednotlivé registrace. Dále se dozvíte, jak zřídit více zařízení napříč několika rozbočovači.