Rövid útmutató: Szimulált TPM-eszköz kiépítése
Ebben a rövid útmutatóban egy szimulált eszközt fog létrehozni a Windows-gépen. A szimulált eszköz úgy lesz konfigurálva, hogy egy megbízható platformmodul (TPM) igazolási mechanizmust használjon a hitelesítéshez. Miután konfigurálta az eszközt, az Azure IoT Hub Device Provisioning Service használatával kiépítheti az IoT Hubra. Ezt követően a rendszer mintakódot használ az eszköz eszközkiépítési szolgáltatáspéldányhoz 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 . Emellett a folytatás előtt végezze el az IoT Hub eszközkiépítési szolgáltatás beállítása az Azure Portallal című cikk lépéseit.
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 az IoT Hub Device Provisioning Service azure portallal való beállításának lépéseit.
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.
- A Visual Studio 2019-ben engedélyezve van a "C++-os asztali fejlesztés" munkaterhelés. 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 egy, az Azure IoT C SDK és a TPM-eszközszimulátor-minta létrehozásához használt fejlesztői környezetet fog előkészíteni.
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.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_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.
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
Nyisson meg egy Git CMD- vagy Git Bash-parancssori környezetet.
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
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 fogja létrehozni és futtatni. 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 rövid útmutató 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
cmake
cí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
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.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/cmake
Nyissa meg a klónozott Git-adattár gyökérmappáját.
Futtassa a TPM-szimulátort az alábbi útvonalon.
cd .. .\provisioning_client\deps\utpm\tools\tpm_simulator\Simulator.exe
A 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.exe
Hozzon 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 init
Telepítse a következő előzetes csomagokat:
npm install node-gyp -g npm install ffi-napi -g
Feljegyzés
A fenti csomagok telepítése során ismert problémák fordulhatnak elő. Ezen problémák elhárításához futtassa az
npm install --global --production windows-build-tools
parancsot a parancssorból Futtatás rendszergazdaként módban, majd futtassa aSET VCTargetsPath=C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140
parancsot, amelyben a telepített verziónak megfelelően cserélje le az útvonalat, végül pedig futtassa újra a fenti 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-device
A parancs a következő csomagokat telepíti:
A TPM-sel működő biztonsági ügyfél:
azure-iot-security-tpm
Az eszköz átvitele a Device Provisioning Service-hez való csatlakozáshoz: vagy
azure-iot-provisioning-device-http
azure-iot-provisioning-device-amqp
Az átviteli és biztonsági ügyfelet használó ügyfél:
azure-iot-provisioning-device
Az eszközügyfél:
azure-iot-device
Szállítás: bármely
azure-iot-device-amqp
,azure-iot-device-mqtt
vagyazure-iot-device-http
A már telepített biztonsági ügyfél:
azure-iot-security-tpm
Feljegyzés
Az ebben a rövid útmutatóban szereplő minták az és
azure-iot-device-mqtt
aazure-iot-provisioning-device-http
szá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ő
require
utasí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.js
Futtassa 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=true
Lé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. A rendszer ezeket az értékeket használja az eszköz regisztrációjához a Device Provisioning Service-példány esetében.
Indítsa el a Visual Studiót.
Nyissa meg a létrehozott megoldást a cmake nevű
azure_iot_sdks.sln
mappá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 a következő szakaszban fogjuk használni az eszközregisztrációhoz.
Jelentkezzen be az Azure Portalra, válassza a bal oldali menü Minden erőforrás gombját, és nyissa meg a Device Provisioning Service szolgáltatást. Jegyezze fel az Azonosító hatóköre és a Kiépítési szolgáltatás globális végpontja értéket.
Szerkessze az
src/main/java/samples/com/microsoft/azure/sdk/iot/ProvisioningTpmSample.java
fá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.jar
Amikor 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. Ez az érték a Device Provisioning Service-példányhoz tartozó eszközregisztrációhoz lesz felhasználva.
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 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.
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 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.
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 az Eszközkiépítési szolgáltatás Á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 elején keresse meg az eszközprotokollok
#define
utasításait az alábbi módon. Győződjön meg arról, hogy csak aSAMPLE_AMQP
ne 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_HTTP
Keresse 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, hogySECURE_DEVICE_TYPE_TPM
ahsm_type
változó az alábbi 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 az Eszközkiépítési szolgáltatás Á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 az Eszközkiépítési szolgáltatás Á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ő
require
utasí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
Az Azure IoT SDK for Node.js támogatja az olyan további protokollokat, mint az AMQP, az AMQP WS és az MQTT WS. 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. A {globalDeviceEndpoint} és az {idScope} elemeket cserélje le az 1. lépésből származó Globális eszközvégpont és Azonosító hatókörére elemekre:
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.js
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.
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 Explorers menüben válassza az IoT-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 lap tetején.
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 lap tetején.
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 lap tetején.
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 lap 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 bal oldali menüjében válassza a Minden erőforrás lehetőséget.
Válassza ki az Eszközkiépítési szolgáltatást.
A Beállítások menüben válassza a Regisztrációk kezelése lehetőséget.
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.
Az oldal tetején válassza a Törlés lehetőséget.
Eszközregisztráció törlése az IoT Hubról
Az Azure Portal bal oldali menüjében válassza a Minden erőforrás lehetőséget.
Válassza ki az IoT Hubot.
Az Explorers menüben válassza az IoT-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.
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.