Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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 egy megbízható platformmodul (TPM) igazolási mechanizmust használjon a hitelesítéshez. Az eszköz konfigurálása után kiépítenie kell az IoT Hubon az Azure IoT Hub Device Provisioning Service használatával. Ezt követően a rendszer mintakódot használ az eszköz Device Provisioning Service-példányban való regisztrálásához.
Ha nem ismeri a kiépítés folyamatát, tekintse át a kiépítés áttekintését . A folytatás előtt győződjön meg arról is, hogy végrehajtja a rövid útmutató lépéseit: Az IoT Hub Device Provisioning Service beállítása az Azure Portalon .
Az Azure IoT Device Provisioning Service kétféle típusú regisztrációt támogat:
Több kapcsolódó eszköz regisztrálásához használt regisztrációs csoportok .
Egyéni regisztrációk , amelyek egyetlen eszköz regisztrálására szolgálnak.
Ez a cikk az egyéni regisztrációkat mutatja be.
A Platformmegbízhatósági modul (TPM) igazolása nem támogatott a Python SDK-ban. A Pythonnal szimmetrikus kulcsokkal vagy X.509-tanúsítványokkal építhet ki egy eszközt.
Előfeltételek
Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.
Hajtsa végre a rövid útmutató lépéseit: Az IoT Hub Device Provisioning Service beállítása az Azure Portalon.
Az alábbi előfeltételek a Windows fejlesztői környezethez tartoznak. Linux vagy macOS esetén lásd a fejlesztési környezet előkészítése című szakaszt az SDK dokumentációjában.
- Visual Studio 2019 vagy újabb verzió, amelyen engedélyezve van a "C++-os asztali fejlesztés" számítási feladat. A Visual Studio 2015 és a Visual Studio 2017 is támogatott.
Egy TPM 2.0 hardveres biztonsági modul a Windows-alapú gépen.
Telepítse a .NET Core 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 Node.js 4.0-s verziót.
Telepítse a gépére telepített Java SE Development Kit 8-at vagy újabb verzióját.
Töltse le és telepítse a Mavent.
- 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 és a TPM-eszközszimulátor-minta létrehozásához használt fejlesztői környezetet készíti elő.
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
CMakeszá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. Emellett a CMake buildrendszer régebbi verziói nem tudták létrehozni a cikkben használt megoldásfájlt. Ügyeljen arra, hogy a CMake legújabb verzióját használja.Nyisson meg egy webböngészőt, és nyissa meg az Azure IoT C SDK kiadási lapját.
Válassza a Lap tetején található Címkék lapot.
Másolja ki az Azure IoT C SDK legújabb kiadásának címkéjét.
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_03_2025.git clone -b <release-tag> https://github.com/Azure/azure-iot-sdk-c.git cd azure-iot-sdk-c git submodule update --initA művelet végrehajtása több percet is igénybe vehet.
Ha a művelet befejeződött, futtassa a következő parancsokat a
azure-iot-sdk-ckönyvtárból:mkdir cmake cd cmake
Nyisson meg egy Git CMD- vagy Git Bash-parancssori környezetet.
Klónozza az Azure IoT SDK for .NET GitHub-adattárat a következő paranccsal:
git clone https://github.com/Azure/azure-iot-sdk-csharp.git
Nyisson meg egy Git CMD- vagy Git Bash-parancssori környezetet.
Klónozza az azure-utpm-c GitHub-adattárat a következő paranccsal:
git clone https://github.com/Azure/azure-utpm-c.git --recursive
Nyisson meg egy Git CMD- vagy Git Bash-parancssori környezetet.
Klónozza a Java GitHub-adattárat a következő paranccsal:
git clone https://github.com/Azure/azure-iot-sdk-java.git --recursive
A TPM-eszközszimulátor létrehozása és futtatása
Ebben a szakaszban a TPM-szimulátort kell létrehoznia és futtatnia. Ez a szimulátor a 2321-es és a 2322-es portokon lévő szoftvercsatornán keresztül figyel. Ne zárja be a parancsablakot. Ennek a szimulátornak a gyors kezdés végéig futnia kell.
Futtassa a következő parancsot az Azure IoT C SDK létrehozásához, amely tartalmazza a TPM-eszközszimulátor mintakódját. A rendszer létrehoz egy Visual Studio-megoldást a szimulált eszközhöz a
cmakecímtárban. Ez a minta TPM igazolási mechanizmust nyújt közös hozzáférésű jogosultságkód- (SAS-) jogkivonat hitelesítésével.cmake -Duse_prov_client:BOOL=ON -Duse_tpm_simulator:BOOL=ON ..Tipp.
Ha
cmakenem találja a C++ fordítót, buildelési hibákat kaphat az előző parancs futtatásakor. Ha ez történik, futtassa a parancsot a Visual Studio parancssorában.Ha a build sikeres, az utolsó néhány kimeneti sor az alábbi kimenethez hasonlóan néz ki:
$ 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/cmakeNyissa meg a klónozott Git-adattár gyökérmappáját.
Futtassa a TPM-szimulátort az alábbi példában látható elérési út használatával.
cd .. .\provisioning_client\deps\utpm\tools\tpm_simulator\Simulator.exeA szimulátor nem jelenít meg kimenetet. Futtassa tovább, miközben TPM-eszközt szimulál.
Nyissa meg a GitHub gyökérmappát.
Futtassa a TPM-szimulátort , hogy a szimulált eszköz HSM-je legyen.
.\azure-utpm-c\tools\tpm_simulator\Simulator.exeHozzon létre egy új, registerdevice nevű üres mappát. A registerdevice mappában hozzon létre egy package.json fájlt a parancssorban található alábbi paranccsal (mindenképpen válaszoljon az összes feltett kérdésre
npm, vagy fogadja el az alapértelmezett beállításokat, ha azok megfelelnek Önnek):npm initTelepítse a következő előzetes csomagokat:
npm install node-gyp -g npm install ffi-napi -gFeljegyzés
Az előző csomagok telepítésével kapcsolatban ismert problémák merülnek fel. A problémák megoldásához futtassa
npm install --global --production windows-build-toolsegy rendszergazdai módban futtatott parancssor segítségével, majd futtassaSET VCTargetsPath=C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140, miután az elérési utat lecserélte a telepített verzióra, és végül futtassa újra az előző telepítési parancsokat.Telepítse az összes szükséges csomagot, amely a következő parancsot futtatja a parancssorban a registerdevice mappában:
npm install --save azure-iot-device azure-iot-device-mqtt azure-iot-security-tpm azure-iot-provisioning-device-http azure-iot-provisioning-deviceA parancs a következő csomagokat telepíti:
A TPM-sel működő biztonsági ügyfél:
azure-iot-security-tpmAz eszköz átvitele a Device Provisioning Service-hez való csatlakozáshoz: vagy
azure-iot-provisioning-device-httpazure-iot-provisioning-device-amqpAz átviteli és biztonsági ügyfelet használó ügyfél:
azure-iot-provisioning-deviceAz eszközügyfél:
azure-iot-deviceSzállítás: bármely
azure-iot-device-amqp,azure-iot-device-mqttvagyazure-iot-device-httpA már telepített biztonsági ügyfél:
azure-iot-security-tpmFeljegyzés
Az ebben a rövid útmutatóban szereplő minták az és
azure-iot-provisioning-device-httpaazure-iot-device-mqttszállítmányokat használják.
Nyisson meg egy szövegszerkesztőt a választási lehetőségek közül.
A registerdevice mappában hozzon létre egy új ExtractDevice.js fájlt.
Adja hozzá a következő
requireutasításokat az ExtractDevice.js fájl elejéhez:'use strict'; var tpmSecurity = require('azure-iot-security-tpm'); var tssJs = require("tss.js"); var myTpm = new tpmSecurity.TpmSecurityClient(undefined, new tssJs.Tpm(true));Adja hozzá az alábbi függvényt a metódus megvalósításához:
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(); } }); } });Mentse és zárja be az ExtractDevice.js fájlt.
node ExtractDevice.jsFuttassa a mintát.
A kimeneti ablakban megjelenik az eszközregisztrációhoz szükséges jóváhagyási kulcs és regisztrációs azonosító . Másolja ki ezeket az értékeket.
Futtassa a TPM-szimulátort , hogy a szimulált eszköz HSM-je legyen.
Válassza a Hozzáférés engedélyezése lehetőséget. A szimulátor egy szoftvercsatornát figyel a 2321-es és a 2322-es porton. Ne zárja be ezt a parancsablakot; a rövid útmutató végéig futtatnia kell ezt a szimulátort.
.\azure-iot-sdk-java\provisioning\provisioning-tools\tpm-simulator\Simulator.exe
Nyisson meg egy második parancssort.
A második parancssorban keresse meg a gyökérmappát, és hozza létre a mintafüggőségeket.
cd azure-iot-sdk-java mvn install -DskipTests=trueLépjen a mintamappára.
cd provisioning/provisioning-samples/provisioning-tpm-sample
Ebben a szakaszban létrehoz és végrehajt egy mintát, amely beolvassa a jóváhagyási kulcsot és a regisztrációs azonosítót a futó TPM-szimulátorból, és továbbra is figyeli a 2321-es és a 2322-es portot. Ezeket az értékeket az eszközregisztrációhoz használja a Device Provisioning Service-példány.
Indítsa el a Visual Studiót.
Nyissa meg a létrehozott megoldást a cmake nevű
azure_iot_sdks.slnmappában.A Visual Studio menüjében válassza a Build>Build Solution (Létrehozás > Megoldás létrehozása) menüpontot a megoldásban lévő összes projekt létrehozásához.
A Visual Studio Megoldáskezelő ablakában keresse meg a Provision_Tools mappát. Kattintson a jobb gombbal a tpm_device_provision projektre, és válassza a Set as Startup Project (Beállítás kezdőprojektként) lehetőséget.
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. Az alkalmazás beolvassa és megjeleníti a regisztrációs azonosítót és a jóváhagyási kulcsot. Jegyezze fel vagy másolja ki ezeket az értékeket. Ezeket az értékeket az eszközregisztráció következő szakaszában használjuk.
Jelentkezzen be az Azure Portalra, válassza a bal oldali menü Minden erőforrás gombját, és nyissa meg a Device Provisioning Service-példányt. Jegyezze fel az azonosító hatókörét és a globális eszközvégpont értékeit.
Szerkessze az
src/main/java/samples/com/microsoft/azure/sdk/iot/ProvisioningTpmSample.javafájlt, hogy az tartalmazza a korábban feljegyzett Azonosító hatóköre és Kiépítési szolgáltatás globális végpontja értéket.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;Mentse a fájlt.
A következő parancsokkal hozza létre a projektet, keresse meg a célmappát, és hajtsa végre a létrehozott .jar fájlt (cserélje le
{version}a Java-verzióra):mvn clean install cd target java -jar ./provisioning-tpm-sample-{version}-with-deps.jarAmikor a program elindul, megjelenik az ellenőrző kulcs és a regisztrációs azonosító. Másolja ki ezeket az értékeket a következő szakaszhoz. Győződjön meg arról, hogy a program fut.
Ebben a szakaszban létrehoz és végrehajt egy mintát, amely beolvassa a TPM 2.0 hardveres biztonsági modul jóváhagyási kulcsát. Ezt az értéket az eszközregisztrációhoz használja a Device Provisioning Service-példány.
Egy parancssorban módosítsa a könyvtárakat a TPM-eszközkiépítési minta projektkönyvtárára.
cd '.\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\TpmSample\'Írja be az alábbi parancsot, és futtassa a TPM-eszközkiépítési mintát. Másolja ki a TPM 2.0 hardveres biztonsági modulból visszaadott ellenőrző kulcsot, hogy később használhassa az eszköz regisztrálásakor.
dotnet run -- -e
Jelentkezzen be az Azure Portalra , és keresse meg a Device Provisioning Service-példányt.
A navigációs menü Beállítások szakaszában válassza a Regisztrációk kezelése lehetőséget.
Válassza az Egyéni regisztrációk lapot, majd az Egyéni regisztráció hozzáadása lehetőséget.
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 Az igazolási mechanizmusként válassza a Megbízható platform modul (TPM) lehetőséget. A megbízható platformmodul (TPM) beállításai Adja meg a regisztrációs eszköz ellenőrzéséhez használt ellenőrző kulcsot. Az ellenőrző kulcsot lekérheti az eszköz TPM-éből. Regisztrációs azonosító Adja meg az eszköz egyedi regisztrációs azonosítóját. A regisztrációs azonosítót lekérheti az eszköz TPM-éből. 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. Válassza a Tovább: IoT Hubs lehetőséget.
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.Válassza a Tovább elemet : Eszközbeállítások
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, az IoT Hubban kiépített eszközhöz hozzárendelt eszközazonosítót. Ha nem ad meg eszközazonosítót, a rendszer a regisztrációs azonosítót használja. IoT Edge Jelölje be az IoT Edge engedélyezése a kiépített eszközökön opciót, ha a kiépített eszközön az Azure IoT Edge-et futtatja. 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.
Válassza a Tovább: Ellenőrzés és létrehozás lehetőségre.
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.
A rövid útmutató C# TPM-mintája nem ad meg regisztrációs azonosítót. Amikor a rendszer kéri, hogy adjon hozzá egyet az egyéni regisztrációhoz, adja meg a saját értékét.
Jelentkezzen be az Azure Portalra , és keresse meg a Device Provisioning Service-példányt.
A navigációs menü Beállítások szakaszában válassza a Regisztrációk kezelése lehetőséget.
Válassza az Egyéni regisztrációk lapot, majd az Egyéni regisztráció hozzáadása lehetőséget.
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 Az igazolási mechanizmusként válassza a Megbízható platform modul (TPM) lehetőséget. A megbízható platformmodul (TPM) beállításai Adja meg a regisztrációs eszköz ellenőrzéséhez használt ellenőrző kulcsot. Az ellenőrző kulcsot lekérheti az eszköz TPM-éből. Regisztrációs azonosító Adja meg az eszköz egyedi regisztrációs azonosítóját. A regisztrációs azonosítót lekérheti az eszköz TPM-éből. 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. Válassza a Tovább: IoT Hubs lehetőséget.
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.Válassza a Tovább elemet : Eszközbeállítások
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, az IoT Hubban kiépített eszközhöz hozzárendelt eszközazonosítót. Ha nem ad meg eszközazonosítót, a rendszer a regisztrációs azonosítót használja. IoT Edge Jelölje be az IoT Edge engedélyezése a kiépített eszközökön opciót, ha a kiépített eszközön az Azure IoT Edge-et futtatja. 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.
Válassza a Tovább: Ellenőrzés és létrehozás lehetőségre.
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.
Eszköz regisztrálása
Ebben a szakaszban a mintakódot úgy konfigurálja, hogy az Advanced Message Queuing Protocol (AMQP) használatával küldje el az eszköz rendszerindítási sorozatát a Device Provisioning Service-példánynak. Ez a rendszerindítási sorozat miatt az eszköz regisztrálva lesz a Device Provisioning Service-példányhoz társított IoT Hubon.
Az Azure Portalon válassza a Device Provisioning Service-példány Áttekintés lapját.
Másolja ki az azonosító hatókörének értékét.
A Visual Studio Megoldáskezelő ablakában keresse meg a Provision_Samples mappát. 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.
A fájl tetején keresse meg az
#defineegyes eszközprotokollok utasításait az alábbi példában látható módon. Győződjön meg arról, hogy csak aSAMPLE_AMQPne legyen ellátva megjegyzéssel.Az MQTT protokoll jelenleg nem támogatott a TPM egyéni regisztrációjához.
// // 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_HTTPKeresse meg az
id_scopeállandót, és cserélje le az értékét a korábban kimásolt Azonosító hatóköre értékre.static const char* id_scope = "0ne00002193";Keresse meg a
main()függvény definícióját ugyanebben a fájlban. Győződjön meg arról, hogyhsm_typeaSECURE_DEVICE_TYPE_TPMvá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;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.
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 példakimeneten az látható, hogy az eszközregisztrációs mintaügyfél sikeresen elindul, és csatalakozik a Device Provisioning Service példányához az IoT Hub adatainak lekérése és a regisztráció céljából:
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
Az Azure Portalon válassza a Device Provisioning Service-példány Áttekintés lapját.
Másolja ki az azonosító hatókörének értékét.
Egy parancssorban módosítsa a könyvtárakat a TPM-eszközkiépítési minta projektkönyvtárára.
cd '.\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\TpmSample\'Futtassa a következő parancsot az eszköz regisztrálásához. Cserélje le
<IdScope>a másolt DPS értékét és<RegistrationId>az eszközregisztráció létrehozásakor használt értéket.dotnet run -- -s <IdScope> -r <RegistrationId>Ha az eszközregisztráció sikeres volt, a következő üzenet jelenik meg:
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.
Az Azure Portalon válassza a Device Provisioning Service-példány Áttekintés lapját.
Másolja ki az azonosító hatókörének értékét.
Nyisson meg egy tetszőleges szövegszerkesztőt.
A registerdevice mappában hozzon létre egy új RegisterDevice.js fájlt.
Adja hozzá a következő
requireutasításokat a RegisterDevice.js fájl elejéhez:'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;Feljegyzés
A Node.js-hez készült Azure IoT SDK más protokollokat is támogat, például az AMQP-t, az AMQP WS-t és az MQTT WS-t. További példák: Device Provisioning Service SDK for Node.js-minták.
Adjon hozzá egy globalDeviceEndpoint és egy idScope változót, és ezek használatával hozzon létre egy ProvisioningDeviceClient példányt. Cserélje le {globalDeviceEndpoint} és {idScope} a Globális eszközvégpont és az Azonosító hatókör értékeire az 1. lépésből:
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);Adja hozzá az alábbi függvényt a metódus megvalósításához az eszközön:
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); }; } } });Mentse és zárja be a RegisterDevice.js fájlt.
Futtassa az alábbi parancsot:
node RegisterDevice.jsFigyelje meg az eszköz rendszerindítását szimuláló és az eszközkiépítési szolgáltatáshoz az IoT Hub információk lekérése érdekében kapcsolódó üzeneteket.
A számítógépen a Java-mintakódot futtató parancsablakban nyomja le az Enter billentyűt az alkalmazás futtatásának folytatásához. Figyelje meg az eszköz rendszerindítását szimuláló és az eszközkiépítési szolgáltatáshoz az IoT Hub információk lekérése érdekében kapcsolódó üzeneteket.
Eszközkiépítési regisztráció megerősítése
Jelentkezzen be az Azure Portalra.
A bal oldali menüben vagy a portállapon válassza a Minden erőforrás lehetőséget.
Válassza ki azt az IoT Hubot, amelyhez az eszköz hozzá lett rendelve.
Az Eszközkezelés szakaszban válassza az Eszközök lehetőséget.
Ha az eszköz kiépítése sikeresen megtörtént, az eszközazonosítónak meg kell jelennie a listában, és az Állapot beállítás engedélyezve van. Ha nem látja az eszközt, válassza a Frissítés lehetőséget a panel tetején.
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
Zárja be az eszközügyfél minta kimeneti ablakát a gépen.
Az Azure Portal portál menüjében válassza a Minden erőforrás lehetőséget.
Válassza ki a Device Provisioning Service-példányt.
A szolgáltatás menü Beállítások területén válassza a Regisztrációk kezelése lehetőséget.
A munkaablakban válassza az Egyéni regisztrációk lapot.
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.
A panel tetején válassza a Törlés lehetőséget.
Eszközregisztráció törlése az IoT Hubról
Az Azure Portal portál menüjében válassza a Minden erőforrás lehetőséget.
Válassza ki az IoT Hubot.
A szolgáltatásmenü Eszközkezelés területén válassza az Eszközök lehetőséget.
Jelölje be az ebben a rövid útmutatóban regisztrált eszköz eszközazonosítója melletti jelölőnégyzetet.
A panel 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.