Udostępnij za pomocą


Szybki start: Sterowanie urządzeniem podłączonym do centrum IoT

W tym przewodniku używasz metody bezpośredniej do sterowania symulowanym urządzeniem podłączonym do Twojego centrum IoT. Usługa IoT Hub to usługa platformy Azure, która umożliwia zarządzanie urządzeniami IoT z chmury i pozyskiwanie dużych ilości danych telemetrycznych urządzeń do chmury na potrzeby magazynowania lub przetwarzania. Metody bezpośrednie umożliwiają zdalne zmienianie zachowania urządzeń połączonych z centrum IoT Hub.

Szybki start wykorzystuje dwie wstępnie napisane aplikacje .NET.

  • Aplikacja symulowanego urządzenia, która odpowiada na bezpośrednie metody wywoływane z aplikacji serwisowej. Ta aplikacja, aby odbierać wywołania metody bezpośredniej, łączy się z punktem końcowym przeznaczonym dla urządzenia w centrum IoT.

  • Aplikacja serwisowa, która wywołuje bezpośrednie metody na symulowanym urządzeniu. Aby wywołać bezpośrednią metodę na urządzeniu, ta aplikacja łączy się z punktem końcowym po stronie usługowej na Twoim centrum IoT.

Wymagania wstępne

  • Konto platformy Azure z aktywną subskrypcją. Utwórz je bezpłatnie.

  • Dwie przykładowe aplikacje, które uruchamiasz w tym przewodniku szybkiego startu, zostały napisane w języku C#. Będziesz potrzebować .NET SDK w wersji 6.0 lub nowszej na swoim komputerze deweloperskim.

    Możesz pobrać zestaw SDK .NET Core dla wielu platform z serwisu .NET.

    Możesz sprawdzić bieżącą wersję C# na swoim komputerze deweloperskim, używając następującego polecenia:

    dotnet --version
    
  • Sklonuj lub pobierz zestaw MICROSOFT Azure IoT SDK dla platformy .NET z usługi GitHub. Przykładowe aplikacje używane przez ten przewodnik szybkiego startu są zawarte w pakiecie SDK.

  • Upewnij się, że port 8883 jest otwarty w twoim firewallu. Przykład urządzenia w tym szybkim starcie korzysta z protokołu MQTT, który komunikuje się przez port 8883. Ten port może zostać zablokowany w niektórych środowiskach sieci firmowych i edukacyjnych. Aby uzyskać więcej informacji i sposobów obejścia tego problemu, zobacz sekcję Connect to IoT Hub (Nawiązywanie połączenia z usługą IoT Hub przy użyciu protokołu MQTT).

Uwaga

W tym artykule jest używana najnowsza wersja rozszerzenia usługi Azure IoT o nazwie azure-iot. Starsza wersja nosi nazwę azure-cli-iot-ext. Jednocześnie powinna być zainstalowana tylko jedna wersja. Za pomocą polecenia az extension list można sprawdzić poprawność aktualnie zainstalowanych rozszerzeń.

Użyj az extension remove --name azure-cli-iot-ext, aby usunąć starszą wersję rozszerzenia.

Użyj az extension add --name azure-iot, aby dodać nową wersję rozszerzenia.

Aby sprawdzić, jakie rozszerzenia są obecnie zainstalowane, użyj polecenia az extension list.

W tej sekcji użyjesz interfejsu wiersza polecenia platformy Azure do utworzenia centrum IoT i grupy zasobów. Grupa zasobów platformy Azure to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi. Centrum IoT działa jako centralne centrum komunikatów na potrzeby dwukierunkowej komunikacji między aplikacją IoT a urządzeniami.

Jeśli masz już centrum IoT w subskrypcji platformy Azure, możesz pominąć tę sekcję.

Aby utworzyć centrum IoT i grupę zasobów:

  1. Uruchom aplikację CLI. Aby uruchomić polecenia interfejsu wiersza polecenia w pozostałej części tego artykułu, skopiuj składnię polecenia, wklej ją do aplikacji interfejsu wiersza polecenia, edytuj wartości zmiennych i naciśnij Enter.

    • Jeśli używasz usługi Cloud Shell, wybierz przycisk Wypróbuj w poleceniach wiersza polecenia, aby otworzyć usługę Cloud Shell w podzielonym oknie przeglądarki. Możesz też otworzyć usługę Cloud Shell na osobnej karcie przeglądarki.
    • Jeśli używasz interfejsu wiersza polecenia platformy Azure lokalnie, uruchom aplikację konsolową interfejsu wiersza polecenia i zaloguj się do interfejsu wiersza polecenia platformy Azure.
  2. Uruchom az extension add, aby zainstalować lub uaktualnić rozszerzenie azure-iot do bieżącej wersji.

    az extension add --upgrade --name azure-iot
    
  3. W aplikacji CLI uruchom polecenie az group create, aby utworzyć grupę zasobów. Następujące polecenie tworzy grupę zasobów o nazwie MyResourceGroup w lokalizacji eastus .

    Uwaga

    Opcjonalnie możesz ustawić inną lokalizację. Aby wyświetlić dostępne lokalizacje, uruchom polecenie az account list-locations. W tym przewodniku szybkiego startu używa eastus, jak pokazano w przykładowym poleceniu.

    az group create --name MyResourceGroup --location eastus
    
  4. Uruchom polecenie az iot hub create, aby utworzyć IoT Hub. Utworzenie centrum IoT Hub może potrwać kilka minut.

    YourIoTHubName. Zastąp ten symbol zastępczy i otaczające nawiasy klamrowe w poniższym poleceniu, używając nazwy wybranej dla centrum IoT. Nazwa centrum IoT musi być globalnie unikatowa na platformie Azure. Użyj nazwy centrum IoT w pozostałej części tego Szybkiego startu wszędzie tam, gdzie występuje symbol zastępczy.

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

Odzyskaj ciąg połączenia z usługą

Potrzebujesz również ciągu połączenia usługi swojego IoT hub, aby umożliwić aplikacji serwisowej połączenie z hubem i pobieranie wiadomości. Łańcuch połączenia usługi dotyczy całej twojej platformy IoT i różni się od łańcucha połączenia urządzenia, który uzyskałeś w poprzedniej sekcji.

Następujące polecenie wyodrębnia ciąg połączenia usługi dla twojego centrum IoT:

az iot hub connection-string show --policy-name service --hub-name {YourIoTHubName} --output table

Zanotuj ciąg połączenia usługi, który wygląda następująco:

HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}

Wartość tę użyjesz później w przewodniku szybkiego startu.

Symuluj urządzenie

Aplikacja urządzenia symulowanego łączy się z końcowym punktem specyficznym dla urządzenia w twoim centrum IoT, wysyła symulowane dane telemetryczne i nasłuchuje połączeń metod bezpośrednich z twojego centrum. W tym szybkim przewodniku wywołanie metody bezpośredniej z huba informuje urządzenie o zmianie interwału wysyłania telemetrycznych. Symulowane urządzenie wysyła potwierdzenie z powrotem do centrum po wykonaniu metody bezpośredniej.

  1. W lokalnym oknie terminalu przejdź do folderu głównego zestawu SDK. Następnie przejdź do folderu iothub\device\samples\getting started\SimulatedDeviceWithCommand .

  2. Uruchom następujące polecenie, aby zainstalować wymagane pakiety dla aplikacji urządzenia symulowanego:

    dotnet restore
    
  3. Uruchom następujące polecenie, aby skompilować i uruchomić aplikację urządzenia symulowanego.

    {DeviceConnectionString}: zastąp ten symbol zastępczy zanotowanymi wcześniej parametrami połączenia urządzenia.

    dotnet run -- -c "{DeviceConnectionString}"
    

    Poniższy zrzut ekranu pokazuje wynik działania aplikacji symulowanego urządzenia przesyłającej dane telemetryczne do twojego centrum IoT.

    Zrzut ekranu przedstawiający okno terminalu z danymi wyjściowymi aplikacji symulowanego urządzenia.

Wywołaj metodę bezpośrednią

Aplikacja serwisowa łączy się z punktem końcowym po stronie serwisu w Twoim IoT Hub. Aplikacja wykonuje bezpośrednie wywołania metod do urządzenia przez Twój IoT hub i nasłuchuje na potwierdzenia. Aplikacja usługowa IoT Hub zazwyczaj działa w chmurze.

  1. W innym lokalnym oknie terminalu przejdź do folderu głównego zestawu SDK. Następnie przejdź do folderu iothub\service\samples\getting started\InvokeDeviceMethod .

  2. W lokalnym oknie terminala uruchom następujące polecenia, aby zainstalować wymagane biblioteki dla aplikacji serwisowej.

    dotnet build
    
  3. W lokalnym oknie terminala uruchom poniższe komendy, aby zbudować i uruchomić aplikację serwisową.

    {ServiceConnectionString}: Zastąp ten symbol zastępczy ciągiem połączenia usługi IoT Hub, który zanotowałeś wcześniej.

    {DeviceName}: Zamień ten symbol zastępczy na nazwę urządzenia, które zarejestrowałeś.

    dotnet run -- -c "{ServiceConnectionString}" -d {DeviceName}
    

    Poniższy zrzut ekranu pokazuje wynik, gdy aplikacja wykonuje bezpośrednie wywołanie metody na urządzeniu i otrzymuje potwierdzenie.

    Zrzut ekranu przedstawiający okno terminalu pokazujące wynik wywołania metody bezpośredniej z aplikacji usługi.

    Po uruchomieniu aplikacji usługi w lokalnym oknie terminalu pojawia się komunikat dotyczący symulowanego urządzenia, a szybkość wysyłania komunikatów zmienia się.

    Zrzut ekranu przedstawiający okno terminalu pokazujące wynik komunikatu bezpośredniego i zaktualizowane dane wyjściowe z aplikacji urządzenia symulowanego.

Ten szybki start używa dwóch aplikacji Java.

  • Symulowana aplikacja urządzenia, która odpowiada na bezpośrednie metody wywoływane z aplikacji zaplecza.
  • Aplikacja serwisowa, która wywołuje bezpośrednią metodę na symulowanym urządzeniu.

Wymagania wstępne

Uwaga

W tym artykule jest używana najnowsza wersja rozszerzenia usługi Azure IoT o nazwie azure-iot. Starsza wersja nosi nazwę azure-cli-iot-ext. Jednocześnie powinna być zainstalowana tylko jedna wersja. Za pomocą polecenia az extension list można sprawdzić poprawność aktualnie zainstalowanych rozszerzeń.

Użyj az extension remove --name azure-cli-iot-ext, aby usunąć starszą wersję rozszerzenia.

Użyj az extension add --name azure-iot, aby dodać nową wersję rozszerzenia.

Aby sprawdzić, jakie rozszerzenia są obecnie zainstalowane, użyj polecenia az extension list.

Tworzenie centrum IoT

W tej sekcji użyjesz interfejsu wiersza polecenia platformy Azure do utworzenia centrum IoT i grupy zasobów. Grupa zasobów platformy Azure to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi. Centrum IoT działa jako centralne centrum komunikatów na potrzeby dwukierunkowej komunikacji między aplikacją IoT a urządzeniami.

Jeśli masz już centrum IoT w subskrypcji platformy Azure, możesz pominąć tę sekcję.

Aby utworzyć centrum IoT i grupę zasobów:

  1. Uruchom aplikację CLI. Aby uruchomić polecenia interfejsu wiersza polecenia w pozostałej części tego artykułu, skopiuj składnię polecenia, wklej ją do aplikacji interfejsu wiersza polecenia, edytuj wartości zmiennych i naciśnij Enter.

    • Jeśli używasz usługi Cloud Shell, wybierz przycisk Wypróbuj w poleceniach wiersza polecenia, aby otworzyć usługę Cloud Shell w podzielonym oknie przeglądarki. Możesz też otworzyć usługę Cloud Shell na osobnej karcie przeglądarki.
    • Jeśli używasz interfejsu wiersza polecenia platformy Azure lokalnie, uruchom aplikację konsolową interfejsu wiersza polecenia i zaloguj się do interfejsu wiersza polecenia platformy Azure.
  2. Uruchom az extension add, aby zainstalować lub uaktualnić rozszerzenie azure-iot do bieżącej wersji.

    az extension add --upgrade --name azure-iot
    
  3. W aplikacji CLI uruchom polecenie az group create, aby utworzyć grupę zasobów. Następujące polecenie tworzy grupę zasobów o nazwie MyResourceGroup w lokalizacji eastus .

    Uwaga

    Opcjonalnie możesz ustawić inną lokalizację. Aby wyświetlić dostępne lokalizacje, uruchom polecenie az account list-locations. W tym przewodniku szybkiego startu używa eastus, jak pokazano w przykładowym poleceniu.

    az group create --name MyResourceGroup --location eastus
    
  4. Uruchom polecenie az iot hub create, aby utworzyć IoT Hub. Utworzenie centrum IoT Hub może potrwać kilka minut.

    YourIoTHubName. Zastąp ten symbol zastępczy i otaczające nawiasy klamrowe w poniższym poleceniu, używając nazwy wybranej dla centrum IoT. Nazwa centrum IoT musi być globalnie unikatowa na platformie Azure. Użyj nazwy centrum IoT w pozostałej części tego Szybkiego startu wszędzie tam, gdzie występuje symbol zastępczy.

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

Rejestrowanie urządzenia

Zanim urządzenie będzie mogło nawiązać połączenie, należy je najpierw zarejestrować w centrum IoT. W tej sekcji użyjesz interfejsu wiersza polecenia platformy Azure do utworzenia tożsamości urządzenia.

Jeśli masz już urządzenie zarejestrowane w centrum IoT Hub, możesz pominąć tę sekcję.

Aby utworzyć tożsamość urządzenia:

  1. Uruchom polecenie az iot hub device-identity create w powłoce CLI. To polecenie tworzy tożsamość urządzenia.

    YourIoTHubName. Zastąp ten symbol zastępczy i otaczające nawiasy klamrowe w poniższym poleceniu, używając nazwy wybranej dla centrum IoT. Nazwa centrum IoT musi być globalnie unikatowa na platformie Azure.

    myDevice. Możesz użyć tej nazwy dla identyfikatora urządzenia w tym artykule lub podać inną nazwę urządzenia.

    az iot hub device-identity create --device-id myDevice --hub-name {YourIoTHubName}
    
  2. Uruchom polecenie az iot hub device-identity connection-string show .

    az iot hub device-identity connection-string show --device-id myDevice --hub-name {YourIoTHubName}
    

    Dane wyjściowe parametrów połączenia mają następujący format:

    HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
    
  3. Zapisz parametry połączenia w bezpiecznej lokalizacji.

Uwaga

Pozostaw otwartą aplikację CLI. Użyjesz tego w kolejnych krokach.

Odzyskaj ciąg połączenia z usługą

Potrzebujesz także ciągu połączenia usługi, aby umożliwić aplikacji zaplecza połączenie z twoim centrum IoT i pobranie wiadomości. Następujące polecenie wyodrębnia ciąg połączenia usługi dla twojego centrum IoT:

YourIoTHubName: zastąp ten symbol zastępczy w poniższym poleceniu nazwą wybraną dla centrum IoT.

az iot hub connection-string show --policy-name service --hub-name {YourIoTHubName} --output table

Zanotuj ciąg połączenia usługi, który wygląda następująco:

HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}

Wartość tę użyjesz później w przewodniku szybkiego startu. Ten ciąg połączenia usługi różni się od ciągu połączenia urządzenia, który zanotowałeś w poprzednim kroku.

Symuluj urządzenie

Aplikacja urządzenia symulowanego łączy się z końcowym punktem specyficznym dla urządzenia w twoim centrum IoT, wysyła symulowane dane telemetryczne i nasłuchuje połączeń metod bezpośrednich z twojego centrum. W tym szybkim przewodniku wywołanie metody bezpośredniej z huba informuje urządzenie o zmianie interwału wysyłania telemetrycznych. Symulowane urządzenie wysyła potwierdzenie z powrotem do centrum po wykonaniu metody bezpośredniej.

  1. W lokalnym oknie terminala przejdź do katalogu głównego przykładowego projektu Java. Następnie przejdź do folderu iot-hub\Quickstarts\simulated-device-2.

  2. Otwórz plik src/main/java/com/microsoft/docs/iothub/samples/SimulatedDevice.java w edytorze tekstu według własnego wyboru.

    Zastąp wartość zmiennej connString parametrami połączenia urządzenia zanotowanymi wcześniej. Następnie zapisz zmiany w SimulatedDevice.java.

  3. W oknie terminala lokalnego uruchom następujące polecenia, aby zainstalować wymagane biblioteki i zbudować aplikację symulowanego urządzenia.

    mvn clean package
    
  4. W lokalnym oknie terminalu uruchom następujące polecenia, aby uruchomić aplikację urządzenia symulowanego:

    java -jar target/simulated-device-2-1.0.0-with-deps.jar
    

    Poniższy zrzut ekranu pokazuje wynik działania aplikacji symulowanego urządzenia przesyłającej dane telemetryczne do twojego centrum IoT.

    Zrzut ekranu przedstawiający okno terminalu z danymi wyjściowymi aplikacji symulowanego urządzenia.

Wywołaj metodę bezpośrednią

Aplikacja zaplecza łączy się z punktem końcowym po stronie usługi w Twoim IoT Hub. Aplikacja wykonuje bezpośrednie wywołania metod do urządzenia przez Twój IoT hub i nasłuchuje na potwierdzenia. Aplikacja zaplecza usługi IoT Hub zwykle działa w chmurze.

  1. W innym lokalnym oknie terminalu przejdź do folderu głównego przykładowego projektu Java. Następnie przejdź do folderu iot-hub\Quickstarts\back-end-application .

  2. Otwórz plik src/main/java/com/microsoft/docs/iothub/samples/BackEndApplication.java w wybranym edytorze tekstu.

    Zastąp wartość zmiennej iotHubConnectionString ciągiem połączenia z usługą, który został zanotowany wcześniej. Następnie zapisz zmiany w pliku BackEndApplication.java.

  3. W oknie terminala lokalnego uruchom następujące polecenia, aby zainstalować wymagane biblioteki i zbudować aplikację back-endową:

    mvn clean package
    
  4. W lokalnym oknie terminalu uruchom następujące polecenia, aby uruchomić aplikację zaplecza:

    java -jar target/back-end-application-1.0.0-with-deps.jar
    

    Poniższy zrzut ekranu pokazuje wynik, gdy aplikacja wykonuje bezpośrednie wywołanie metody na urządzeniu i otrzymuje potwierdzenie.

    Zrzut ekranu przedstawiający okno terminalu pokazujące wynik wywołania metody bezpośredniej z aplikacji usługi.

    Po uruchomieniu aplikacji zaplecza w lokalnym oknie terminalu pojawia się komunikat pochodzący od uruchomionego urządzenia symulowanego, a szybkość wysyłania komunikatów ulega zmianie.

    Zrzut ekranu przedstawiający okno terminalu pokazujące wynik komunikatu bezpośredniego i zaktualizowane dane wyjściowe z aplikacji urządzenia symulowanego.

Ten przewodnik po szybkim starcie korzysta z dwóch aplikacji Node.js.

  • Symulowana aplikacja urządzenia, która odpowiada na bezpośrednie metody wywoływane z aplikacji zaplecza. Ta aplikacja, aby odbierać wywołania metody bezpośredniej, łączy się z punktem końcowym przeznaczonym dla urządzenia w centrum IoT.
  • Aplikacja zaplecza, która wywołuje bezpośrednie metody na symulowanym urządzeniu. Aby wywołać bezpośrednią metodę na urządzeniu, ta aplikacja łączy się z punktem końcowym specyficznym dla usługi w twoim centrum IoT.

Wymagania wstępne

Uwaga

W tym artykule jest używana najnowsza wersja rozszerzenia usługi Azure IoT o nazwie azure-iot. Starsza wersja nosi nazwę azure-cli-iot-ext. Jednocześnie powinna być zainstalowana tylko jedna wersja. Za pomocą polecenia az extension list można sprawdzić poprawność aktualnie zainstalowanych rozszerzeń.

Użyj az extension remove --name azure-cli-iot-ext, aby usunąć starszą wersję rozszerzenia.

Użyj az extension add --name azure-iot, aby dodać nową wersję rozszerzenia.

Aby sprawdzić, jakie rozszerzenia są obecnie zainstalowane, użyj polecenia az extension list.

Tworzenie centrum IoT

W tej sekcji użyjesz interfejsu wiersza polecenia platformy Azure do utworzenia centrum IoT i grupy zasobów. Grupa zasobów platformy Azure to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi. Centrum IoT działa jako centralne centrum komunikatów na potrzeby dwukierunkowej komunikacji między aplikacją IoT a urządzeniami.

Jeśli masz już centrum IoT w subskrypcji platformy Azure, możesz pominąć tę sekcję.

Aby utworzyć centrum IoT i grupę zasobów:

  1. Uruchom aplikację CLI. Aby uruchomić polecenia interfejsu wiersza polecenia w pozostałej części tego artykułu, skopiuj składnię polecenia, wklej ją do aplikacji interfejsu wiersza polecenia, edytuj wartości zmiennych i naciśnij Enter.

    • Jeśli używasz usługi Cloud Shell, wybierz przycisk Wypróbuj w poleceniach wiersza polecenia, aby otworzyć usługę Cloud Shell w podzielonym oknie przeglądarki. Możesz też otworzyć usługę Cloud Shell na osobnej karcie przeglądarki.
    • Jeśli używasz interfejsu wiersza polecenia platformy Azure lokalnie, uruchom aplikację konsolową interfejsu wiersza polecenia i zaloguj się do interfejsu wiersza polecenia platformy Azure.
  2. Uruchom az extension add, aby zainstalować lub uaktualnić rozszerzenie azure-iot do bieżącej wersji.

    az extension add --upgrade --name azure-iot
    
  3. W aplikacji CLI uruchom polecenie az group create, aby utworzyć grupę zasobów. Następujące polecenie tworzy grupę zasobów o nazwie MyResourceGroup w lokalizacji eastus .

    Uwaga

    Opcjonalnie możesz ustawić inną lokalizację. Aby wyświetlić dostępne lokalizacje, uruchom polecenie az account list-locations. W tym przewodniku szybkiego startu używa eastus, jak pokazano w przykładowym poleceniu.

    az group create --name MyResourceGroup --location eastus
    
  4. Uruchom polecenie az iot hub create, aby utworzyć IoT Hub. Utworzenie centrum IoT Hub może potrwać kilka minut.

    YourIoTHubName. Zastąp ten symbol zastępczy i otaczające nawiasy klamrowe w poniższym poleceniu, używając nazwy wybranej dla centrum IoT. Nazwa centrum IoT musi być globalnie unikatowa na platformie Azure. Użyj nazwy centrum IoT w pozostałej części tego Szybkiego startu wszędzie tam, gdzie występuje symbol zastępczy.

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

Rejestrowanie urządzenia

Zanim urządzenie będzie mogło nawiązać połączenie, należy je najpierw zarejestrować w centrum IoT. W tej sekcji użyjesz interfejsu wiersza polecenia platformy Azure do utworzenia tożsamości urządzenia.

Jeśli masz już urządzenie zarejestrowane w centrum IoT Hub, możesz pominąć tę sekcję.

Aby utworzyć tożsamość urządzenia:

  1. Uruchom polecenie az iot hub device-identity create w powłoce CLI. To polecenie tworzy tożsamość urządzenia.

    YourIoTHubName. Zastąp ten symbol zastępczy i otaczające nawiasy klamrowe w poniższym poleceniu, używając nazwy wybranej dla centrum IoT. Nazwa centrum IoT musi być globalnie unikatowa na platformie Azure.

    myDevice. Możesz użyć tej nazwy dla identyfikatora urządzenia w tym artykule lub podać inną nazwę urządzenia.

    az iot hub device-identity create --device-id myDevice --hub-name {YourIoTHubName}
    
  2. Uruchom polecenie az iot hub device-identity connection-string show .

    az iot hub device-identity connection-string show --device-id myDevice --hub-name {YourIoTHubName}
    

    Dane wyjściowe parametrów połączenia mają następujący format:

    HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
    
  3. Zapisz parametry połączenia w bezpiecznej lokalizacji.

Uwaga

Pozostaw otwartą aplikację CLI. Użyjesz tego w kolejnych krokach.

Odzyskaj ciąg połączenia z usługą

Potrzebujesz również parametrów połączenia usługi centrum IoT Hub, aby umożliwić aplikacji zaplecza łączenie się z centrum IoT i pobieranie komunikatów. Następujące polecenie wyodrębnia ciąg połączenia usługi dla twojego centrum IoT:

YourIoTHubName: zastąp ten symbol zastępczy w poniższym poleceniu nazwą wybraną dla centrum IoT.

az iot hub connection-string show \
  --policy-name service --hub-name {YourIoTHubName} --output table

Zanotuj ciąg połączenia usługi, który wygląda następująco:

HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}

Wartość tę użyjesz później w przewodniku szybkiego startu. Ten ciąg połączenia usługi różni się od ciągu połączenia urządzenia, który zanotowałeś w poprzednim kroku.

Symuluj urządzenie

Aplikacja urządzenia symulowanego łączy się z końcowym punktem specyficznym dla urządzenia w twoim centrum IoT, wysyła symulowane dane telemetryczne i nasłuchuje połączeń metod bezpośrednich z twojego centrum. W tym szybkim przewodniku wywołanie metody bezpośredniej z huba informuje urządzenie o zmianie interwału wysyłania telemetrycznych. Symulowane urządzenie wysyła potwierdzenie z powrotem do centrum po wykonaniu metody bezpośredniej.

  1. W lokalnym oknie terminalu przejdź do folderu głównego przykładowego projektu Node.js. Następnie przejdź do folderu iot-hub\Quickstarts\simulated-device-2.

  2. Otwórz plik SimulatedDevice.js w wybranym edytorze tekstów.

    Zastąp wartość zmiennej connectionString parametrami połączenia urządzenia zanotowanymi wcześniej. Następnie zapisz zmiany w SimulatedDevice.js.

  3. W lokalnym oknie terminala uruchom następujące polecenia, aby zainstalować wymagane biblioteki i uruchomić aplikację urządzenia symulowanego:

    npm install
    node SimulatedDevice.js
    

    Poniższy zrzut ekranu pokazuje wynik działania aplikacji symulowanego urządzenia przesyłającej dane telemetryczne do twojego centrum IoT.

    Zrzut ekranu przedstawiający okno terminalu z danymi wyjściowymi aplikacji symulowanego urządzenia.

Wywołaj metodę bezpośrednią

Aplikacja zaplecza łączy się z zakończeniem po stronie serwisu w Twoim IoT hubie. Aplikacja wykonuje bezpośrednie wywołania metod do urządzenia przez Twój IoT hub i nasłuchuje na potwierdzenia. Aplikacja zaplecza usługi IoT Hub zwykle działa w chmurze.

  1. W innym lokalnym oknie terminala przejdź do folderu głównego przykładowego projektu Node.js. Następnie przejdź do folderu iot-hub\Quickstarts\back-end-application .

  2. Otwórz plik BackEndApplication.js w edytorze tekstu według własnego wyboru.

    Zastąp wartość zmiennej connectionString ciągiem połączenia z usługą, który został zanotowany wcześniej. Następnie zapisz swoje zmiany w pliku BackEndApplication.js.

  3. W lokalnym oknie terminala uruchom następujące polecenia, aby zainstalować wymagane biblioteki i uruchomić aplikację backendową.

    npm install
    node BackEndApplication.js
    

    Poniższy zrzut ekranu pokazuje wynik, gdy aplikacja wykonuje bezpośrednie wywołanie metody na urządzeniu i otrzymuje potwierdzenie.

    Zrzut ekranu przedstawiający okno terminalu pokazujące wynik wywołania metody bezpośredniej z aplikacji usługi.

    Po uruchomieniu aplikacji zaplecza w lokalnym oknie terminalu pojawia się komunikat pochodzący od uruchomionego urządzenia symulowanego, a szybkość wysyłania komunikatów ulega zmianie.

    Zrzut ekranu przedstawiający okno terminalu pokazujące wynik komunikatu bezpośredniego i zaktualizowane dane wyjściowe z aplikacji urządzenia symulowanego.

Ten szybki start używa dwóch aplikacji Python:

  • Symulowana aplikacja urządzenia, która odpowiada na bezpośrednie metody wywoływane z aplikacji zaplecza.
  • Aplikacja zaplecza, która wywołuje bezpośrednie metody na symulowanym urządzeniu.

Wymagania wstępne

Uwaga

W tym artykule jest używana najnowsza wersja rozszerzenia usługi Azure IoT o nazwie azure-iot. Starsza wersja nosi nazwę azure-cli-iot-ext. Jednocześnie powinna być zainstalowana tylko jedna wersja. Za pomocą polecenia az extension list można sprawdzić poprawność aktualnie zainstalowanych rozszerzeń.

Użyj az extension remove --name azure-cli-iot-ext, aby usunąć starszą wersję rozszerzenia.

Użyj az extension add --name azure-iot, aby dodać nową wersję rozszerzenia.

Aby sprawdzić, jakie rozszerzenia są obecnie zainstalowane, użyj polecenia az extension list.

Tworzenie centrum IoT

W tej sekcji użyjesz interfejsu wiersza polecenia platformy Azure do utworzenia centrum IoT i grupy zasobów. Grupa zasobów platformy Azure to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi. Centrum IoT działa jako centralne centrum komunikatów na potrzeby dwukierunkowej komunikacji między aplikacją IoT a urządzeniami.

Jeśli masz już centrum IoT w subskrypcji platformy Azure, możesz pominąć tę sekcję.

Aby utworzyć centrum IoT i grupę zasobów:

  1. Uruchom aplikację CLI. Aby uruchomić polecenia interfejsu wiersza polecenia w pozostałej części tego artykułu, skopiuj składnię polecenia, wklej ją do aplikacji interfejsu wiersza polecenia, edytuj wartości zmiennych i naciśnij Enter.

    • Jeśli używasz usługi Cloud Shell, wybierz przycisk Wypróbuj w poleceniach wiersza polecenia, aby otworzyć usługę Cloud Shell w podzielonym oknie przeglądarki. Możesz też otworzyć usługę Cloud Shell na osobnej karcie przeglądarki.
    • Jeśli używasz interfejsu wiersza polecenia platformy Azure lokalnie, uruchom aplikację konsolową interfejsu wiersza polecenia i zaloguj się do interfejsu wiersza polecenia platformy Azure.
  2. Uruchom az extension add, aby zainstalować lub uaktualnić rozszerzenie azure-iot do bieżącej wersji.

    az extension add --upgrade --name azure-iot
    
  3. W aplikacji CLI uruchom polecenie az group create, aby utworzyć grupę zasobów. Następujące polecenie tworzy grupę zasobów o nazwie MyResourceGroup w lokalizacji eastus .

    Uwaga

    Opcjonalnie możesz ustawić inną lokalizację. Aby wyświetlić dostępne lokalizacje, uruchom polecenie az account list-locations. W tym przewodniku szybkiego startu używa eastus, jak pokazano w przykładowym poleceniu.

    az group create --name MyResourceGroup --location eastus
    
  4. Uruchom polecenie az iot hub create, aby utworzyć IoT Hub. Utworzenie centrum IoT Hub może potrwać kilka minut.

    YourIoTHubName. Zastąp ten symbol zastępczy i otaczające nawiasy klamrowe w poniższym poleceniu, używając nazwy wybranej dla centrum IoT. Nazwa centrum IoT musi być globalnie unikatowa na platformie Azure. Użyj nazwy centrum IoT w pozostałej części tego Szybkiego startu wszędzie tam, gdzie występuje symbol zastępczy.

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

Rejestrowanie urządzenia

Zanim urządzenie będzie mogło nawiązać połączenie, należy je najpierw zarejestrować w centrum IoT. W tej sekcji użyjesz interfejsu wiersza polecenia platformy Azure do utworzenia tożsamości urządzenia.

Jeśli masz już urządzenie zarejestrowane w centrum IoT Hub, możesz pominąć tę sekcję.

Aby utworzyć tożsamość urządzenia:

  1. Uruchom polecenie az iot hub device-identity create w powłoce CLI. To polecenie tworzy tożsamość urządzenia.

    YourIoTHubName. Zastąp ten symbol zastępczy i otaczające nawiasy klamrowe w poniższym poleceniu, używając nazwy wybranej dla centrum IoT. Nazwa centrum IoT musi być globalnie unikatowa na platformie Azure.

    myDevice. Możesz użyć tej nazwy dla identyfikatora urządzenia w tym artykule lub podać inną nazwę urządzenia.

    az iot hub device-identity create --device-id myDevice --hub-name {YourIoTHubName}
    
  2. Uruchom polecenie az iot hub device-identity connection-string show .

    az iot hub device-identity connection-string show --device-id myDevice --hub-name {YourIoTHubName}
    

    Dane wyjściowe parametrów połączenia mają następujący format:

    HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
    
  3. Zapisz parametry połączenia w bezpiecznej lokalizacji.

Uwaga

Pozostaw otwartą aplikację CLI. Użyjesz tego w kolejnych krokach.

Odzyskaj ciąg połączenia z usługą

Potrzebujesz także ciągu połączenia usługi, aby umożliwić aplikacji zaplecza połączenie z twoim centrum IoT i pobranie wiadomości. Następujące polecenie wyodrębnia ciąg połączenia usługi dla twojego centrum IoT:

YourIoTHubName: zastąp ten symbol zastępczy w poniższym poleceniu nazwą wybraną dla centrum IoT.

az iot hub connection-string show \
  --policy-name service \
  --hub-name {YourIoTHubName} \
  --output table

Zanotuj ciąg połączenia usługi, który wygląda następująco:

HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}

Wartość tę użyjesz później w przewodniku szybkiego startu. Ten ciąg połączenia usługi różni się od ciągu połączenia urządzenia, który zanotowałeś w poprzednim kroku.

Symuluj urządzenie

Aplikacja urządzenia symulowanego łączy się z końcowym punktem specyficznym dla urządzenia w twoim centrum IoT, wysyła symulowane dane telemetryczne i nasłuchuje połączeń metod bezpośrednich z twojego centrum. W tym szybkim przewodniku wywołanie metody bezpośredniej z huba informuje urządzenie o zmianie interwału wysyłania telemetrycznych. Symulowane urządzenie wysyła potwierdzenie z powrotem do centrum po wykonaniu metody bezpośredniej.

  1. W oknie terminala lokalnego przejdź do folderu głównego przykładowego projektu Python. Następnie przejdź do folderu iot-hub\Quickstarts\simulated-device-2.

  2. Otwórz plik SimulatedDeviceSync.py w wybranym przez siebie edytorze tekstu.

    Zastąp wartość zmiennej CONNECTION_STRING parametrami połączenia urządzenia zanotowanymi wcześniej. Następnie zapisz swoje zmiany w SimulatedDeviceSync.py.

  3. W lokalnym oknie terminala uruchom następujące polecenia, aby zainstalować wymagane biblioteki dla symulowanej aplikacji urządzenia:

    pip install azure-iot-device
    
  4. W lokalnym oknie terminalu uruchom następujące polecenia, aby uruchomić aplikację urządzenia symulowanego:

    python SimulatedDeviceSync.py
    

    Poniższy zrzut ekranu pokazuje wynik działania aplikacji symulowanego urządzenia przesyłającej dane telemetryczne do twojego centrum IoT.

    Zrzut ekranu przedstawiający okno terminalu z danymi wyjściowymi aplikacji symulowanego urządzenia.

Wywołaj metodę bezpośrednią

Aplikacja zaplecza łączy się z punktem końcowym po stronie usługi w Twoim IoT Hub. Aplikacja wykonuje bezpośrednie wywołania metod do urządzenia przez Twój IoT hub i nasłuchuje na potwierdzenia. Aplikacja zaplecza usługi IoT Hub zwykle działa w chmurze.

  1. W innym lokalnym oknie terminala przejdź do katalogu głównego przykładowego projektu Python. Następnie przejdź do folderu iot-hub\Quickstarts\back-end-application .

  2. Otwórz plik BackEndApplication.py w edytorze tekstowym według własnego wyboru.

    Zastąp wartość zmiennej CONNECTION_STRING ciągiem połączenia z usługą, który został zanotowany wcześniej. Następnie zapisz swoje zmiany w BackEndApplication.py.

  3. W lokalnym oknie terminala uruchom następujące polecenia, aby zainstalować wymagane biblioteki dla symulowanej aplikacji urządzenia:

    pip install azure-iot-hub
    
  4. W lokalnym oknie terminalu uruchom następujące polecenia, aby uruchomić aplikację zaplecza:

    python BackEndApplication.py
    

    Poniższy zrzut ekranu pokazuje wynik, gdy aplikacja wykonuje bezpośrednie wywołanie metody na urządzeniu i otrzymuje potwierdzenie.

    Zrzut ekranu przedstawiający okno terminalu pokazujące wynik wywołania metody bezpośredniej z aplikacji usługi.

    Po uruchomieniu aplikacji zaplecza, zobaczysz wiadomość w oknie konsoli uruchamiającej symulowane urządzenie, a szybkość, z jaką wysyła wiadomości, zmienia się.

    Zrzut ekranu przedstawiający okno terminalu pokazujące wynik komunikatu bezpośredniego i zaktualizowane dane wyjściowe z aplikacji urządzenia symulowanego.

Czyszczenie zasobów

Jeśli przejdziesz do następnego zalecanego artykułu, możesz zachować już utworzone zasoby i użyć ich ponownie.

W przeciwnym razie możesz usunąć zasoby Azure utworzone w tym artykule, aby uniknąć opłat.

Ważne

Usunięcie grupy zasobów jest nieodwracalne. Grupa zasobów oraz wszystkie zawarte w niej zasoby zostaną trwale usunięte. Uważaj, aby nie usunąć przypadkowo niewłaściwych zasobów lub niewłaściwej grupy zasobów. Jeśli centrum IoT zostało utworzone wewnątrz istniejącej grupy zasobów zawierającej zasoby, które chcesz zachować, usuń tylko sam zasób usługi IoT Hub zamiast usuwać grupę zasobów.

Aby usunąć grupę zasobów na podstawie nazwy:

  1. Zaloguj się do portalu Azure i wybierz Grupy zasobów.

  2. W polu tekstowym Filtr dla dowolnego pola wpisz nazwę grupy zasobów zawierającej centrum IoT.

  3. Na liście wyników wybierz grupę zasobów zawierającą centrum IoT Hub.

  4. W okienku roboczym grupy zasobów wybierz pozycję Usuń grupę zasobów na pasku poleceń.

    Zrzut ekranu przedstawiający okienko robocze grupy zasobów w witrynie Azure Portal z wyróżnionym poleceniem Usuń grupę zasobów na pasku poleceń.

  5. Poproszono Cię o potwierdzenie usunięcia grupy zasobów. Ponownie wpisz nazwę grupy zasobów, aby potwierdzić, a następnie wybierz pozycję Usuń. Po krótkim czasie grupa zasobów i wszystkie zawarte w niej zasoby zostaną usunięte.

Następne kroki

W tym szybkim przewodniku wywołałeś metodę bezpośrednią na urządzeniu z aplikacji serwisowej i odpowiedziałeś na wywołanie metody bezpośredniej w symulowanej aplikacji urządzenia.

Aby dowiedzieć się, jak kierować wiadomości z urządzeń do chmury na różne miejsca docelowe w chmurze, przejdź do następnego samouczka.