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

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.

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 .

  1. 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.

  2. Otevřete webový prohlížeč a přejděte na stránku vydání sady Azure IoT C SDK.

  3. Vyberte kartu Značky v horní části stránky.

  4. Zkopírujte název značky pro nejnovější verzi sady Azure IoT C SDK.

  5. 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.

  6. Po dokončení operace spusťte z azure-iot-sdk-c adresáře následující příkazy:

    mkdir cmake
    cd cmake
    
  1. Otevřete prostředí příkazového řádku Gitu nebo Git Bash.

  2. 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
    
  1. Otevřete prostředí příkazového řádku Gitu nebo Git Bash.

  2. 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
    
  1. Otevřete prostředí příkazového řádku Gitu nebo Git Bash.

  2. 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.

  1. 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.

  2. 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
    
  3. Přejděte do kořenové složky úložiště Git, které jste naklonovali.

  4. 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.

  1. Přejděte do kořenové složky GitHubu.

  2. Spusťte simulátor TPM, který bude modulem HSM pro simulované zařízení.

    .\azure-utpm-c\tools\tpm_simulator\Simulator.exe
    
  3. 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
    
  4. 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říkaz SET 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.

  5. 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-httpazure-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-mqttnebo azure-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í a azure-iot-device-mqtt přenášejí.

  6. Otevřete textový editor voleb.

  7. Ve složce registerdevice vytvořte nový soubor ExtractDevice.js.

  8. 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));
    
  9. 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();
          }
        });
      }
    });
    
  10. Uložte a zavřete soubor ExtractDevice.js.

    node ExtractDevice.js
    
  11. Spusťte ukázku.

  12. V okně výstupu se zobrazí ověřovací klíč a ID registrace potřebné pro registraci zařízení. Tyto hodnoty zkopírujte.

  1. Spusťte simulátor TPM, který bude modulem HSM pro simulované zařízení.

  2. 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
    

    TPM Simulator

  3. Otevřete druhý příkazový řádek.

  4. 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
    
  5. Přejděte do složky s ukázkou.

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

Načtení kryptografických klíčů ze zařízení TPM

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.

  1. Spusťte Visual Studio.

  2. Otevřete řešení vygenerované ve složce cmake s názvem azure_iot_sdks.sln.

  3. V nabídce sady Visual Studio vyberte Sestavit>Sestavit řešení a sestavte všechny projekty v příslušném řešení.

  4. 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.

  5. 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í.

  1. 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í.

    Device Provisioning Service information

  2. 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;
    
  3. Uložte soubor.

  4. 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
    
  5. 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.

  1. 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\'
    
  2. 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
    

Vytvoření položky registrace zařízení

  1. Přihlaste se k webu Azure Portal a přejděte k instanci služby Device Provisioning.

  2. V části Nastavení navigační nabídky vyberte Spravovat registrace.

  3. Vyberte kartu Jednotlivé registrace a pak vyberte Přidat jednotlivou registraci.

    Screenshot that shows the add individual enrollment option.

  4. 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
    Osvědčení 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í.
  5. Vyberte Další: IoT Hubs.

  6. 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.
  7. Vybrat další: Nastavení zařízení

  8. 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.

  9. Vyberte Další: Zkontrolovat a vytvořit.

  10. 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.

  1. Přihlaste se k webu Azure Portal a přejděte k instanci služby Device Provisioning.

  2. V části Nastavení navigační nabídky vyberte Spravovat registrace.

  3. Vyberte kartu Jednotlivé registrace a pak vyberte Přidat jednotlivou registraci.

    Screenshot that shows the add individual enrollment option.

  4. 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
    Osvědčení 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í.
  5. Vyberte Další: IoT Hubs.

  6. 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.
  7. Vybrat další: Nastavení zařízení

  8. 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.

  9. Vyberte Další: Zkontrolovat a vytvořit.

  10. 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.

  1. Na webu Azure Portal vyberte kartu Přehled pro vaši službu Device Provisioning.

  2. Zkopírujte hodnotu oboru ID.

    Extract Device Provisioning Service endpoint information from the portal

  3. 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.

  4. V horní části souboru najděte příkazy #define pro jednotlivé protokoly zařízení, jak je vidět dole. Zkontrolujte, že položka SAMPLE_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
    
  5. Najděte konstantu id_scope a nahraďte její hodnotu hodnotou Rozsah ID, kterou jste si zkopírovali.

    static const char* id_scope = "0ne00002193";
    
  6. Ve stejném souboru vyhledejte definici funkce main(). Ujistěte se, hsm_type že je proměnná nastavená tak SECURE_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;
    
  7. Klikněte pravým tlačítkem myši na prov_dev_client_sample projekt a vyberte Nastavit jako spouštěný projekt.

  8. 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
    
  1. Na webu Azure Portal vyberte kartu Přehled pro vaši službu Device Provisioning.

  2. Zkopírujte hodnotu oboru ID.

    Copy provisioning service Scope ID from the portal blade

  3. 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\'
    
  4. 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.
    
  1. Na webu Azure Portal vyberte kartu Přehled pro vaši službu Device Provisioning.

  2. Zkopírujte hodnotu oboru ID.

    Extract Device Provisioning Service endpoint information from the portal blade

  3. Otevřete textový editor podle svého výběru.

  4. Ve složce registerdevice vytvořte nový soubor RegisterDevice.js.

  5. 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.

  6. 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);
    
  7. 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);
          };
        }
      }
    });
    
  8. Uložte a zavřete soubor RegisterDevice.js.

  9. Spusťte následující příkaz:

    node RegisterDevice.js
    
  10. 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.

  1. 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.

    Java TPM device program final

Potvrzení registrace zřizování zařízení

  1. Přihlaste se k portálu Azure.

  2. V nabídce vlevo nebo na stránce portálu vyberte Všechny prostředky.

  3. Vyberte centrum IoT, ke kterému bylo vaše zařízení přiřazeno.

  4. V nabídce Průzkumníky vyberte Zařízení IoT.

  1. 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.

    Device is registered with the IoT hub for C

  1. 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.

    Device is registered with the IoT hub for C#

  1. 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.

    Device is registered with the IoT hub for Node.js

  1. 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.

    Device is registered with the IoT hub

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í

  1. Zavřete na svém počítači okno výstupu ukázky klienta zařízení.

  2. V nabídce vlevo na webu Azure Portal vyberte Všechny prostředky.

  3. Vyberte službu Device Provisioning.

  4. V nabídce Nastavení vyberte Spravovat registrace.

  5. Vyberte kartu Jednotlivé registrace.

  6. Zaškrtněte políčko vedle ID registrace zařízení, které jste zaregistrovali v tomto rychlém startu.

  7. V horní části stránky vyberte Odstranit.

Odstranění registrace zařízení ze služby IoT Hub

  1. V nabídce vlevo na webu Azure Portal vyberte Všechny prostředky.

  2. Vyberte centrum IoT.

  3. V nabídce Průzkumníky vyberte zařízení IoT.

  4. Zaškrtněte políčko vedle ID zařízení zařízení, které jste zaregistrovali v tomto rychlém startu.

  5. 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.