Szybki start: aprowizuj symulowane urządzenie klucza symetrycznego
W tym przewodniku Szybki start utworzysz symulowane urządzenie na maszynie z systemem Windows. Symulowane urządzenie jest skonfigurowane do używania mechanizmu zaświadczania klucza symetrycznego na potrzeby uwierzytelniania. Po skonfigurowaniu urządzenia aprowizujesz je w centrum IoT Przy użyciu usługi Azure IoT Hub Device Provisioning.
Jeśli nie znasz procesu aprowizacji, zapoznaj się z omówieniem aprowizacji .
Ten przewodnik Szybki start przedstawia rozwiązanie dla stacji roboczej z systemem Windows. Można jednak również wykonać procedury w systemie Linux. Aby zapoznać się z przykładem systemu Linux, zobacz Samouczek: aprowizowanie opóźnienia geograficznego.
Wymagania wstępne
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Wykonaj kroki opisane w temacie Konfigurowanie usługi IoT Hub Device Provisioning Przy użyciu witryny Azure Portal.
- Jeśli używasz środowiska deweloperskiego systemu Windows, zainstaluj program Visual Studio 2019 z włączonym obciążeniem "Programowanie aplikacji klasycznych z językiem C++". Obsługiwane są również programy Visual Studio 2015 i Visual Studio 2017. W przypadku systemu Linux lub macOS zapoznaj się z odpowiednią sekcją w temacie Przygotowywanie środowiska projektowego w dokumentacji zestawu SDK.
Zainstaluj zestaw .NET SDK 6.0 lub nowszy na maszynie z systemem Windows. Aby sprawdzić wersję, możesz użyć następującego polecenia.
dotnet --info
- Zainstaluj program Node.js w wersji 4.0 lub nowszej.
- Zainstaluj środowisko Python w wersji 3.7 lub nowszej zainstalowanej na komputerze z systemem Windows. Możesz sprawdzić swoją wersję języka Python, uruchamiając polecenie
python --version
.
Zainstaluj zestaw Java SE Development Kit 8 lub nowszy zainstalowany na maszynie.
Pobierz i zainstaluj pakiet Maven.
- Zainstaluj najnowszą wersję usługi Git. Upewnij się, że usługa Git jest dodawana do zmiennych środowiskowych dostępnych w oknie polecenia. Zobacz Narzędzia klienckie Git firmy Software Freedom Conservancy, aby zapoznać się z najnowszą wersją
git
narzędzi do zainstalowania, która obejmuje powłokę Git Bash, aplikację wiersza polecenia, której można użyć do interakcji z lokalnym repozytorium Git.
przygotowywanie środowiska programistycznego
W tej sekcji przygotujesz środowisko programistyczne używane do kompilowania zestawu SDK języka C usługi Azure IoT. Przykładowy kod próbuje aprowizować urządzenie podczas sekwencji rozruchu urządzenia.
Pobierz najnowszy system kompilacji narzędzia CMake.
Ważne
Przed rozpoczęciem
CMake
instalacji upewnij się, że na maszynie są zainstalowane wymagania wstępne programu Visual Studio (Program Visual Studio i pakiet roboczy Programowanie aplikacji klasycznych z językiem C++). Gdy wymagania wstępne zostaną spełnione, a pobrane pliki zweryfikowane, zainstaluj system kompilacji CMake. Należy również pamiętać, że starsze wersje systemu kompilacji CMake nie mogą wygenerować pliku rozwiązania używanego w tym artykule. Upewnij się, że używasz najnowszej wersji narzędzia CMake.Otwórz przeglądarkę internetową i przejdź do strony Wydanie zestawu AZURE IoT C SDK.
Wybierz kartę Tagi w górnej części strony.
Skopiuj nazwę tagu dla najnowszej wersji zestawu AZURE IoT C SDK.
Otwórz wiersz polecenia lub powłokę Git Bash. Uruchom następujące polecenia, aby sklonować najnowszą wersję zestawu AZURE IoT Device SDK for C GitHub. Zastąp
<release-tag>
ciąg tagiem skopiowanymi w poprzednim kroku, na przykład: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
Wykonanie tej operacji może potrwać kilka minut.
Po zakończeniu operacji uruchom następujące polecenia z
azure-iot-sdk-c
katalogu:mkdir cmake cd cmake
Przykładowy kod używa klucza symetrycznego do zapewnienia zaświadczania. Uruchom następujące polecenie, aby skompilować wersję zestawu SDK specyficzną dla platformy klienta programowania, która obejmuje klienta aprowizacji urządzeń:
cmake -Dhsm_type_symm_key:BOOL=ON -Duse_prov_client:BOOL=ON ..
Napiwek
Jeśli
cmake
nie znajdziesz kompilatora języka C++, podczas uruchamiania powyższego polecenia mogą wystąpić błędy kompilacji. W takim przypadku spróbuj uruchomić polecenie w wierszu polecenia programu Visual Studio.Po pomyślnym zakończeniu kompilacji ostatnie kilka wierszy wyjściowych będzie wyglądać podobnie do następujących danych wyjściowych:
$ 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
Otwórz środowisko wiersza polecenia git CMD lub Git Bash.
Sklonuj repozytorium GitHub zestawu AZURE IoT SDK dla języka C# przy użyciu następującego polecenia:
git clone https://github.com/Azure/azure-iot-sdk-csharp.git
Otwórz środowisko wiersza polecenia git CMD lub Git Bash.
Sklonuj zestaw SDK usługi Azure IoT dla repozytorium Node.js GitHub przy użyciu następującego polecenia:
git clone https://github.com/Azure/azure-iot-sdk-node.git --recursive
Otwórz środowisko wiersza polecenia git CMD lub Git Bash.
Sklonuj repozytorium GitHub zestawu Azure IoT SDK dla języka Python przy użyciu następującego polecenia:
git clone -b v2 https://github.com/Azure/azure-iot-sdk-python.git --recursive
Uwaga
Przykłady używane w tym samouczku znajdują się w gałęzi w wersji 2 repozytorium azure-iot-sdk-python. Wersja 3 zestawu SDK języka Python jest dostępna do użycia w wersji beta.
Otwórz środowisko wiersza polecenia git CMD lub Git Bash.
Sklonuj repozytorium GitHub zestawu SDK usługi Azure IoT dla języka Java przy użyciu następującego polecenia:
git clone https://github.com/Azure/azure-iot-sdk-java.git --recursive
Przejdź do katalogu głównego
azure-iot-sdk-java
i skompiluj projekt, aby pobrać wszystkie potrzebne pakiety. Wykonanie tego kroku może potrwać kilka minut.cd azure-iot-sdk-java mvn install -DskipTests=true
Tworzenie rejestracji urządzenia
Usługa Azure IoT Device Provisioning obsługuje dwa typy rejestracji:
- Grupy rejestracji: służą do rejestrowania wielu pokrewnych urządzeń.
- Rejestracje indywidualne: służy do rejestrowania pojedynczego urządzenia.
W tym artykule przedstawiono rejestrację indywidualną dla pojedynczego urządzenia do aprowizowania w centrum IoT.
Zaloguj się do witryny Azure Portal i przejdź do wystąpienia usługi Device Provisioning Service.
Wybierz pozycję Zarządzaj rejestracjami w sekcji Ustawienia menu nawigacji.
Wybierz kartę Rejestracje indywidualne, a następnie wybierz pozycję Dodaj rejestrację indywidualną.
Na stronie Rejestracja i aprowizowanie dodaj rejestrację podaj następujące informacje, aby skonfigurować szczegóły rejestracji:
Pole opis Zaświadczanie Wybierz pozycję Klucz symetryczny jako mechanizm zaświadczania. Ustawienia klucza symetrycznego Zaznacz pole Automatycznie Generuj klucze symetryczne, jeśli chcesz użyć losowo wygenerowanych kluczy. Usuń zaznaczenie tego pola, jeśli chcesz podać własne klucze. Identyfikator rejestracji Podaj unikatowy identyfikator rejestracji urządzenia. Stan aprowizacji Zaznacz pole Włącz tę rejestrację, jeśli ta rejestracja ma być dostępna do aprowizacji urządzenia. Usuń zaznaczenie tego pola, jeśli chcesz, aby rejestracja została wyłączona. To ustawienie można zmienić później. Zasady ponownej aprowizacji Wybierz zasady ponownej aprowizacji, które odzwierciedlają sposób obsługi urządzeń, które żądają ponownej aprowizacji przez usługę DPS. Aby uzyskać więcej informacji, zobacz Zasady ponownej aprowizacji. Wybierz pozycję Dalej: centra IoT.
Na karcie Centra IoT na stronie Dodawanie rejestracji podaj następujące informacje, aby określić, które centra IoT mogą aprowizować urządzenia:
Pole opis Docelowe centra IoT Wybierz co najmniej jedno połączone centra IoT lub dodaj nowy link do centrum IoT. Aby dowiedzieć się więcej na temat łączenia centrów IoT z wystąpieniem usługi DPS, zobacz Jak połączyć centra IoT i zarządzać nimi. Zasady alokacji Jeśli wybrano więcej niż jedno połączone centrum IoT, wybierz sposób przypisywania urządzeń do różnych centrów. Aby dowiedzieć się więcej na temat zasad alokacji, zobacz Jak używać zasad alokacji.
Jeśli wybrano tylko jedno połączone centrum IoT, zalecamy użycie zasad dystrybucji równomiernie ważonej.Wybierz pozycję Dalej: Ustawienia urządzenia
Na karcie Ustawienia urządzenia na stronie Dodawanie rejestracji podaj następujące informacje, aby zdefiniować sposób konfigurowania nowo aprowizowania urządzeń:
Pole opis Identyfikator urządzenia Podaj identyfikator urządzenia, który zostanie przypisany do aprowizowanego urządzenia w usłudze IoT Hub. Jeśli nie podasz identyfikatora urządzenia, zostanie użyty identyfikator rejestracji. IoT Edge Sprawdź włączanie usługi IoT Edge na aprowidowanych urządzeniach , jeśli aprowizowane urządzenie uruchomi usługę Azure IoT Edge. Usuń zaznaczenie tego pola, jeśli ta rejestracja dotyczy urządzenia z obsługą usługi IoT Edge. Tagi urządzeń Użyj tego pola tekstowego, aby podać tagi, które mają być stosowane do bliźniaczej reprezentacji urządzenia aprowizowanego urządzenia. Żądane właściwości Użyj tego pola tekstowego, aby podać żądane właściwości, które chcesz zastosować do bliźniaczej reprezentacji urządzenia aprowizowanego urządzenia. Aby uzyskać więcej informacji, zobacz Opis bliźniaczej reprezentacji urządzenia w usłudze IoT Hub oraz sposoby jej używania.
Wybierz pozycję Dalej: Przeglądanie i tworzenie.
Na karcie Przeglądanie i tworzenie sprawdź wszystkie wartości, a następnie wybierz pozycję Utwórz.
Po utworzeniu rejestracji indywidualnej zostanie wygenerowany klucz podstawowy i klucz pomocniczy oraz dodany do wpisu rejestracji. W dalszej części tego przewodnika Szybki start użyjesz klucza podstawowego w przykładzie urządzenia.
Aby wyświetlić symulowaną rejestrację urządzenia z kluczem symetrycznym, wybierz kartę Indywidualne rejestracje .
Wybierz identyfikator rejestracji urządzenia z listy rejestracji indywidualnych.
Skopiuj wartość wygenerowanego klucza podstawowego.
Przygotowywanie i uruchamianie kodu aprowizacji urządzenia
W tej sekcji zaktualizujesz przykładowy kod urządzenia, aby wysłać sekwencję rozruchową urządzenia do wystąpienia usługi Device Provisioning Service. Ta sekwencja rozruchowa powoduje, że urządzenie zostanie rozpoznane, uwierzytelnione i przypisane do centrum IoT Połączone z wystąpieniem usługi Device Provisioning Service.
Przykładowy kod aprowizacji wykonuje następujące zadania w następującej kolejności:
Uwierzytelnia urządzenie przy użyciu zasobu Device Provisioning przy użyciu następujących trzech parametrów:
- Zakres identyfikatora usługi Device Provisioning Service
- Identyfikator rejestracji dla rejestracji urządzenia.
- Podstawowy klucz symetryczny rejestracji urządzenia.
Przypisuje urządzenie do centrum IoT Hub, które jest już połączone z wystąpieniem usługi Device Provisioning Service.
Aby zaktualizować i uruchomić przykład aprowizacji przy użyciu informacji o urządzeniu:
W menu głównym usługi Device Provisioning Wybierz pozycję Przegląd.
Skopiuj wartość Zakres identyfikatora.
W programie Visual Studio otwórz plik rozwiązania azure_iot_sdks.sln, który został wygenerowany przez uruchomienie narzędzia CMake. Plik rozwiązania powinien znajdować się w następującej lokalizacji:
\azure-iot-sdk-c\cmake\azure_iot_sdks.sln
Napiwek
Jeśli plik nie został wygenerowany w katalogu cmake, upewnij się, że użyto najnowszej wersji systemu kompilacji narzędzia CMake.
W oknie Eksplorator rozwiązań programu Visual Studio przejdź do folderu Provision_Samples. Rozwiń przykładowy projekt o nazwie prov_dev_client_sample. Rozwiń węzeł Pliki źródłowe i otwórz plik prov_dev_client_sample.c.
Znajdź stałą
id_scope
i zastąp wartość wartością Zakres identyfikatora skopiowaną w kroku 2.static const char* id_scope = "0ne00002193";
Znajdź definicję funkcji
main()
w tym samym pliku. Upewnij się, że zmienna jest ustawionahsm_type
naSECURE_DEVICE_TYPE_SYMMETRIC_KEY
, jak pokazano w poniższym przykładzie:SECURE_DEVICE_TYPE hsm_type; //hsm_type = SECURE_DEVICE_TYPE_TPM; //hsm_type = SECURE_DEVICE_TYPE_X509; hsm_type = SECURE_DEVICE_TYPE_SYMMETRIC_KEY;
Znajdź wywołanie metody
prov_dev_set_symmetric_key_info()
w pliku prov_dev_client_sample.c , które zostało skomentowane.// Set the symmetric key if using they auth type //prov_dev_set_symmetric_key_info("<symm_registration_id>", "<symmetric_Key>");
Usuń komentarz z wywołania funkcji i zastąp wartości symboli zastępczych (w tym nawiasy kątowe) identyfikatorem rejestracji urządzenia i skopiowaną wcześniej wartością klucza podstawowego.
// Set the symmetric key if using they auth type prov_dev_set_symmetric_key_info("symm-key-device-007", "your primary key here");
Zapisz plik.
Kliknij prawym przyciskiem myszy projekt prov_dev_client_sample i wybierz polecenie Ustaw jako projekt startowy.
Z menu programu Visual Studio wybierz pozycję Debuguj>Uruchom bez debugowania, aby uruchomić rozwiązanie. W wierszu polecenia ponownego kompilowania projektu wybierz pozycję Tak , aby ponownie skompilować projekt przed uruchomieniem.
Następujące dane wyjściowe to przykład pomyślnego nawiązania połączenia urządzenia z wystąpieniem usługi aprowizacji, które ma zostać przypisane do centrum IoT:
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:
Przykładowy kod aprowizacji wykonuje następujące zadania:
Uwierzytelnia urządzenie przy użyciu zasobu Device Provisioning przy użyciu następujących trzech parametrów:
- Zakres identyfikatora usługi Device Provisioning Service
- Identyfikator rejestracji dla rejestracji urządzenia.
- Podstawowy klucz symetryczny rejestracji urządzenia.
Przypisuje urządzenie do centrum IoT Hub, które jest już połączone z wystąpieniem usługi Device Provisioning Service.
Wysyła komunikat telemetrii testowej do centrum IoT.
Aby zaktualizować i uruchomić przykład aprowizacji przy użyciu informacji o urządzeniu:
W menu głównym usługi Device Provisioning Wybierz pozycję Przegląd.
Skopiuj wartość Zakres identyfikatora.
Otwórz wiersz polecenia i przejdź do pliku SymmetricKeySample w sklonowanym repozytorium zestawu SDK:
cd '.\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\SymmetricKeySample\'
W folderze SymmetricKeySample otwórz Parameters.cs w edytorze tekstów. Ten plik zawiera dostępne parametry dla przykładu. Podczas uruchamiania przykładu używane są tylko pierwsze trzy wymagane parametry. Przejrzyj kod w tym pliku. Nie są potrzebne żadne zmiany.
Parametr Wymagania opis --i
lub--IdScope
Prawda Zakres identyfikatora wystąpienia usługi DPS --r
lub--RegistrationId
Prawda Identyfikator rejestracji jest ciągiem bez uwzględniania wielkości liter (do 128 znaków) znaków alfanumerycznych oraz znakami specjalnymi: '-'
, ,'.'
'_'
,':'
. Ostatni znak musi być alfanumeryczny lub kreskowy ('-'
).--p
lub--PrimaryKey
Prawda Klucz podstawowy rejestracji indywidualnej lub pochodnego klucza urządzenia rejestracji grupy. Zobacz computeDerivedSymmetricKeySample, aby dowiedzieć się, jak wygenerować klucz pochodny. --g
lub--GlobalDeviceEndpoint
Fałsz Globalny punkt końcowy dla urządzeń do nawiązania połączenia. Wartości domyślne global.azure-devices-provisioning.net
--t
lub--TransportType
Fałsz Transport używany do komunikowania się z wystąpieniem aprowizacji urządzeń. Wartość domyślna to Mqtt
. Możliwe wartości obejmująMqtt
, ,Mqtt_WebSocket_Only
,Amqp
Amqp_Tcp_only
Mqtt_Tcp_Only
Amqp_WebSocket_Only
, i .Http1
W folderze SymmetricKeySample otwórz ProvisioningDeviceClientSample.cs w edytorze tekstów. Ten plik pokazuje, jak klasa SecurityProviderSymmetricKey jest używana wraz z klasą ProvisioningDeviceClient w celu aprowizacji symulowanego urządzenia klucza symetrycznego. Przejrzyj kod w tym pliku. Nie są potrzebne żadne zmiany.
Skompiluj i uruchom przykładowy kod przy użyciu następującego polecenia:
- Zastąp
<id-scope>
wartość zakresem identyfikatora skopiowaną w kroku 2. - Zastąp
<registration-id>
element identyfikatorem rejestracji podanym dla rejestracji urządzenia. - Zastąp wartość
<primarykey>
kluczem podstawowym skopiowaną z rejestracji urządzenia.
dotnet run --i <id-scope> --r <registration-id> --p <primarykey>
- Zastąp
Powinny zostać wyświetlone dane wyjściowe podobne do poniższych. Ciąg "TestMessage" jest wysyłany do centrum jako komunikat testowy.
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.
Przykładowy kod aprowizacji wykonuje następujące zadania w następującej kolejności:
Uwierzytelnia urządzenie przy użyciu zasobu Device Provisioning przy użyciu następujących czterech parametrów:
PROVISIONING_HOST
PROVISIONING_IDSCOPE
PROVISIONING_REGISTRATION_ID
PROVISIONING_SYMMETRIC_KEY
Przypisuje urządzenie do centrum IoT Hub, które jest już połączone z wystąpieniem usługi Device Provisioning Service.
Wysyła komunikat telemetrii testowej do centrum IoT.
Aby zaktualizować i uruchomić przykład aprowizacji przy użyciu informacji o urządzeniu:
W menu głównym usługi Device Provisioning Wybierz pozycję Przegląd.
Skopiuj wartości Zakres identyfikatorów i Globalny punkt końcowy urządzenia.
Otwórz wiersz polecenia do wykonywania Node.js poleceń i przejdź do następującego katalogu:
cd azure-iot-sdk-node/provisioning/device/samples
W folderze provisioning/device/samples otwórz register_symkey.js i przejrzyj kod. Zwróć uwagę, że przykładowy kod ustawia niestandardowy ładunek:
provisioningClient.setProvisioningPayload({a: 'b'});
Ten kod może być komentowany, ponieważ nie jest on potrzebny w tym przewodniku Szybki start. Niestandardowy ładunek będzie wymagany, aby użyć niestandardowej funkcji alokacji w celu przypisania urządzenia do centrum IoT. Aby uzyskać więcej informacji, zobacz Samouczek: używanie niestandardowych zasad alokacji.
Metoda
provisioningClient.register()
próbuje rejestracji urządzenia.Nie są potrzebne żadne dalsze zmiany.
W wierszu polecenia uruchom następujące polecenia, aby ustawić zmienne środowiskowe używane przez przykład:
- Zastąp element
<provisioning-global-endpoint>
globalnym punktem końcowym urządzenia skopiowany w kroku 2. - Zastąp
<id-scope>
wartość zakresem identyfikatora skopiowaną w kroku 2. - Zastąp
<registration-id>
element identyfikatorem rejestracji podanym dla rejestracji urządzenia. - Zastąp wartość
<primarykey>
kluczem podstawowym skopiowaną z rejestracji urządzenia.
set PROVISIONING_HOST=<provisioning-global-endpoint>
set PROVISIONING_IDSCOPE=<id-scope>
set PROVISIONING_REGISTRATION_ID=<registration-id>
set PROVISIONING_SYMMETRIC_KEY=<primarykey>
- Zastąp element
Skompiluj i uruchom przykładowy kod przy użyciu następujących poleceń:
npm install
node register_symkey.js
Powinny zostać wyświetlone dane wyjściowe podobne do poniższych. Ciąg "Hello World" jest wysyłany do centrum jako komunikat testowy.
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
Przykładowy kod aprowizacji wykonuje następujące zadania w następującej kolejności:
Uwierzytelnia urządzenie przy użyciu zasobu Device Provisioning przy użyciu następujących czterech parametrów:
PROVISIONING_HOST
PROVISIONING_IDSCOPE
PROVISIONING_REGISTRATION_ID
PROVISIONING_SYMMETRIC_KEY
Przypisuje urządzenie do centrum IoT Hub, które jest już połączone z wystąpieniem usługi Device Provisioning Service.
Wysyła komunikat telemetrii testowej do centrum IoT.
Aby zaktualizować i uruchomić przykład aprowizacji przy użyciu informacji o urządzeniu:
W menu głównym usługi Device Provisioning Wybierz pozycję Przegląd.
Skopiuj wartości Zakres identyfikatorów i Globalny punkt końcowy urządzenia.
Otwórz wiersz polecenia i przejdź do katalogu, w którym znajduje się przykładowy plik provision_symmetric_key.py.
cd azure-iot-sdk-python\samples\async-hub-scenarios
W wierszu polecenia uruchom następujące polecenia, aby ustawić zmienne środowiskowe używane przez przykład:
- Zastąp element
<provisioning-global-endpoint>
globalnym punktem końcowym urządzenia skopiowany w kroku 2. - Zastąp
<id-scope>
wartość zakresem identyfikatora skopiowaną w kroku 2. - Zastąp
<registration-id>
element identyfikatorem rejestracji podanym dla rejestracji urządzenia. - Zastąp wartość
<primarykey>
kluczem podstawowym skopiowaną z rejestracji urządzenia.
set PROVISIONING_HOST=<provisioning-global-endpoint>
set PROVISIONING_IDSCOPE=<id-scope>
set PROVISIONING_REGISTRATION_ID=<registration-id>
set PROVISIONING_SYMMETRIC_KEY=<primarykey>
- Zastąp element
Zainstaluj bibliotekę azure-iot-device , uruchamiając następujące polecenie.
pip install azure-iot-device
Uruchom przykładowy kod języka Python w provision_symmetric_key.py.
python provision_symmetric_key.py
Powinny zostać wyświetlone dane wyjściowe podobne do poniższych. Niektóre przykładowe komunikaty telemetryczne prędkości wiatru są również wysyłane do koncentratora jako test.
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
Przykładowy kod aprowizacji wykonuje następujące zadania w następującej kolejności:
Uwierzytelnia urządzenie przy użyciu zasobu Device Provisioning przy użyciu następujących czterech parametrów:
GLOBAL_ENDPOINT
SCOPE_ID
REGISTRATION_ID
SYMMETRIC_KEY
Przypisuje urządzenie do centrum IoT Hub, które jest już połączone z wystąpieniem usługi Device Provisioning Service.
Wysyła komunikat telemetrii testowej do centrum IoT.
Aby zaktualizować i uruchomić przykład aprowizacji przy użyciu informacji o urządzeniu:
W menu głównym usługi Device Provisioning Wybierz pozycję Przegląd.
Skopiuj wartości Zakres identyfikatorów i Globalny punkt końcowy urządzenia. Te wartości są odpowiednio parametrami
SCOPE_ID
i .GLOBAL_ENDPOINT
Otwórz przykładowy kod urządzenia Java do edycji. Pełna ścieżka do przykładowego kodu urządzenia to:
azure-iot-sdk-java/provisioning/provisioning-device-client-samples/provisioning-symmetrickey-individual-sample/src/main/java/samples/com/microsoft/azure/sdk/iot/ProvisioningSymmetricKeyIndividualEnrollmentSample.java
Ustaw wartość następujących zmiennych dla usługi DPS i rejestracji urządzeń:
- Zastąp
<id-scope>
wartość zakresem identyfikatora skopiowaną w kroku 2. - Zastąp element
<provisioning-global-endpoint>
globalnym punktem końcowym urządzenia skopiowany w kroku 2. - Zastąp
<registration-id>
element identyfikatorem rejestracji podanym dla rejestracji urządzenia. - Zastąp wartość
<primarykey>
kluczem podstawowym skopiowaną z rejestracji urządzenia.
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>";
- Zastąp
Otwórz wiersz polecenia do kompilowania. Przejdź do folderu przykładowego projektu aprowizacji w repozytorium zestawu JAVA SDK.
cd azure-iot-sdk-java\provisioning\provisioning-device-client-samples\provisioning-symmetrickey-individual-sample
Skompiluj przykład.
mvn clean install
Przejdź do
target
folderu i wykonaj utworzony.jar
plik. W poleceniujava
zastąp{version}
symbol zastępczy wersją w.jar
nazwie pliku na maszynie.cd target java -jar ./provisioning-symmetrickey-individual-sample-{version}-with-deps.jar
Powinny zostać wyświetlone dane wyjściowe podobne do poniższych.
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
Potwierdzanie rejestracji aprowizacji urządzeń
Przejdź do portalu Azure Portal.
W menu po lewej stronie lub na stronie portalu wybierz pozycję Wszystkie zasoby.
Wybierz centrum IoT Hub, do którego przypisano urządzenie.
W menu Zarządzanie urządzeniami wybierz pozycję Urządzenia.
Jeśli urządzenie zostało pomyślnie zainicjowane, identyfikator urządzenia powinien zostać wyświetlony na liście z ustawionym stanem włączonym. Jeśli urządzenie nie jest widoczne, wybierz pozycję Odśwież w górnej części strony.
Uwaga
Jeśli zmienisz wartość w polu Początkowy stan bliźniaczej reprezentacji urządzenia z domyślnej na inną we wpisie rejestracji dla Twojego urządzenia, może to spowodować pobranie z centrum żądanego stanu reprezentacji bliźniaczej i odpowiednie do niego działanie. Aby uzyskać więcej informacji, zobacz Opis bliźniaczej reprezentacji urządzenia w usłudze IoT Hub oraz sposoby jej używania.
Czyszczenie zasobów
Jeśli planujesz kontynuować pracę i eksplorujesz przykład klienta urządzenia, nie usuwaj zasobów utworzonych w tym przewodniku Szybki start. Jeśli nie planujesz kontynuować, wykonaj następujące kroki, aby usunąć wszystkie zasoby utworzone w tym przewodniku Szybki start.
Usuwanie rejestracji urządzenia
Zamknij okno danych wyjściowych przykładu klienta urządzenia na swojej maszynie.
W menu po lewej stronie w witrynie Azure Portal wybierz pozycję Wszystkie zasoby.
Wybierz usługę Device Provisioning Service.
W menu Ustawienia wybierz pozycję Zarządzaj rejestracjami.
Wybierz kartę Rejestracje indywidualne.
Zaznacz pole wyboru obok identyfikatora rejestracji urządzenia zarejestrowanego w tym przewodniku Szybki start.
W górnej części strony wybierz pozycję Usuń.
Usuwanie rejestracji urządzenia z usługi IoT Hub
W menu po lewej stronie w witrynie Azure Portal wybierz pozycję Wszystkie zasoby.
Wybierz centrum IoT Hub.
W menu Eksploratory wybierz pozycję Urządzenia IoT.
Zaznacz pole wyboru obok identyfikatora urządzenia zarejestrowanego w tym przewodniku Szybki start.
W górnej części strony wybierz pozycję Usuń.
Następne kroki
W tym przewodniku Szybki start zainicjowano aprowizację pojedynczego urządzenia w centrum IoT przy użyciu rejestracji indywidualnej. Następnie dowiedz się, jak aprowizować wiele urządzeń w wielu centrach.