Rychlý start: Zřízení simulovaného zařízení certifikátu X.509

V tomto rychlém startu vytvoříte na počítači s Windows simulované zařízení. Simulované zařízení je nakonfigurované tak, aby pro ověřování používalo mechanismus ověření certifikátu X.509. Jakmile zařízení nakonfigurujete, zřídíte ho ve službě IoT Hub Device Provisioning pomocí služby Azure IoT Hub 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.

Tento rychlý start ukazuje řešení pro pracovní stanici se systémem Windows. Můžete ale také provádět postupy v Linuxu. Příklad Linuxu najdete v tématu Kurz: Zřízení geografické latence.

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.

  • Nainstalujte Visual Studio 2022 s povolenou úlohou Vývoj desktopových aplikací s C++ . Podporují se také sady Visual Studio 2015, Visual Studio 2017 a Visual Studio 19. Informace o Linuxu nebo macOS najdete v příslušné části Přípravy vývojového prostředí v dokumentaci k sadě SDK.

  • Nainstalujte nejnovější systém sestavení CMake. Nezapomeňte zaškrtnout možnost, která do cesty přidá spustitelný soubor 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.

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.

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.

Následující předpoklady jsou pro vývojové prostředí Windows.

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.

  • 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íchgit Gitu společnosti Software Freedom Conservancy.

  • Ujistěte se, že je na vašem počítači nainstalovaný OpenSSL . Instalace Gitu ve Windows zahrnuje instalaci OpenSSL. K OpenSSL se dostanete z příkazového řádku Git Bash. Pokud chcete ověřit, že je OpenSSL nainstalovaný, otevřete příkazový řádek Git Bash a zadejte openssl version.

    Poznámka:

    Pokud neznáte OpenSSL a už ho máte na počítači s Windows nainstalovaný, doporučujeme použít OpenSSL z příkazového řádku Git Bash. Případně si můžete stáhnout zdrojový kód a sestavit OpenSSL. Další informace najdete na stránce Stažené soubory OpenSSL. Nebo si můžete stáhnout openSSL předdefinovaný od jiného výrobce. Další informace najdete na wikiwebu OpenSSL. Společnost Microsoft neposkytuje žádné záruky týkající se platnosti balíčků stažených od třetích stran. Pokud se rozhodnete sestavit nebo stáhnout OpenSSL, ujistěte se, že binární soubor OpenSSL je přístupný ve vaší cestě a že OPENSSL_CNF proměnná prostředí je nastavená na cestu k souboru openssl.cnf .

  • Otevřete příkazový řádek Windows i příkazový řádek Git Bash.

    Kroky v tomto rychlém startu předpokládají, že používáte počítač s Windows a instalaci OpenSSL nainstalovanou jako součást Gitu. Pomocí výzvy Git Bash vydáte příkazy OpenSSL a příkazový řádek Windows pro všechno ostatní. Pokud používáte Linux, můžete vydat všechny příkazy z prostředí Bash.

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. Vzorový kód se pokusí zřídit zařízení během spouštěcí sekvence zařízení.

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

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

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

  4. Na příkazovém řádku Windows spusťte následující příkazy, které naklonují nejnovější verzi úložiště Azure IoT Device SDK pro C GitHub. 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.

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

    mkdir cmake
    cd cmake
    
  6. Vzorový kód k zajištění ověření prostřednictvím ověřování X.509 používá certifikát X.509. Spuštěním následujícího příkazu sestavte verzi sady SDK specifickou pro vaši vývojovou platformu, která zahrnuje klienta zřizování zařízení. V adresáři se vygeneruje cmake řešení sady Visual Studio pro simulované zařízení.

    Při zadávání cesty použité -Dhsm_custom_lib v následujícím příkazu nezapomeňte použít absolutní cestu ke knihovně v dříve vytvořeném cmake adresáři. Zobrazená cesta předpokládá, že jste naklonovali sadu C SDK v kořenovém adresáři jednotky C. Pokud jste použili jiný adresář, upravte cestu odpovídajícím způsobem.

    cmake -Duse_prov_client:BOOL=ON -Dhsm_custom_lib=c:/azure-iot-sdk-c/cmake/provisioning_client/samples/custom_hsm_example/Debug/custom_hsm_example.lib ..
    

Tip

Pokud cmake kompilátor jazyka C++ nenajdete, při spuštění výše uvedeného příkazu může dojít k chybám sestavení. Pokud k tomu dojde, zkuste příkaz spustit v příkazovém řádku sady Visual Studio.

  1. Po úspěšném sestavení vypadá posledních několik výstupních řádků podobně jako následující výstup:

    -- Building for: Visual Studio 17 2022
    -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.22000.
    -- The C compiler identification is MSVC 19.32.31329.0
    -- The CXX compiler identification is MSVC 19.32.31329.0
    
    ...
    
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/azure-iot-sdk-c/cmake
    

Na příkazovém řádku Windows naklonujte úložiště Azure IoT SDK pro GitHub v jazyce C# pomocí následujícího příkazu:

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

Na příkazovém řádku Windows naklonujte sadu Azure IoT SDK pro Node.js úložiště GitHub pomocí následujícího příkazu:

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

Na příkazovém řádku Windows naklonujte úložiště Azure IoT Device SDK pro GitHub pomocí následujícího příkazu:

git clone -b v2 https://github.com/Azure/azure-iot-sdk-python.git --recursive

Poznámka:

Ukázky použité v tomto kurzu jsou ve větvi v2 úložiště azure-iot-sdk-python. V3 sady Python SDK je k dispozici pro použití v beta verzi.

  1. Na příkazovém řádku Windows naklonujte ukázky Azure IoT pro ú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
    
  2. Přejděte do kořenového azure-iot-sdk-java adresáře a sestavte projekt, aby se stáhly všechny potřebné balíčky.

    cd azure-iot-sdk-java
    mvn install -DskipTests=true
    

Vytvoření certifikátu zařízení X.509 podepsaného svým držitelem

V této části použijete OpenSSL k vytvoření certifikátu X.509 podepsaného svým držitelem a privátního klíče. Tento certifikát se nahraje do vaší instance služby zřizování a ověří ji služba.

Upozornění

K testování vývoje používejte certifikáty vytvořené pomocí OpenSSL v tomto rychlém startu. Tyto certifikáty nepoužívejte v produkčním prostředí. Platnost těchto certifikátů vyprší po 30 dnech a může obsahovat pevně zakódovaná hesla, například 1234. Informace o získání certifikátů vhodných pro použití v produkčním prostředí najdete v tématu Získání certifikátu CA X.509 v dokumentaci ke službě Azure IoT Hub.

Proveďte kroky v této části v příkazovém řádku Git Bash.

  1. V příkazovém řádku Git Bash přejděte do adresáře, do kterého chcete vytvořit certifikáty.

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

    winpty openssl req -outform PEM -x509 -sha256 -newkey rsa:4096 -keyout device-key.pem -out device-cert.pem -days 30 -extensions usr_cert -addext extendedKeyUsage=clientAuth -subj "//CN=my-x509-device"
    

    Důležité

    Dodatečné lomítko zadané pro název subjektu (//CN=my-x509-device) se vyžaduje pouze k úniku řetězce s Gitem na platformách Windows.

  3. Když se zobrazí výzva k zadání hesla PEM:, použijte heslo 1234.

  4. Když se zobrazí výzva k ověření – zadejte heslo PEM:, použijte 1234 heslo znovu.

    Soubor certifikátu veřejného klíče (device-cert.pem) a soubor privátního klíče (device-key.pem) by se teď měl vygenerovat v adresáři, ve kterém jste příkaz spustili openssl .

    Soubor certifikátu má svůj běžný název subjektu (CN) nastavený na my-x509-device. U registrací založených na X.509 je ID registrace nastavené na běžný název. ID registrace je řetězec nerozlišující velká a malá písmena alfanumerických znaků a speciální znaky: '-', , '.''_', ':'. Poslední znak musí být alfanumerický nebo pomlčka ('-'). Běžný název musí dodržovat tento formát. DPS podporuje ID registrace o délce až 128 znaků; Maximální délka společného názvu subjektu v certifikátu X.509 je však 64 znaků. ID registrace je proto omezeno na 64 znaků při použití certifikátů X.509.

  5. Soubor certifikátu má kódování Base 64. Pokud chcete zobrazit běžný název subjektu (CN) a další vlastnosti souboru certifikátu, zadejte následující příkaz:

    winpty openssl x509 -in device-cert.pem -text -noout
    
    Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            77:3e:1d:e4:7e:c8:40:14:08:c6:09:75:50:9c:1a:35:6e:19:52:e2
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: CN = my-x509-device
        Validity
            Not Before: May  5 21:41:42 2022 GMT
            Not After : Jun  4 21:41:42 2022 GMT
        Subject: CN = my-x509-device
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                RSA Public-Key: (4096 bit)
                Modulus:
                    00:d2:94:37:d6:1b:f7:43:b4:21:c6:08:1a:d6:d7:
                    e6:40:44:4e:4d:24:41:6c:3e:8c:b2:2c:b0:23:29:
                    ...
                    23:6e:58:76:45:18:03:dc:2e:9d:3f:ac:a3:5c:1f:
                    9f:66:b0:05:d5:1c:fe:69:de:a9:09:13:28:c6:85:
                    0e:cd:53
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Basic Constraints:
                CA:FALSE
            Netscape Comment:
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier:
                63:C0:B5:93:BF:29:F8:57:F8:F9:26:44:70:6F:9B:A4:C7:E3:75:18
            X509v3 Authority Key Identifier:
                keyid:63:C0:B5:93:BF:29:F8:57:F8:F9:26:44:70:6F:9B:A4:C7:E3:75:18
    
            X509v3 Extended Key Usage:
                TLS Web Client Authentication
    Signature Algorithm: sha256WithRSAEncryption
         82:8a:98:f8:47:00:85:be:21:15:64:b9:22:b0:13:cc:9e:9a:
         ed:f5:93:b9:4b:57:0f:79:85:9d:89:47:69:95:65:5e:b3:b1:
         ...
         cc:b2:20:9a:b7:f2:5e:6b:81:a1:04:93:e9:2b:92:62:e0:1c:
         ac:d2:49:b9:36:d2:b0:21
    
  1. Ukázkový kód vyžaduje privátní klíč, který není šifrovaný. Spuštěním následujícího příkazu vytvořte nešifrovaný privátní klíč:

    winpty openssl rsa -in device-key.pem -out unencrypted-device-key.pem
    
  2. Když se zobrazí výzva k zadání hesla pro device-key.pem:, použijte stejnou předávací frázi, kterou jste udělali dříve. 1234

Nechte výzvu Git Bash otevřenou. Budete ho potřebovat později v tomto rychlém startu.

Vzorový kód jazyka C# je nastavený tak, aby používal certifikáty X.509 uložené ve formátu PKCS#12 chráněném heslem (certificate.pfxPKCS#12). Stále potřebujete soubor certifikátu veřejného klíče ve formátu PEM (device-cert.pem), který jste právě vytvořili, abyste vytvořili jednotlivou položku registrace později v tomto rychlém startu.

  1. Pokud chcete vygenerovat formátovaný soubor PKCS12 očekávaný ukázkou, zadejte následující příkaz:

    winpty openssl pkcs12 -inkey device-key.pem -in device-cert.pem -export -out certificate.pfx
    
  2. Když se zobrazí výzva k zadání hesla pro device-key.pem:, použijte stejnou předávací frázi, kterou jste udělali dříve. 1234

  3. Po zobrazení výzvy k zadání exportu hesla:, použijte heslo 1234.

  4. Po zobrazení výzvy k ověření zadejte heslo pro export:, znovu použijte heslo 1234 .

    Soubor certifikátu ve formátu PKCS12 (certificate.pfx) by se teď měl vygenerovat v adresáři, ve kterém jste spustili openssl příkaz.

  5. Zkopírujte soubor certifikátu VE FORMÁTU PKCS12 do adresáře projektu pro ukázku zřizování zařízení X.509. Daná cesta je relativní vzhledem k umístění, kam jste stáhli ukázkové úložiště.

    cp certificate.pfx ./azure-iot-sdk-csharp/provisioning/device/samples/"Getting Started"/X509Sample
    

Pro zbytek tohoto rychlého startu nepotřebujete výzvu Git Bash. Pokud ale máte problémy v pozdějších krocích, můžete ho chtít nechat otevřený a zkontrolovat certifikát.

  1. Ukázkový kód vyžaduje privátní klíč, který není šifrovaný. Spuštěním následujícího příkazu vytvořte nešifrovaný privátní klíč:

    winpty openssl rsa -in device-key.pem -out unencrypted-device-key.pem
    
  2. Když se zobrazí výzva k zadání hesla pro device-key.pem:, použijte stejnou předávací frázi, kterou jste udělali dříve. 1234

  3. Zkopírujte certifikát zařízení a nešifrovaný privátní klíč do adresáře projektu pro ukázku zřizování zařízení X.509. Daná cesta je relativní vzhledem k umístění, kam jste stáhli sadu SDK.

    cp device-cert.pem ./azure-iot-sdk-node/provisioning/device/samples
    cp unencrypted-device-key.pem ./azure-iot-sdk-node/provisioning/device/samples
    

Pro zbytek tohoto rychlého startu nepotřebujete výzvu Git Bash. Pokud ale máte problémy v pozdějších krocích, můžete ho chtít nechat otevřený a zkontrolovat certifikát.

  1. Zkopírujte certifikát zařízení a privátní klíč do adresáře projektu pro ukázku zřizování zařízení X.509. Daná cesta je relativní vzhledem k umístění, kam jste stáhli sadu SDK.

    cp device-cert.pem ./azure-iot-sdk-python/samples/async-hub-scenarios
    cp device-key.pem ./azure-iot-sdk-python/samples/async-hub-scenarios
    

Pro zbytek tohoto rychlého startu nepotřebujete výzvu Git Bash. Pokud ale máte problémy v pozdějších krocích, můžete ho chtít nechat otevřený a zkontrolovat certifikát.

  1. Ukázkový kód Java vyžaduje privátní klíč, který není šifrovaný. Spuštěním následujícího příkazu vytvořte nešifrovaný privátní klíč:

    winpty openssl pkey -in device-key.pem -out unencrypted-device-key.pem
    
  2. Když se zobrazí výzva k zadání hesla pro device-key.pem:, použijte stejnou předávací frázi, kterou jste udělali dříve. 1234

Nechte výzvu Git Bash otevřenou. Budete ho potřebovat později v tomto rychlém startu.

Vytvoření registrace zařízení

Služba Azure IoT Device Provisioning podporuje dva typy registrací:

Tento článek ukazuje individuální registraci jednoho zařízení, které se má zřídit v Centru IoT.

  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 klientské certifikátyX.509.
    Nastavení certifikátu X.509 Nahrajte jeden nebo dva certifikáty, které se použijí k ověření zařízení pro tuto registraci.
    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.

Příprava a spuštění kódu zřizování zařízení

V této části aktualizujete vzorový kód tak, aby se spouštěcí sekvence zařízení odeslala do instance služby Device Provisioning Service. Tato spouštěcí sekvence způsobí, že se zařízení rozpozná a přiřadí k centru IoT propojenému s instancí DPS.

V této části použijete příkazový řádek Git Bash a integrované vývojové prostředí sady Visual Studio.

Konfigurace kódu zřizování zařízení

V této části aktualizujete ukázkový kód informacemi o instanci 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.

    Screenshot of the ID scope on Azure portal.

  3. Spusťte Visual Studio a otevřete nový soubor řešení vytvořený v adresáři, který jste vytvořili v cmake kořenovém adresáři úložiště git azure-iot-sdk-c. Soubor řešení má název azure_iot_sdks.sln.

  4. V Průzkumník řešení pro Visual Studio přejděte na Provision_Samples > zdrojové soubory prov_dev_client_sample > a otevřete prov_dev_client_sample.c.

  5. Najděte konstantu id_scope a nahraďte ji hodnotou oboru ID, kterou jste zkopírovali v kroku 2.

    static const char* id_scope = "0ne00000A0A";
    
  6. Ve stejném souboru vyhledejte definici funkce main(). Ujistěte se, hsm_type že je proměnná nastavená na SECURE_DEVICE_TYPE_X509hodnotu .

    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. Uložte provedené změny.

  8. Klikněte pravým tlačítkem myši na prov_dev_client_sample projekt a vyberte Nastavit jako spouštěný projekt.

Konfigurace vlastního kódu zástupných procedur HSM

Specifika interakce se skutečným zabezpečeným hardwarovým úložištěm se liší v závislosti na hardwaru. V důsledku toho se certifikát a privátní klíč používaný simulovaným zařízením v tomto rychlém startu pevně zakóduje do vlastního kódu hardwarového zabezpečení (HSM).

Aktualizace vlastního kódu zástupných procedur HSM pro simulaci identity zařízení s ID my-x509-device:

  1. V Průzkumník řešení pro Visual Studio přejděte na Provision_Samples > custom_hsm_example > zdrojové soubory a otevřete custom_hsm_example.c.

  2. Aktualizujte řetězcovou hodnotu COMMON_NAME řetězcové konstanty pomocí běžného názvu, který jste použili při generování certifikátu zařízení. my-x509-device

    static const char* const COMMON_NAME = "my-x509-device";
    
  3. Aktualizujte hodnotu CERTIFICATE řetězce konstanty pomocí certifikátu zařízení device-cert.pem, který jste vygenerovali dříve.

    Syntaxe textu certifikátu v ukázce musí odpovídat následujícímu vzoru bez nadbytečných mezer ani analýzy provedené sadou Visual Studio.

    static const char* const CERTIFICATE = "-----BEGIN CERTIFICATE-----\n"
    "MIIFOjCCAyKgAwIBAgIJAPzMa6s7mj7+MA0GCSqGSIb3DQEBCwUAMCoxKDAmBgNV\n"
        ...
    "MDMwWhcNMjAxMTIyMjEzMDMwWjAqMSgwJgYDVQQDDB9BenVyZSBJb1QgSHViIENB\n"
    "-----END CERTIFICATE-----";        
    

    Ruční aktualizace této řetězcové hodnoty může být náchylná k chybě. Pokud chcete vygenerovat správnou syntaxi, můžete do příkazového řádku Git Bash zkopírovat a vložit následující příkaz a stisknout ENTER. Tento příkaz vygeneruje syntaxi řetězcové CERTIFICATE konstantní hodnoty a zapíše ji do výstupu.

    sed -e 's/^/"/;$ !s/$/""\\n"/;$ s/$/"/' device-cert.pem
    

    Zkopírujte a vložte text výstupního certifikátu pro konstantní hodnotu.

  4. Aktualizujte hodnotu řetězce konstanty pomocí nešifrovaného privátního PRIVATE_KEY klíče pro certifikát zařízení, nešifrovaný-device-key.pem.

    Syntaxe textu privátního klíče musí odpovídat následujícímu vzoru bez nadbytečných mezer ani analýzy provedené sadou Visual Studio.

    static const char* const PRIVATE_KEY = "-----BEGIN RSA PRIVATE KEY-----\n"
    "MIIJJwIBAAKCAgEAtjvKQjIhp0EE1PoADL1rfF/W6v4vlAzOSifKSQsaPeebqg8U\n"
        ...
    "X7fi9OZ26QpnkS5QjjPTYI/wwn0J9YAwNfKSlNeXTJDfJ+KpjXBcvaLxeBQbQhij\n"
    "-----END RSA PRIVATE KEY-----";
    

    Ruční aktualizace této řetězcové hodnoty může být náchylná k chybě. Pokud chcete vygenerovat správnou syntaxi, můžete do příkazového řádku Git Bash zkopírovat a vložit následující příkaz a stisknout ENTER. Tento příkaz vygeneruje syntaxi řetězcové PRIVATE_KEY konstantní hodnoty a zapíše ji do výstupu.

    sed -e 's/^/"/;$ !s/$/""\\n"/;$ s/$/"/' unencrypted-device-key.pem
    

    Zkopírujte a vložte text výstupního privátního klíče pro konstantní hodnotu.

  5. Uložte provedené změny.

  6. Klikněte pravým tlačítkem na projekt custom_hsm_-_example a vyberte Sestavit.

    Důležité

    Před sestavením zbytku řešení v další části je nutné sestavit projekt custom_hsm_example .

Spuštění ukázky

  1. V nabídce sady Visual Studio vyberte Ladit>Spustit bez ladění a spusťte řešení. Pokud se zobrazí výzva k opětovnému sestavení projektu, vyberte Ano a projekt před spuštěním znovu sestavte.

    Následující výstup je příkladem úspěšného spuštění simulovaného zařízení my-x509-device a připojení ke službě zřizování. Zařízení se přiřadí k centru IoT a zaregistruje se:

    Provisioning API Version: 1.8.0
    
    Registering Device
    
    Provisioning Status: PROV_DEVICE_REG_STATUS_CONNECTED
    Provisioning Status: PROV_DEVICE_REG_STATUS_ASSIGNING
    
    Registration Information received from service: contoso-iot-hub-2.azure-devices.net, deviceId: my-x509-device
    Press enter key to exit:
    

V této části použijete příkazový řádek windows.

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

  2. Zkopírujte hodnotu oboru ID.

    Screenshot of the ID scope on Azure portal.

  3. V příkazovém řádku windows přejděte do adresáře X509Sample. Tento adresář se nachází v adresáři .\azure-iot-sdk-csharp\provisioning\device\samples\getting started\X509Sample mimo adresář, do kterého jste naklonovali ukázky ve svém počítači.

  4. Zadáním následujícího příkazu sestavte a spusťte ukázku zřizování zařízení X.509 (nahraďte <IDScope> hodnotu oborem ID, který jste zkopírovali v předchozí části. Soubor certifikátu má výchozí hodnotu ./certificate.pfx a zobrazí výzvu k zadání hesla .pfx.

    dotnet run -- -s <IDScope>
    

    Pokud chcete certifikát a heslo předat jako parametr, můžete použít následující formát.

    Poznámka:

    Při spuštění aplikace je možné předat další parametry, které změní TransportType (-t) a GlobalDeviceEndpoint (-g).

    dotnet run -- -s 0ne00000A0A -c certificate.pfx -p 1234
    
  5. Zařízení se připojí k DPS a přiřadí se k centru IoT. Potom zařízení odešle telemetrická zpráva do centra IoT.

    Loading the certificate...
    Enter the PFX password for certificate.pfx:
    ****
    Found certificate: A33DB11B8883DEE5B1690ACFEAAB69E8E928080B CN=my-x509-device; PrivateKey: True
    Using certificate A33DB11B8883DEE5B1690ACFEAAB69E8E928080B CN=my-x509-device
    Initializing the device provisioning client...
    Initialized for registration Id my-x509-device.
    Registering with the device provisioning service...
    Registration status: Assigned.
    Device my-x509-device registered to MyExampleHub.azure-devices.net.
    Creating X509 authentication for IoT Hub...
    Testing the provisioned device with IoT Hub...
    Sending a telemetry message...
    Finished.
    

V této části použijete příkazový řádek windows.

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

  2. Zkopírujte hodnotu oboru ID.

    Screenshot of the ID scope on Azure portal.

  3. Na příkazovém řádku Windows přejděte do ukázkového adresáře a nainstalujte balíčky potřebné ukázkou. Zobrazená cesta je relativní vzhledem k umístění, kam jste naklonovali sadu SDK.

    cd .\azure-iot-sdk-node\provisioning\device\samples
    npm install
    

    Ukázka používá k ověření a zřízení zařízení IoT pomocí DPS pět proměnných prostředí. Tyto proměnné prostředí jsou:

    Název proměnné Popis
    PROVISIONING_HOST Koncový bod, který se má použít pro připojení k vaší instanci DPS. Pro účely tohoto rychlého startu použijte globální koncový bod global.azure-devices-provisioning.net.
    PROVISIONING_IDSCOPE Rozsah ID pro vaši instanci DPS.
    PROVISIONING_REGISTRATION_ID ID registrace pro vaše zařízení. Musí odpovídat běžnému názvu subjektu v certifikátu zařízení.
    CERTIFICATE_FILE Cesta k souboru certifikátu zařízení.
    KEY_FILE Cesta k souboru privátního klíče zařízení.
  4. Přidejte proměnné prostředí pro globální koncový bod zařízení a rozsah ID. Nahraďte <id-scope> hodnotou, kterou jste zkopírovali v kroku 2.

    set PROVISIONING_HOST=global.azure-devices-provisioning.net
    set PROVISIONING_IDSCOPE=<id-scope>
    
  5. Nastavte proměnnou prostředí pro ID registrace zařízení. ID registrace zařízení IoT se musí shodovat s běžným názvem subjektu v certifikátu zařízení. Pokud jste postupovali podle kroků v tomto rychlém startu a vygenerovali testovací certifikát podepsaný svým držitelem, my-x509-device je název subjektu i ID registrace zařízení.

    set PROVISIONING_REGISTRATION_ID=my-x509-device
    
  6. Nastavte proměnné prostředí pro certifikát zařízení a (nešifrované) soubory privátního klíče zařízení.

    set CERTIFICATE_FILE=.\device-cert.pem
    set KEY_FILE=.\unencrypted-device-key.pem
    
  7. Spusťte ukázku a ověřte, že se zařízení úspěšně zřídilo.

    node register_x509.js
    

    Měl by se zobrazit výstup podobný následujícímu příkladu:

    registration succeeded
    assigned hub=contoso-hub-2.azure-devices.net
    deviceId=my-x509-device
    Client connected
    send status: MessageEnqueued
    

V této části použijete příkazový řádek windows.

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

  2. Zkopírujte hodnoty oboru ID a globálního koncového bodu zařízení.

    Screenshot of the ID scope and global device endpoint on Azure portal.

  3. V příkazovém řádku Windows přejděte do adresáře ukázky provision_x509.py . Zobrazená cesta je relativní vzhledem k umístění, kam jste naklonovali sadu SDK.

    cd ./azure-iot-sdk-python/samples/async-hub-scenarios
    

    Tato ukázka používá šest proměnných prostředí k ověření a zřízení zařízení IoT pomocí DPS. Tyto proměnné prostředí jsou:

    Název proměnné Popis
    PROVISIONING_HOST Globální koncový bod používaný pro připojení k vaší instanci DPS.
    PROVISIONING_IDSCOPE Rozsah ID pro vaši instanci DPS.
    DPS_X509_REGISTRATION_ID ID registrace pro vaše zařízení. Musí se také shodovat s názvem subjektu v certifikátu zařízení.
    X509_CERT_FILE Cesta k souboru certifikátu zařízení.
    X509_KEY_FILE Cesta k souboru privátního klíče certifikátu zařízení.
    PASS_PHRASE Heslo, které jste použili k šifrování certifikátu a souboru privátního klíče (1234).
  4. Přidejte proměnné prostředí pro globální koncový bod zařízení a rozsah ID.

    set PROVISIONING_HOST=global.azure-devices-provisioning.net
    set PROVISIONING_IDSCOPE=<ID scope for your DPS resource>
    
  5. Nastavte proměnnou prostředí pro ID registrace. ID registrace zařízení IoT musí odpovídat názvu subjektu v certifikátu zařízení. Pokud jste postupovali podle kroků v tomto rychlém startu a vygenerovali testovací certifikát podepsaný svým držitelem, my-x509-device je název subjektu i ID registrace zařízení.

    set DPS_X509_REGISTRATION_ID=my-x509-device
    
  6. Nastavte proměnné prostředí pro soubor certifikátu, soubor privátního klíče a předávací frázi.

    set X509_CERT_FILE=./device-cert.pem
    set X509_KEY_FILE=./device-key.pem
    set PASS_PHRASE=1234
    
  7. Zkontrolujte kód pro provision_x509.py. Pokud nepoužíváte Python verze 3.7 nebo novější, proveďte změnu kódu uvedenou zde , abyste změny nahradili asyncio.run(main()) a uložili.

  8. Spusťte ukázku. Ukázka se připojí k DPS, která zřídí zařízení do centra IoT. Po zřízení zařízení odešle ukázka do centra IoT několik testovacích zpráv.

    $ python azure-iot-sdk-python/samples/async-hub-scenarios/provision_x509.py
    RegistrationStage(RequestAndResponseOperation): Op will transition into polling after interval 2.  Setting timer.
    The complete registration result is
    my-x509-device
    TestHub12345.azure-devices.net
    initialAssignment
    null
    Will send telemetry from the provisioned device
    sending message #4
    sending message #7
    sending message #2
    sending message #8
    sending message #5
    sending message #9
    sending message #1
    sending message #6
    sending message #10
    sending message #3
    done sending message #4
    done sending message #7
    done sending message #2
    done sending message #8
    done sending message #5
    done sending message #9
    done sending message #1
    done sending message #6
    done sending message #10
    done sending message #3
    

V této části použijete příkazový řádek Windows i příkazový řádek Git Bash.

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

  2. Zkopírujte hodnoty oboru ID a globálního koncového bodu zařízení.

    Screenshot of the ID scope and global device endpoint on Azure portal.

  3. Na příkazovém řádku Windows přejděte do složky ukázkového projektu. Zobrazená cesta je relativní vzhledem k umístění, kam jste naklonovali sadu SDK.

    cd .\azure-iot-sdk-java\provisioning\provisioning-device-client-samples\provisioning-X509-sample
    
  4. Do vzorového kódu zadejte informace o identitě služby zřizování a X.509. Tyto informace se použijí při zřizování pro ověření simulovaného zařízení před registrací zařízení.

    1. Otevřete soubor .\src\main\java\samples\com\microsoft\azure\sdk\iot\ProvisioningX509Sample.java v oblíbeném editoru.

    2. Aktualizujte následující hodnoty pomocí globálního koncového bodu služby ID a oboru ID a zkopírovaného globálního koncového bodu služby.

      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. Aktualizujte hodnotu konstantního leafPublicPem řetězce hodnotou certifikátu device-cert.pem.

      Syntaxe textu certifikátu musí odpovídat následujícímu vzoru bez nadbytečných mezer nebo znaků.

      private static final String leafPublicPem = "-----BEGIN CERTIFICATE-----\n" +
      "MIIFOjCCAyKgAwIBAgIJAPzMa6s7mj7+MA0GCSqGSIb3DQEBCwUAMCoxKDAmBgNV\n" +
          ...
      "MDMwWhcNMjAxMTIyMjEzMDMwWjAqMSgwJgYDVQQDDB9BenVyZSBJb1QgSHViIENB\n" +
      "-----END CERTIFICATE-----";        
      

      Ruční aktualizace této řetězcové hodnoty může být náchylná k chybě. Pokud chcete vygenerovat správnou syntaxi, můžete do příkazového řádku Git Bash zkopírovat a vložit následující příkaz a stisknout ENTER. Tento příkaz vygeneruje syntaxi řetězcové leafPublicPem konstantní hodnoty a zapíše ji do výstupu.

      sed 's/^/"/;$ !s/$/\\n" +/;$ s/$/"/' device-cert.pem
      

      Zkopírujte a vložte text výstupního certifikátu pro konstantní hodnotu.

    4. Aktualizujte hodnotu řetězce konstanty pomocí nešifrovaného privátního leafPrivateKey klíče pro certifikát zařízení, nešifrovaný-device-key.pem.

      Syntaxe textu privátního klíče musí odpovídat následujícímu vzoru bez nadbytečných mezer nebo znaků.

      private static final String leafPrivateKey = "-----BEGIN PRIVATE KEY-----\n" +
      "MIIJJwIBAAKCAgEAtjvKQjIhp0EE1PoADL1rfF/W6v4vlAzOSifKSQsaPeebqg8U\n" +
          ...
      "X7fi9OZ26QpnkS5QjjPTYI/wwn0J9YAwNfKSlNeXTJDfJ+KpjXBcvaLxeBQbQhij\n" +
      "-----END PRIVATE KEY-----";
      

      Ruční aktualizace této řetězcové hodnoty může být náchylná k chybě. Pokud chcete vygenerovat správnou syntaxi, můžete do příkazového řádku Git Bash zkopírovat a vložit následující příkaz a stisknout ENTER. Tento příkaz vygeneruje syntaxi řetězcové leafPrivateKey konstantní hodnoty a zapíše ji do výstupu.

      sed 's/^/"/;$ !s/$/\\n" +/;$ s/$/"/' unencrypted-device-key.pem
      

      Zkopírujte a vložte text výstupního privátního klíče pro konstantní hodnotu.

    5. Uložte provedené změny.

  5. Sestavte ukázku a přejděte do target složky.

    mvn clean install
    cd target
    
  6. Sestavení vytvoří výstup .jar soubor ve target složce s následujícím formátem souboru: provisioning-x509-sample-{version}-with-deps.jar; například : provisioning-x509-sample-1.8.1-with-deps.jar. Spusťte soubor .jar. Možná budete muset nahradit verzi v následujícím příkazu.

    java -jar ./provisioning-x509-sample-1.8.1-with-deps.jar
    

    Ukázka se připojí k DPS, která zřídí zařízení do centra IoT. Po zřízení zařízení odešle ukázka do centra IoT několik testovacích zpráv.

    Starting...
    Beginning setup.
    WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
    2022-05-11 09:42:05,025 DEBUG (main) [com.microsoft.azure.sdk.iot.provisioning.device.ProvisioningDeviceClient] - Initialized a ProvisioningDeviceClient instance using SDK version 2.0.0
    2022-05-11 09:42:05,027 DEBUG (main) [com.microsoft.azure.sdk.iot.provisioning.device.ProvisioningDeviceClient] - Starting provisioning thread...
    Waiting for Provisioning Service to register
    2022-05-11 09:42:05,030 INFO (global.azure-devices-provisioning.net-6255a8ba-CxnPendingConnectionId-azure-iot-sdk-ProvisioningTask) [com.microsoft.azure.sdk.iot.provisioning.device.internal.task.ProvisioningTask] - Opening the connection to device provisioning service...
    2022-05-11 09:42:05,252 INFO (global.azure-devices-provisioning.net-6255a8ba-Cxn6255a8ba-azure-iot-sdk-ProvisioningTask) [com.microsoft.azure.sdk.iot.provisioning.device.internal.task.ProvisioningTask] - Connection to device provisioning service opened successfully, sending initial device registration message
    2022-05-11 09:42:05,286 INFO (global.azure-devices-provisioning.net-6255a8ba-Cxn6255a8ba-azure-iot-sdk-RegisterTask) [com.microsoft.azure.sdk.iot.provisioning.device.internal.task.RegisterTask] - Authenticating with device provisioning service using x509 certificates
    2022-05-11 09:42:06,083 INFO (global.azure-devices-provisioning.net-6255a8ba-Cxn6255a8ba-azure-iot-sdk-ProvisioningTask) [com.microsoft.azure.sdk.iot.provisioning.device.internal.task.ProvisioningTask] - Waiting for device provisioning service to provision this device...
    2022-05-11 09:42:06,083 INFO (global.azure-devices-provisioning.net-6255a8ba-Cxn6255a8ba-azure-iot-sdk-ProvisioningTask) [com.microsoft.azure.sdk.iot.provisioning.device.internal.task.ProvisioningTask] - Current provisioning status: ASSIGNING
    Waiting for Provisioning Service to register
    2022-05-11 09:42:15,685 INFO (global.azure-devices-provisioning.net-6255a8ba-Cxn6255a8ba-azure-iot-sdk-ProvisioningTask) [com.microsoft.azure.sdk.iot.provisioning.device.internal.task.ProvisioningTask] - Device provisioning service assigned the device successfully
    IotHUb Uri : MyExampleHub.azure-devices.net
    Device ID : java-device-01
    2022-05-11 09:42:25,057 INFO (main) [com.microsoft.azure.sdk.iot.device.transport.ExponentialBackoffWithJitter] - NOTE: A new instance of ExponentialBackoffWithJitter has been created with the following properties. Retry Count: 2147483647, Min Backoff Interval: 100, Max Backoff Interval: 10000, Max Time Between Retries: 100, Fast Retry Enabled: true
    2022-05-11 09:42:25,080 INFO (main) [com.microsoft.azure.sdk.iot.device.transport.ExponentialBackoffWithJitter] - NOTE: A new instance of ExponentialBackoffWithJitter has been created with the following properties. Retry Count: 2147483647, Min Backoff Interval: 100, Max Backoff Interval: 10000, Max Time Between Retries: 100, Fast Retry Enabled: true
    2022-05-11 09:42:25,087 DEBUG (main) [com.microsoft.azure.sdk.iot.device.DeviceClient] - Initialized a DeviceClient instance using SDK version 2.0.3
    2022-05-11 09:42:25,129 DEBUG (main) [com.microsoft.azure.sdk.iot.device.transport.mqtt.MqttIotHubConnection] - Opening MQTT connection...
    2022-05-11 09:42:25,150 DEBUG (main) [com.microsoft.azure.sdk.iot.device.transport.mqtt.Mqtt] - Sending MQTT CONNECT packet...
    2022-05-11 09:42:25,982 DEBUG (main) [com.microsoft.azure.sdk.iot.device.transport.mqtt.Mqtt] - Sent MQTT CONNECT packet was acknowledged
    2022-05-11 09:42:25,983 DEBUG (main) [com.microsoft.azure.sdk.iot.device.transport.mqtt.Mqtt] - Sending MQTT SUBSCRIBE packet for topic devices/java-device-01/messages/devicebound/#
    2022-05-11 09:42:26,068 DEBUG (main) [com.microsoft.azure.sdk.iot.device.transport.mqtt.Mqtt] - Sent MQTT SUBSCRIBE packet for topic devices/java-device-01/messages/devicebound/# was acknowledged
    2022-05-11 09:42:26,068 DEBUG (main) [com.microsoft.azure.sdk.iot.device.transport.mqtt.MqttIotHubConnection] - MQTT connection opened successfully
    2022-05-11 09:42:26,070 DEBUG (main) [com.microsoft.azure.sdk.iot.device.transport.IotHubTransport] - The connection to the IoT Hub has been established
    2022-05-11 09:42:26,071 DEBUG (main) [com.microsoft.azure.sdk.iot.device.transport.IotHubTransport] - Updating transport status to new status CONNECTED with reason CONNECTION_OK
    2022-05-11 09:42:26,071 DEBUG (main) [com.microsoft.azure.sdk.iot.device.DeviceIO] - Starting worker threads
    2022-05-11 09:42:26,073 DEBUG (main) [com.microsoft.azure.sdk.iot.device.transport.IotHubTransport] - Invoking connection status callbacks with new status details
    2022-05-11 09:42:26,074 DEBUG (main) [com.microsoft.azure.sdk.iot.device.transport.IotHubTransport] - Client connection opened successfully
    2022-05-11 09:42:26,075 INFO (main) [com.microsoft.azure.sdk.iot.device.DeviceClient] - Device client opened successfully
    Sending message from device to IoT Hub...
    2022-05-11 09:42:26,077 DEBUG (main) [com.microsoft.azure.sdk.iot.device.transport.IotHubTransport] - Message was queued to be sent later ( Message details: Correlation Id [54d9c6b5-3da9-49fe-9343-caa6864f9a02] Message Id [28069a3d-f6be-4274-a48b-1ee539524eeb] )
    Press any key to exit...
    2022-05-11 09:42:26,079 DEBUG (MyExampleHub.azure-devices.net-java-device-01-ee6c362d-Cxn7a1fb819-e46d-4658-9b03-ca50c88c0440-azure-iot-sdk-IotHubSendTask) [com.microsoft.azure.sdk.iot.device.transport.IotHubTransport] - Sending message ( Message details: Correlation Id [54d9c6b5-3da9-49fe-9343-caa6864f9a02] Message Id [28069a3d-f6be-4274-a48b-1ee539524eeb] )
    2022-05-11 09:42:26,422 DEBUG (MQTT Call: java-device-01) [com.microsoft.azure.sdk.iot.device.transport.IotHubTransport] - IotHub message was acknowledged. Checking if there is record of sending this message ( Message details: Correlation Id [54d9c6b5-3da9-49fe-9343-caa6864f9a02] Message Id [28069a3d-f6be-4274-a48b-1ee539524eeb] )
    2022-05-11 09:42:26,425 DEBUG (MyExampleHub.azure-devices.net-java-device-01-ee6c362d-Cxn7a1fb819-e46d-4658-9b03-ca50c88c0440-azure-iot-sdk-IotHubSendTask) [com.microsoft.azure.sdk.iot.device.transport.IotHubTransport] - Invoking the callback function for sent message, IoT Hub responded to message ( Message details: Correlation Id [54d9c6b5-3da9-49fe-9343-caa6864f9a02] Message Id [28069a3d-f6be-4274-a48b-1ee539524eeb] ) with status OK
    Message sent!
    

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

Pokud chcete zjistit, pro které centrum IoT se vaše zařízení zřídilo, projděte si podrobnosti o registraci jednotlivé registrace, kterou jste vytvořili dříve:

  1. Na webu Azure Portal přejděte do služby Device Provisioning.

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

  3. Vyberte jednotlivé registrace. Položka registrace X.509, kterou jste vytvořili dříve, by se měla v seznamu zobrazit my-x509-device.

  4. Vyberte položku registrace. Centrum IoT, ke kterému bylo vaše zařízení přiřazeno, a jeho ID zařízení se zobrazí ve stavu Registrace.

Ověření zařízení ve službě IoT Hub:

  1. Na webu Azure Portal přejděte do centra IoT, ke kterému bylo vaše zařízení přiřazeno.

  2. V nabídce Správa zařízení vyberte Zařízení.

  3. Pokud se vaše zařízení úspěšně zřídilo, mělo by se v seznamu zobrazit ID zařízení my-x509-device s nastaveným stavemjako povoleným. Pokud zařízení nevidíte, vyberte Aktualizovat.

    Screenshot that shows the device is registered with the IoT hub in Azure portal.

Důležité

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.