Rövid útmutató: Szimulált szimmetrikus kulcsú eszköz kiépítése

Ebben a rövid útmutatóban egy szimulált eszközt hoz létre a Windows-gépen. A szimulált eszköz úgy van konfigurálva, hogy a szimmetrikus kulcsigazolási mechanizmust használja a hitelesítéshez. Miután konfigurálta az eszközt, kiépítenie kell azt az IoT Hubon az Azure IoT Hub Device Provisioning Service használatával.

Ha nem ismeri a kiépítés folyamatát, tekintse át a kiépítés áttekintését .

Ez a rövid útmutató egy Windows-alapú munkaállomás megoldását mutatja be. Az eljárásokat azonban Linuxon is végrehajthatja. Linux-példaként tekintse meg a geokésés kiosztását ismertető oktatóanyagot.

Előfeltételek

  • Telepítse a .NET SDK 6.0-s vagy újabb verzióját Windows-alapú gépére. A verzió ellenőrzéséhez használja az alábbi parancsot.

    dotnet --info
    
  • Telepítse a Git legújabb verzióját. Győződjön meg arról, hogy a Git hozzá van adva a parancsablakhoz elérhető környezeti változókhoz. Tekintse meg a Software Freedom Conservancy Git-ügyféleszközeit a telepíteni kívánt eszközök legújabb verziójához git , amely tartalmazza a Git Basht, a helyi Git-adattárral való interakcióhoz használható parancssori alkalmazást.

A fejlesztőkörnyezet előkészítése

Ebben a szakaszban az Azure IoT C SDK létrehozásához használt fejlesztői környezetet készíti elő. A mintakód megpróbálja kiépíteni az eszközt az eszköz rendszerindítási sorozata során.

  1. Töltse le a legújabb CMake buildrendszert.

    Fontos

    A telepítés megkezdése előtt győződjön meg arról, hogy a Visual Studio előfeltételei (a Visual Studio és az asztali fejlesztés C++-tal) telepítve vannak a CMake számítógépen. Ha az előfeltételek telepítve vannak, és ellenőrizte a letöltött fájlt, telepítse a CMake buildelési rendszert. Vegye figyelembe azt is, hogy a CMake buildrendszer régebbi verziói nem tudják létrehozni a cikkben használt megoldásfájlt. Ügyeljen arra, hogy a CMake legújabb verzióját használja.

  2. Nyisson meg egy webböngészőt, és nyissa meg az Azure IoT C SDK kiadási lapját.

  3. Válassza a Lap tetején található Címkék lapot.

  4. Másolja ki az Azure IoT C SDK legújabb kiadásának címkéjét.

  5. Nyisson meg egy parancssort vagy a Git Bash-felületet. Futtassa az alábbi parancsokat az Azure IoT Device SDK for C GitHub-adattár legújabb kiadásának klónozásához. Cserélje le <release-tag> az előző lépésben másolt címkére, például: 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
    

    A művelet végrehajtása több percet is igénybe vehet.

  6. Ha a művelet befejeződött, futtassa a következő parancsokat a azure-iot-sdk-c könyvtárból:

    mkdir cmake
    cd cmake
    
  7. A kódminta szimmetrikus kulccsal biztosítja az igazolást. Futtassa a következő parancsot az SDK azon verziójának létrehozásához, amely az eszközkiépítési ügyfelet is magában foglaló fejlesztői ügyfélplatformra vonatkozik:

    cmake -Dhsm_type_symm_key:BOOL=ON -Duse_prov_client:BOOL=ON  ..
    

    Tipp.

    Ha cmake nem találja a C++ fordítót, a fenti parancs futtatásakor buildelési hibák léphetnek fel. Ha ez történik, futtassa a parancsot a Visual Studio parancssorában.

  8. Ha a build sikeresen befejeződött, az utolsó néhány kimeneti sor az alábbi kimenethez hasonlóan néz ki:

    $ cmake -Dhsm_type_symm_key:BOOL=ON -Duse_prov_client:BOOL=ON  ..
    -- Building for: Visual Studio 16 2019
    -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19042.
    -- The C compiler identification is MSVC 19.29.30040.0
    -- The CXX compiler identification is MSVC 19.29.30040.0
    
    ...
    
    -- Configuring done
    -- Generating done
    -- Build files have been written to: E:/IoT Testing/azure-iot-sdk-c/cmake
    
  1. Nyisson meg egy Git CMD- vagy Git Bash-parancssori környezetet.

  2. Klónozza az Azure IoT SDK for C# GitHub-adattárat a következő paranccsal:

    git clone https://github.com/Azure/azure-iot-sdk-csharp.git
    
  1. Nyisson meg egy Git CMD- vagy Git Bash-parancssori környezetet.

  2. Klónozza az Azure IoT SDK-t Node.js GitHub-adattárhoz az alábbi paranccsal:

    git clone https://github.com/Azure/azure-iot-sdk-node.git --recursive
    
  1. Nyisson meg egy Git CMD- vagy Git Bash-parancssori környezetet.

  2. Klónozza az Azure IoT SDK for Python GitHub-adattárat a következő paranccsal:

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

    Feljegyzés

    Az oktatóanyagban használt minták az azure-iot-sdk-python-adattár v2 ágában találhatók. A Python SDK V3-a elérhető bétaverzióban.

  1. Nyisson meg egy Git CMD- vagy Git Bash-parancssori környezetet.

  2. Klónozza az Azure IoT SDK for Java GitHub-adattárat a következő paranccsal:

    git clone https://github.com/Azure/azure-iot-sdk-java.git --recursive
    
  3. Nyissa meg a gyökérkönyvtárat azure-iot-sdk-java , és hozza létre a projektet az összes szükséges csomag letöltéséhez. Ez a lépés több percet is igénybe vehet.

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

Eszközregisztráció létrehozása

Az Azure IoT Device Provisioning Service kétféle típusú regisztrációt támogat:

Ez a cikk bemutatja, hogy egy IoT Hubon kiépíteni kívánt eszköz egyéni regisztrációja.

  1. Jelentkezzen be az Azure Portalra , és keresse meg a Device Provisioning Service-példányt.

  2. A navigációs menü Gépház szakaszában válassza a Regisztrációkkezelése lehetőséget.

  3. Válassza az Egyéni regisztrációk lapot, majd az Egyéni regisztráció hozzáadása lehetőséget.

    Screenshot that shows the add individual enrollment option.

  4. A Regisztráció hozzáadása lap Regisztráció + kiépítés lapján adja meg a következő információkat a regisztráció részleteinek konfigurálásához:

    Mező Leírás
    Igazolás Válassza ki a szimmetrikus kulcsot az igazolási mechanizmusként.
    Szimmetrikus kulcsbeállítások Ha véletlenszerűen létrehozott kulcsokat szeretne használni, jelölje be automatikusan a Szimmetrikus kulcsok létrehozása jelölőnégyzetet. Törölje a jelet a jelölőnégyzetből, ha saját kulcsokat szeretne megadni.
    Regisztrációs azonosító Adjon meg egy egyedi regisztrációs azonosítót az eszközhöz.
    Kiépítés állapota Jelölje be a Regisztráció engedélyezése jelölőnégyzetet, ha azt szeretné, hogy ez a regisztráció elérhető legyen az eszköz kiépítéséhez. Törölje a jelölőnégyzet jelölését, ha le szeretné tiltani a regisztrációt. Ezt a beállítást később módosíthatja.
    Szabályzat újraépítése Válasszon újraépítési szabályzatot, amely tükrözi, hogy a DPS hogyan kezelje az újraépítést kérő eszközöket. További információ: Újraépítési szabályzatok.
  5. Válassza a Tovább: IoT Hubs lehetőséget.

  6. A Regisztráció hozzáadása lap IoT Hubs lapján adja meg az alábbi információkat annak megállapításához, hogy a regisztráció mely IoT Hubokon helyezhet üzembe eszközöket:

    Mező Leírás
    Cél IoT Hubok Válasszon ki egy vagy több csatolt IoT Hubot, vagy adjon hozzá egy új hivatkozást egy IoT Hubhoz. Ha többet szeretne tudni az IoT Hubok DPS-példányhoz való csatolásáról, olvassa el az IoT Hubok csatolása és kezelése című témakört.
    Foglalási szabályzat Ha egynél több csatolt IoT Hubot jelölt ki, válassza ki, hogyan szeretné az eszközöket a különböző központokhoz rendelni. A foglalási szabályzatokkal kapcsolatos további információkért tekintse meg a kiosztási szabályzatok használatát ismertető témakört.

    Ha csak egy csatolt IoT Hubot jelölt ki, javasoljuk, hogy használja az Egyenletesen súlyozott terjesztési szabályzatot.
  7. Válassza a Tovább elemet : Eszközbeállítások

  8. A Regisztráció hozzáadása lap Eszközbeállítások lapján adja meg az alábbi információkat az újonnan kiépített eszközök konfigurálásának meghatározásához:

    Mező Leírás
    Eszközazonosító Adjon meg egy eszközazonosítót, amely hozzá lesz rendelve a kiépített eszközhöz az IoT Hubban. Ha nem ad meg eszközazonosítót, a rendszer a regisztrációs azonosítót fogja használni.
    IoT Edge Ellenőrizze az IoT Edge engedélyezését a kiépített eszközökön, ha a kiépített eszköz az Azure IoT Edge-et fogja futtatni. Törölje a jelölőnégyzet jelölését, ha ez a regisztráció nem IoT Edge-kompatibilis eszközhöz készült.
    Eszközcímkék Ezzel a szövegmezővel megadhatja azokat a címkéket, amelyeket alkalmazni szeretne a kiépített eszköz ikereszközére.
    Kívánt tulajdonságok Ezzel a szövegmezővel megadhatja azokat a kívánt tulajdonságokat, amelyeket alkalmazni szeretne a kiépített eszköz ikereszközére.

    További információ: Eszközök ikerállapotának megismerése és használata az IoT hubon.

  9. Válassza a Tovább: Ellenőrzés és létrehozás lehetőségre.

  10. A Véleményezés + létrehozás lapon ellenőrizze az összes értéket, majd válassza a Létrehozás lehetőséget.

Az egyéni regisztráció létrehozása után a rendszer létrehoz egy elsődleges kulcsot és egy másodlagos kulcsot, és hozzáadja a regisztrációs bejegyzéshez. A rövid útmutató későbbi részében az elsődleges kulcsot fogja használni az eszközmintában.

  1. A szimulált szimmetrikus kulcsú eszközregisztráció megtekintéséhez válassza az Egyéni regisztrációk lapot.

  2. Válassza ki az eszköz regisztrációs azonosítóját az egyéni regisztrációk listájából.

  3. Másolja ki a létrehozott elsődleges kulcs értékét.

    Screenshot showing the enrollment details, highlighting the Copy button for the primary key of the device enrollment

Az eszközkiépítési kód előkészítése és futtatása

Ebben a szakaszban frissíti az eszköz mintakódját, hogy elküldje az eszköz rendszerindítási sorrendjét a Device Provisioning Service-példánynak. Ez a rendszerindítási sorozat az eszközt felismeri, hitelesíti és hozzárendeli egy, a Device Provisioning Service-példányhoz csatolt IoT Hubhoz.

A mintakiépítési kód a következő feladatokat hajtja végre a következő sorrendben:

  1. Az eszköz hitelesítése az Eszközkiépítési erőforrással a következő három paraméter használatával:

    • Az eszközkiépítési szolgáltatás azonosítójának hatóköre
    • Az eszközregisztráció regisztrációs azonosítója.
    • Az eszközregisztráció elsődleges szimmetrikus kulcsa.
  2. Hozzárendeli az eszközt a Device Provisioning Service-példányhoz már csatolt IoT Hubhoz.

A kiépítési minta frissítése és futtatása az eszköz adataival:

  1. A Device Provisioning Service főmenüjében válassza az Áttekintés lehetőséget.

  2. Másolja ki az azonosító hatókörének értékét.

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the ID Scope value for the instance.

  3. A Visual Studióban nyissa meg a CMake futtatásával létrehozott azure_iot_sdks.sln megoldásfájlt. A megoldásfájlnak a következő helyen kell lennie:

    
    \azure-iot-sdk-c\cmake\azure_iot_sdks.sln
    
    

    Tipp.

    Ha a fájl nem a cmake könyvtárban lett létrehozva, győződjön meg arról, hogy a CMake buildrendszer legújabb verzióját használta.

  4. A Visual Studio Megoldáskezelő ablakában lépjen a Provision_Samples mappába. Bontsa ki a prov_dev_client_sample nevű mintaprojektet. Bontsa ki a Forrásfájlok elemet, és nyissa meg a prov_dev_client_sample.c fájlt.

  5. Keresse meg az id_scope állandót, és cserélje le az értéket a 2. lépésben másolt Azonosító hatókör értékére.

    static const char* id_scope = "0ne00002193";
    
  6. Keresse meg a main() függvény definícióját ugyanebben a fájlban. Győződjön meg arról, hogy SECURE_DEVICE_TYPE_SYMMETRIC_KEY a hsm_type változó az alábbi példában látható módon van beállítva:

    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. Keresse meg a prov_dev_client_sample.c fájlban a megjegyzésként megadott hívástprov_dev_set_symmetric_key_info().

    // Set the symmetric key if using they auth type
    //prov_dev_set_symmetric_key_info("<symm_registration_id>", "<symmetric_Key>");
    

    Bontsa ki a függvényhívást, és cserélje le a helyőrző értékeket (beleértve a szögletes zárójeleket) az eszköz regisztrációs azonosítójára és a korábban másolt elsődleges kulcsértékre.

    // Set the symmetric key if using they auth type
    prov_dev_set_symmetric_key_info("symm-key-device-007", "your primary key here");
    
  8. Mentse a fájlt.

  9. Kattintson a jobb gombbal a prov_dev_client_sample projektre, és válassza a Beállítás indítási projektként lehetőséget.

  10. A Visual Studio menüjében válassza a Debug>Start without debugging (Hibakeresés > Indítás hibakeresés nélkül) lehetőséget a megoldás futtatásához. A projekt újraépítésére vonatkozó kérdésben válassza az Igen lehetőséget a projekt újraépítéséhez a futtatás előtt.

    Az alábbi kimenet egy példa arra, hogy az eszköz sikeresen csatlakozott az IoT Hubhoz rendelendő kiépítési szolgáltatáspéldányhoz:

    Provisioning API Version: 1.2.8
    
    Registering Device
    
    Provisioning Status: PROV_DEVICE_REG_STATUS_CONNECTED
    Provisioning Status: PROV_DEVICE_REG_STATUS_ASSIGNING
    
    Registration Information received from service:
    test-docs-hub.azure-devices.net, deviceId: device-007
    Press enter key to exit:
    

A mintakiépítési kód a következő feladatokat hajtja végre:

  1. Az eszköz hitelesítése az Eszközkiépítési erőforrással a következő három paraméter használatával:

    • Az eszközkiépítési szolgáltatás azonosítójának hatóköre
    • Az eszközregisztráció regisztrációs azonosítója.
    • Az eszközregisztráció elsődleges szimmetrikus kulcsa.
  2. Hozzárendeli az eszközt a Device Provisioning Service-példányhoz már csatolt IoT Hubhoz.

  3. Teszttelemetriaüzenetet küld az IoT Hubnak.

A kiépítési minta frissítése és futtatása az eszköz adataival:

  1. A Device Provisioning Service főmenüjében válassza az Áttekintés lehetőséget.

  2. Másolja ki az azonosító hatókörének értékét.

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the ID Scope value for the instance.

  3. Nyisson meg egy parancssort, és nyissa meg a SymmetricKeySample parancsot a klónozott sdk-adattárban:

    cd '.\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\SymmetricKeySample\'
    
  4. A SymmetricKeySample mappában nyissa meg a Parameters.cs egy szövegszerkesztőben. Ez a fájl a minta elérhető paramétereit jeleníti meg. Ebben a cikkben csak az első három kötelező paramétert használjuk a minta futtatásakor. Tekintse át a fájlban található kódot. Nincs szükség módosításokra.

    Paraméter Kötelező Leírás
    --i vagy --IdScope Igaz A DPS-példány azonosítójának hatóköre
    --r vagy --RegistrationId Igaz A regisztrációs azonosító egy kis- és nagybetűket nem megkülönböztető sztring (legfeljebb 128 karakter hosszú) alfanumerikus karakterekből és a speciális karakterekből: '-', '.', '_'. ':' Az utolsó karakternek alfanumerikusnak vagy kötőjelnek ('-') kell lennie.
    --p vagy --PrimaryKey Igaz Az egyéni regisztráció elsődleges kulcsa vagy a csoportregisztráció származtatott eszközkulcsa. A származtatott kulcs létrehozásához tekintse meg a ComputeDerivedSymmetricKeySample című témakört.
    --g vagy --GlobalDeviceEndpoint Hamis A csatlakozni kívánt eszközök globális végpontja. Alapértelmezett érték: global.azure-devices-provisioning.net
    --t vagy --TransportType Hamis Az eszközkiépítési példánysal való kommunikációhoz használandó átvitel. Alapértelmezett érték: Mqtt. A lehetséges értékek a következők: Mqtt, Mqtt_WebSocket_Only, Mqtt_Tcp_Only, Amqp, Amqp_WebSocket_OnlyAmqp_Tcp_onlyés Http1.
  5. A SymmetricKeySample mappában nyissa meg a ProvisioningDeviceClientSample.cs egy szövegszerkesztőben. Ez a fájl bemutatja, hogyan használja a SecurityProviderSymmetricKey osztályt a ProvisioningDeviceClient osztálysal együtt a szimulált szimmetrikus kulcseszköz kiépítéséhez. Tekintse át a fájlban található kódot. Nincs szükség módosításokra.

  6. Hozza létre és futtassa a mintakódot a következő paranccsal:

    • Cserélje le <id-scope> a 2. lépésben másolt azonosító hatókörére .
    • Cserélje le <registration-id> az eszközregisztrációhoz megadott regisztrációs azonosítóra .
    • Cserélje le <primarykey> az eszközregisztrációból kimásolt elsődleges kulcsra .
    dotnet run --i <id-scope> --r <registration-id> --p <primarykey>
    
  7. Most az alábbi kimenethez hasonlót kell látnia. A rendszer tesztüzenetként egy "TestMessage" sztringet küld a központnak.

    D:\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\SymmetricKeySample>dotnet run --i 0ne00000A0A --r symm-key-csharp-device-01 --p sbDDeEzRuEuGKag+kQKV+T1QGakRtHpsERLP0yPjwR93TrpEgEh/Y07CXstfha6dhIPWvdD1nRxK5T0KGKA+nQ==
    
    Initializing the device provisioning client...
    Initialized for registration Id symm-key-csharp-device-01.
    Registering with the device provisioning service...
    Registration status: Assigned.
    Device csharp-device-01 registered to ExampleIoTHub.azure-devices.net.
    Creating symmetric key authentication for IoT Hub...
    Testing the provisioned device with IoT Hub...
    Sending a telemetry message...
    Finished.
    Enter any key to exit.
    

A mintakiépítési kód a következő feladatokat hajtja végre a következő sorrendben:

  1. Az eszköz hitelesítése az Eszközkiépítési erőforrással az alábbi négy paraméter használatával:

    • PROVISIONING_HOST
    • PROVISIONING_IDSCOPE
    • PROVISIONING_REGISTRATION_ID
    • PROVISIONING_SYMMETRIC_KEY
  2. Hozzárendeli az eszközt a Device Provisioning Service-példányhoz már csatolt IoT Hubhoz.

  3. Teszttelemetriaüzenetet küld az IoT Hubnak.

A kiépítési minta frissítése és futtatása az eszköz adataival:

  1. A Device Provisioning Service főmenüjében válassza az Áttekintés lehetőséget.

  2. Másolja ki az azonosító hatókörét és a globális eszközvégpont értékeit.

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the global device endpoint and ID Scope values for the instance.

  3. Nyisson meg egy parancssort Node.js parancsok végrehajtásához, és lépjen a következő könyvtárba:

    cd azure-iot-sdk-node/provisioning/device/samples
    
  4. A kiépítési/eszköz-/mintamappában nyissa meg a register_symkey.js, és tekintse át a kódot. Figyelje meg, hogy a mintakód egyéni hasznos adatokat állít be:

    provisioningClient.setProvisioningPayload({a: 'b'});
    

    Megjegyzést fűzhet a kódhoz, mivel ehhez a rövid útmutatóhoz nincs szükség rá. Egyéni hasznos adatra lenne szükség, ha egyéni foglalási függvényt szeretne használni az eszköz IoT Hubhoz való hozzárendeléséhez. További információ: Oktatóanyag: Egyéni foglalási szabályzatok használata.

    A provisioningClient.register() metódus megkísérli az eszköz regisztrálását.

    Nincs szükség további módosításokra.

  5. A parancssorban futtassa a következő parancsokat a minta által használt környezeti változók beállításához:

    • Cserélje le <provisioning-global-endpoint> a 2. lépésben másolt globális eszközvégpontra .
    • Cserélje le <id-scope> a 2. lépésben másolt azonosító hatókörére .
    • Cserélje le <registration-id> az eszközregisztrációhoz megadott regisztrációs azonosítóra .
    • Cserélje le <primarykey> az eszközregisztrációból kimásolt elsődleges kulcsra .
    set PROVISIONING_HOST=<provisioning-global-endpoint>
    
    set PROVISIONING_IDSCOPE=<id-scope>
    
    set PROVISIONING_REGISTRATION_ID=<registration-id>
    
    set PROVISIONING_SYMMETRIC_KEY=<primarykey>
    
  6. Hozza létre és futtassa a mintakódot a következő parancsokkal:

     npm install
    
    node register_symkey.js
    
  7. Most az alábbi kimenethez hasonlót kell látnia. A rendszer tesztüzenetként egy ""Helló világ!" alkalmazás" sztringet küld a központnak.

    D:\azure-iot-samples-csharp\provisioning\device\samples>node register_symkey.js
    registration succeeded
    assigned hub=ExampleIoTHub.azure-devices.net
    deviceId=nodejs-device-01
    payload=undefined
    Client connected
    send status: MessageEnqueued
    

A mintakiépítési kód a következő feladatokat hajtja végre a következő sorrendben:

  1. Az eszköz hitelesítése az Eszközkiépítési erőforrással az alábbi négy paraméter használatával:

    • PROVISIONING_HOST
    • PROVISIONING_IDSCOPE
    • PROVISIONING_REGISTRATION_ID
    • PROVISIONING_SYMMETRIC_KEY
  2. Hozzárendeli az eszközt a Device Provisioning Service-példányhoz már csatolt IoT Hubhoz.

  3. Teszttelemetriaüzenetet küld az IoT Hubnak.

A kiépítési minta frissítése és futtatása az eszköz adataival:

  1. A Device Provisioning Service főmenüjében válassza az Áttekintés lehetőséget.

  2. Másolja ki az azonosító hatókörét és a globális eszközvégpont értékeit.

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the global device endpoint and ID Scope values for the instance.

  3. Nyisson meg egy parancssort, és nyissa meg azt a könyvtárat, amelyben a mintafájl (provision_symmetric_key.py) található.

    cd azure-iot-sdk-python\samples\async-hub-scenarios
    
  4. A parancssorban futtassa a következő parancsokat a minta által használt környezeti változók beállításához:

    • Cserélje le <provisioning-global-endpoint> a 2. lépésben másolt globális eszközvégpontra .
    • Cserélje le <id-scope> a 2. lépésben másolt azonosító hatókörére .
    • Cserélje le <registration-id> az eszközregisztrációhoz megadott regisztrációs azonosítóra .
    • Cserélje le <primarykey> az eszközregisztrációból kimásolt elsődleges kulcsra .
    set PROVISIONING_HOST=<provisioning-global-endpoint>
    
    set PROVISIONING_IDSCOPE=<id-scope>
    
    set PROVISIONING_REGISTRATION_ID=<registration-id>
    
    set PROVISIONING_SYMMETRIC_KEY=<primarykey>
    
  5. Telepítse az azure-iot-device kódtárat az alábbi parancs futtatásával.

    pip install azure-iot-device
    
  6. Futtassa a Python-mintakódot a provision_symmetric_key.py.

    python provision_symmetric_key.py
    
  7. Most az alábbi kimenethez hasonlót kell látnia. A rendszer például tesztként elküldi a szélsebesség-telemetriai üzeneteket is a központnak.

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

A mintakiépítési kód a következő feladatokat hajtja végre a következő sorrendben:

  1. Az eszköz hitelesítése az Eszközkiépítési erőforrással az alábbi négy paraméter használatával:

    • GLOBAL_ENDPOINT
    • SCOPE_ID
    • REGISTRATION_ID
    • SYMMETRIC_KEY
  2. Hozzárendeli az eszközt a Device Provisioning Service-példányhoz már csatolt IoT Hubhoz.

  3. Teszttelemetriaüzenetet küld az IoT Hubnak.

A kiépítési minta frissítése és futtatása az eszköz adataival:

  1. A Device Provisioning Service főmenüjében válassza az Áttekintés lehetőséget.

  2. Másolja ki az azonosító hatókörét és a globális eszközvégpont értékeit. Ezek az értékek az Ön SCOPE_ID és GLOBAL_ENDPOINT a paraméterek.

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the global device endpoint and ID Scope values for the instance.

  3. Nyissa meg szerkesztésre a Java-eszköz mintakódját. Az eszköz mintakódjának teljes elérési útja a következő:

    azure-iot-sdk-java/provisioning/provisioning-device-client-samples/provisioning-symmetrickey-individual-sample/src/main/java/samples/com/microsoft/azure/sdk/iot/ProvisioningSymmetricKeyIndividualEnrollmentSample.java

  4. Adja meg az alábbi változók értékét a DPS-hez és az eszközregisztrációhoz:

    • Cserélje le <id-scope> a 2. lépésben másolt azonosító hatókörére .
    • Cserélje le <provisioning-global-endpoint> a 2. lépésben másolt globális eszközvégpontra .
    • Cserélje le <registration-id> az eszközregisztrációhoz megadott regisztrációs azonosítóra .
    • Cserélje le <primarykey> az eszközregisztrációból kimásolt elsődleges kulcsra .
    private static final String SCOPE_ID = "<id-scope>";
    private static final String GLOBAL_ENDPOINT = "<provisioning-global-endpoint>";
    private static final String SYMMETRIC_KEY = "<primarykey>";
    private static final String REGISTRATION_ID = "<registration-id>";
    
  5. Nyisson meg egy parancssort az összeállításhoz. Nyissa meg a Java SDK-adattár kiépítési mintaprojektmappáját.

    cd azure-iot-sdk-java\provisioning\provisioning-device-client-samples\provisioning-symmetrickey-individual-sample
    
  6. Hozza létre a mintát.

    mvn clean install
    
  7. Lépjen a target mappára, és hajtsa végre a létrehozott .jar fájlt. java A parancsban cserélje le a {version} helyőrzőt a számítógépen található .jar fájlnévben szereplő verzióra.

    cd target
    java -jar ./provisioning-symmetrickey-individual-sample-{version}-with-deps.jar
    
  8. Most az alábbi kimenethez hasonlót kell látnia.

    Starting...
    Beginning setup.
    Initialized a ProvisioningDeviceClient instance using SDK version 1.11.0
    Starting provisioning thread...
    Waiting for Provisioning Service to register
    Opening the connection to device provisioning service...
    Connection to device provisioning service opened successfully, sending initial device registration message
    Authenticating with device provisioning service using symmetric key
    Waiting for device provisioning service to provision this device...
    Current provisioning status: ASSIGNING
    Device provisioning service assigned the device successfully
    IotHUb Uri : <Your IoT hub name>.azure-devices.net
    Device ID : java-device-007
    Sending message from device to IoT Hub...
    Press any key to exit...
    Message received! Response status: OK_EMPTY
    

Eszközkiépítési regisztráció megerősítése

  1. Nyissa meg az Azure Portalt.

  2. A bal oldali menüben vagy a portállapon válassza a Minden erőforrás lehetőséget.

  3. Válassza ki azt az IoT Hubot, amelyhez az eszköz hozzá lett rendelve.

  4. Az Eszközfelügyelet menüben válassza az Eszközök lehetőséget.

  5. Ha az eszköz kiépítése sikeresen megtörtént, az eszközazonosítónak szerepelnie kell a listában, és az állapot engedélyezve van. Ha nem látja az eszközt, válassza a Frissítés lehetőséget a lap tetején.

    Screenshot showing that the device is registered with the IoT hub and enabled for the C example.

    Screenshot showing that the device is registered with the IoT hub and enabled for the C# example.

    Screenshot showing that the device is registered with the IoT hub and enabled for the Node.js example.

    Screenshot showing that the device is registered with the IoT hub and enabled for the Python example.

    Screenshot showing that the device is registered with the IoT hub and enabled for the Java example.

Feljegyzés

Ha módosította az Eszköz kezdeti ikerállapota alapértelmezett értékét az eszköz beléptetési bejegyzésében, az lekérheti és felhasználhatja a kívánt ikerállapotot a központból. További információ: Eszközök ikerállapotának megismerése és használata az IoT hubon.

Az erőforrások eltávolítása

Ha folytatni szeretné az eszközügyfél-minta használatát és felderítését, ne törölje az ebben a rövid útmutatóban létrehozott erőforrásokat. Ha nem tervezi a folytatást, az alábbi lépésekkel törölheti a rövid útmutató által létrehozott összes erőforrást.

Eszközregisztráció törlése

  1. Zárja be az eszközügyfél minta kimeneti ablakát a gépen.

  2. Az Azure Portal bal oldali menüjében válassza a Minden erőforrás lehetőséget.

  3. Válassza ki az Eszközkiépítési szolgáltatást.

  4. A Gépház menüben válassza a Regisztrációk kezelése lehetőséget.

  5. Válassza az Egyéni regisztrációk lapot.

  6. Jelölje be az ebben a rövid útmutatóban regisztrált eszköz regisztrációs azonosítója melletti jelölőnégyzetet.

  7. Az oldal tetején válassza a Törlés lehetőséget.

Eszközregisztráció törlése az IoT Hubról

  1. Az Azure Portal bal oldali menüjében válassza a Minden erőforrás lehetőséget.

  2. Válassza ki az IoT Hubot.

  3. Az Explorers menüben válassza az IoT-eszközök lehetőséget.

  4. Jelölje be az ebben a rövid útmutatóban regisztrált eszköz eszközazonosítója melletti jelölőnégyzetet.

  5. Az oldal tetején válassza a Törlés lehetőséget.

Következő lépések

Ebben a rövid útmutatóban egyetlen eszközt adott ki az IoT Hubra egy egyéni regisztrációval. Ezután megtudhatja, hogyan építhet ki több eszközt több központban.