Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym przewodniku używasz metody bezpośredniej do sterowania symulowanym urządzeniem podłączonym do Twojego centrum IoT. IoT Hub is an Azure service that lets you manage your IoT devices from the cloud and ingest high volumes of device telemetry to the cloud for storage or processing. You can use direct methods to remotely change the behavior of devices connected to your 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. To receive the direct method calls, this application connects to a device-specific endpoint on your IoT hub.
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.
Make sure that port 8883 is open in your firewall. 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).
Użyj środowiska Bash w Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Rozpoczynanie pracy z usługą Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj Azure CLI. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze platformy Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby zakończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Uwierzytelnianie na platformie Azure przy użyciu interfejsu wiersza polecenia platformy Azure.
Gdy zostaniesz o to poproszony/a, zainstaluj rozszerzenie Azure CLI przy pierwszym użyciu. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Używanie rozszerzeń i zarządzanie nimi za pomocą interfejsu wiersza polecenia platformy Azure.
Uruchom az version, aby sprawdzić zainstalowaną wersję i biblioteki zależne. Aby przeprowadzić uaktualnienie do najnowszej wersji, uruchom polecenie az upgrade.
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:
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.
Uruchom az extension add, aby zainstalować lub uaktualnić rozszerzenie azure-iot do bieżącej wersji.
az extension add --upgrade --name azure-iot
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
. This quickstart uses eastus as shown in the example command.az group create --name MyResourceGroup --location eastus
Run the az iot hub create command to create an IoT hub. Utworzenie centrum IoT Hub może potrwać kilka minut.
YourIoTHubName. Replace this placeholder and the surrounding braces in the following command, using the name you chose for your IoT hub. Nazwa centrum IoT musi być globalnie unikatowa na platformie Azure. Use your IoT hub name in the rest of this quickstart wherever you see the placeholder.
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. In this quickstart, the direct method call from the hub tells the device to change the interval at which it sends telemetry. The simulated device sends an acknowledgment back to your hub after it executes the direct method.
W lokalnym oknie terminalu przejdź do folderu głównego zestawu SDK. Następnie przejdź do folderu iothub\device\samples\getting started\SimulatedDeviceWithCommand .
Uruchom następujące polecenie, aby zainstalować wymagane pakiety dla aplikacji urządzenia symulowanego:
dotnet restore
Run the following command to build and run the simulated device application.
{DeviceConnectionString}
: Replace this placeholder with the device connection string you noted previously.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.
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.
W innym lokalnym oknie terminalu przejdź do folderu głównego zestawu SDK. Następnie przejdź do folderu iothub\service\samples\getting started\InvokeDeviceMethod .
W lokalnym oknie terminala uruchom następujące polecenia, aby zainstalować wymagane biblioteki dla aplikacji serwisowej.
dotnet build
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.
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ę.
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
Konto platformy Azure z aktywną subskrypcją. Utwórz je bezpłatnie.
Java SE Development Kit 8. W długoterminowym wsparciu dla Azure i Azure Stack, w sekcji długoterminowe wsparcie, wybierz Java 8.
Można zweryfikować bieżącą wersję Javy na swoim komputerze developerskim, używając następującego polecenia:
java -version
-
Możesz sprawdzić bieżącą wersję Maven na swoim komputerze do programowania za pomocą następującego polecenia:
mvn --version
Sklonuj lub pobierz przykłady usługi Azure IoT dla języka Java z usługi GitHub.
Make sure that port 8883 is open in your firewall. Próbka urządzenia w tym przewodniku szybkiego startu wykorzystuje protokół 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).
Użyj środowiska Bash w Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Rozpoczynanie pracy z usługą Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj Azure CLI. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze platformy Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby zakończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Uwierzytelnianie na platformie Azure przy użyciu interfejsu wiersza polecenia platformy Azure.
Gdy zostaniesz o to poproszony/a, zainstaluj rozszerzenie Azure CLI przy pierwszym użyciu. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Używanie rozszerzeń i zarządzanie nimi za pomocą interfejsu wiersza polecenia platformy Azure.
Uruchom az version, aby sprawdzić zainstalowaną wersję i biblioteki zależne. Aby przeprowadzić uaktualnienie do najnowszej wersji, uruchom polecenie az upgrade.
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:
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.
Uruchom az extension add, aby zainstalować lub uaktualnić rozszerzenie azure-iot do bieżącej wersji.
az extension add --upgrade --name azure-iot
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
. This quickstart uses eastus as shown in the example command.az group create --name MyResourceGroup --location eastus
Run the az iot hub create command to create an IoT hub. Utworzenie centrum IoT Hub może potrwać kilka minut.
YourIoTHubName. Replace this placeholder and the surrounding braces in the following command, using the name you chose for your IoT hub. Nazwa centrum IoT musi być globalnie unikatowa na platformie Azure. Use your IoT hub name in the rest of this quickstart wherever you see the placeholder.
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:
Run the az iot hub device-identity create command in your CLI shell. To polecenie tworzy tożsamość urządzenia.
YourIoTHubName. Replace this placeholder and the surrounding braces in the following command, using the name you chose for your IoT hub. 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}
Run the az iot hub device-identity connection-string show command.
az iot hub device-identity connection-string show --device-id myDevice --hub-name {YourIoTHubName}
The connection string output is in the following format:
HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
Zapisz parametry połączenia w bezpiecznej lokalizacji.
Uwaga
Pozostaw otwartą aplikację CLI. Użyjesz tego w kolejnych krokach.
Pobierz ciąg połączenia usługi
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 pobiera łańcuch połączenia usługi dla twojego huba 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
Make a note of the service connection string, which looks like:
HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}
Użyjesz tej wartości później w szybkim starcie. Ten ciąg połączenia usługi różni się od ciągu połączenia urządzenia, który zanotowałeś w poprzednim kroku.
Simulate a device
The simulated device application connects to a device-specific endpoint on your IoT hub, sends simulated telemetry, and listens for direct method calls from your hub. In this quickstart, the direct method call from the hub tells the device to change the interval at which it sends telemetry. Symulowane urządzenie wysyła potwierdzenie z powrotem do twojego centrum po wykonaniu bezpośredniej metody.
W lokalnym oknie terminala przejdź do katalogu głównego przykładowego projektu Java. Następnie przejdź do folderu iot-hub\Quickstarts\simulated-device-2.
Otwórz plik src/main/java/com/microsoft/docs/iothub/samples/SimulatedDevice.java w edytorze tekstu według własnego wyboru.
Replace the value of the
connString
variable with the device connection string you made a note of earlier. Then save your changes to SimulatedDevice.java.W oknie terminala lokalnego uruchom następujące polecenia, aby zainstalować wymagane biblioteki i zbudować aplikację symulowanego urządzenia.
mvn clean package
In the local terminal window, run the following commands to run the simulated device application:
java -jar target/simulated-device-2-1.0.0-with-deps.jar
The following screenshot shows the output as the simulated device application sends telemetry to your IoT hub:
Zadzwoń do metody bezpośredniej
Aplikacja zaplecza łączy się z punktem końcowym po stronie usługi w Twoim IoT Hub. The application makes direct method calls to a device through your IoT hub and listens for acknowledgments. An IoT Hub back-end application typically runs in the cloud.
In another local terminal window, navigate to the root folder of the sample Java project. Then navigate to the iot-hub\Quickstarts\back-end-application folder.
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.W oknie terminala lokalnego uruchom następujące polecenia, aby zainstalować wymagane biblioteki i zbudować aplikację back-endową:
mvn clean package
In the local terminal window, run the following commands to run the back-end application:
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 do urządzenia i otrzymuje potwierdzenie:
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.
Ten przewodnik po szybkim starcie korzysta z dwóch aplikacji Node.js.
- Aplikacja urządzenia symulowanego, która odpowiada na bezpośrednie metody wywoływane z aplikacji zaplecza. Aby odbierać bezpośrednie połączenia metod, ta aplikacja łączy się z punktem końcowym specyficznym dla urządzenia w twoim 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
Konto platformy Azure z aktywną subskrypcją. Utwórz je bezpłatnie.
-
Możesz sprawdzić bieżącą wersję środowiska Node.js na komputerze deweloperskim przy użyciu następującego polecenia:
node --version
Klonuj lub pobierz przykłady Azure IoT Node.js z GitHub.
Make sure that port 8883 is open in your firewall. Przykład urządzenia w tym szybkim starcie używa 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).
Użyj środowiska Bash w Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Rozpoczynanie pracy z usługą Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj Azure CLI. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze platformy Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby zakończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Uwierzytelnianie na platformie Azure przy użyciu interfejsu wiersza polecenia platformy Azure.
Gdy zostaniesz o to poproszony/a, zainstaluj rozszerzenie Azure CLI przy pierwszym użyciu. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Używanie rozszerzeń i zarządzanie nimi za pomocą interfejsu wiersza polecenia platformy Azure.
Uruchom az version, aby sprawdzić zainstalowaną wersję i biblioteki zależne. Aby przeprowadzić uaktualnienie do najnowszej wersji, uruchom polecenie az upgrade.
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:
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.
Uruchom az extension add, aby zainstalować lub uaktualnić rozszerzenie azure-iot do bieżącej wersji.
az extension add --upgrade --name azure-iot
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
. This quickstart uses eastus as shown in the example command.az group create --name MyResourceGroup --location eastus
Run the az iot hub create command to create an IoT hub. Utworzenie centrum IoT Hub może potrwać kilka minut.
YourIoTHubName. Replace this placeholder and the surrounding braces in the following command, using the name you chose for your IoT hub. Nazwa centrum IoT musi być globalnie unikatowa na platformie Azure. Use your IoT hub name in the rest of this quickstart wherever you see the placeholder.
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:
Run the az iot hub device-identity create command in your CLI shell. To polecenie tworzy tożsamość urządzenia.
YourIoTHubName. Replace this placeholder and the surrounding braces in the following command, using the name you chose for your IoT hub. 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}
Run the az iot hub device-identity connection-string show command.
az iot hub device-identity connection-string show --device-id myDevice --hub-name {YourIoTHubName}
The connection string output is in the following format:
HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
Zapisz parametry połączenia w bezpiecznej lokalizacji.
Uwaga
Pozostaw otwartą aplikację CLI. Użyjesz tego w kolejnych krokach.
Pobierz ciąg połączenia usługi
You also need your IoT hub's service connection string to enable the back-end application to connect to your IoT hub and retrieve the messages. Następujące polecenie pobiera 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 z usługą, który wygląda następująco:
HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}
You use this value later in the quickstart. Ten ciąg połączenia z usługą różni się od ciągu połączenia z urządzeniem, który zanotowałeś w poprzednim kroku.
Simulate a device
Aplikacja symulowanego urządzenia łączy się ze specyficznym dla urządzenia punktem końcowym w Twoim IoT hubie, wysyła symulowaną telemetrię i nasłuchuje na bezpośrednie wywołania metody z Twojego huba. W tym szybkim starcie, bezpośrednie wywołanie metody z huba informuje urządzenie, aby zmieniło interwał, w jakim wysyła telemetrię. Symulowane urządzenie wysyła potwierdzenie do Twojego huba po wykonaniu metody bezpośredniej.
In a local terminal window, navigate to the root folder of the sample Node.js project. Następnie przejdź do folderu iot-hub\Quickstarts\simulated-device-2.
Open the SimulatedDevice.js file in a text editor of your choice.
Zastąp wartość zmiennej
connectionString
ciągiem połączenia urządzenia, który wcześniej zanotowałeś. Then save your changes to SimulatedDevice.js.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 przedstawia wynik, gdy symulowana aplikacja urządzenia wysyła telemetrię do centrum IoT.
Zadzwoń 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 hub IoT i nasłuchuje potwierdzeń. Aplikacja zaplecza IoT Hub zazwyczaj działa w chmurze.
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.
Otwórz plik BackEndApplication.js w edytorze tekstu według własnego wyboru.
Zastąp wartość zmiennej
connectionString
ciągiem połączenia usług, którego zanotowałeś wcześniej. Następnie zapisz swoje zmiany w pliku BackEndApplication.js.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.
Po uruchomieniu aplikacji zaplecza w lokalnym oknie terminalu pojawi się komunikat dotyczący uruchomionego urządzenia symulowanego, a szybkość, z jaką wysyła on komunikaty, ulegnie zmianie.
Ten szybki start używa dwóch aplikacji Python:
- A simulated device application that responds to direct methods called from a back-end application.
- Aplikacja back-end, która wywołuje bezpośrednie metody na symulowanym urządzeniu.
Wymagania wstępne
Konto platformy Azure z aktywną subskrypcją. Utwórz je bezpłatnie.
Python 3.7+. Aby zobaczyć inne obsługiwane wersje Pythona, odwiedź Funkcje urządzeń Azure IoT.
Sklonuj lub pobierz przykłady języka Python usługi Azure IoT z usługi GitHub.
Make sure that port 8883 is open in your firewall. The device sample in this quickstart uses MQTT protocol, which communicates over 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).
Użyj środowiska Bash w Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Rozpoczynanie pracy z usługą Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj Azure CLI. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze platformy Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby zakończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Uwierzytelnianie na platformie Azure przy użyciu interfejsu wiersza polecenia platformy Azure.
Gdy zostaniesz o to poproszony/a, zainstaluj rozszerzenie Azure CLI przy pierwszym użyciu. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Używanie rozszerzeń i zarządzanie nimi za pomocą interfejsu wiersza polecenia platformy Azure.
Uruchom az version, aby sprawdzić zainstalowaną wersję i biblioteki zależne. Aby przeprowadzić uaktualnienie do najnowszej wersji, uruchom polecenie az upgrade.
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:
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.
Uruchom az extension add, aby zainstalować lub uaktualnić rozszerzenie azure-iot do bieżącej wersji.
az extension add --upgrade --name azure-iot
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
. This quickstart uses eastus as shown in the example command.az group create --name MyResourceGroup --location eastus
Run the az iot hub create command to create an IoT hub. Utworzenie centrum IoT Hub może potrwać kilka minut.
YourIoTHubName. Replace this placeholder and the surrounding braces in the following command, using the name you chose for your IoT hub. Nazwa centrum IoT musi być globalnie unikatowa na platformie Azure. Use your IoT hub name in the rest of this quickstart wherever you see the placeholder.
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:
Run the az iot hub device-identity create command in your CLI shell. To polecenie tworzy tożsamość urządzenia.
YourIoTHubName. Replace this placeholder and the surrounding braces in the following command, using the name you chose for your IoT hub. 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}
Run the az iot hub device-identity connection-string show command.
az iot hub device-identity connection-string show --device-id myDevice --hub-name {YourIoTHubName}
The connection string output is in the following format:
HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
Zapisz parametry połączenia w bezpiecznej lokalizacji.
Uwaga
Pozostaw otwartą aplikację CLI. Użyjesz tego w kolejnych krokach.
Pobierz ciąg połączenia z usługą
You also need a service connection string to enable the back-end application to connect to your IoT hub and retrieve the messages. The following command retrieves the service connection string for your IoT hub:
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}
Użyjesz tej wartości później w szybkim przewodniku. 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 symulowanego urządzenia łączy się z punktem końcowym specyficznym dla urządzenia w Twojej centrali IoT, przesyła symulowane dane telemetryczne i nasłuchuje bezpośrednich wywołań metod z Twojej centrali. W tej szybkiej instrukcji, bezpośrednie wywołanie metody z koncentratora informuje urządzenie, aby zmieniło częstotliwość wysyłania danych telemetrycznych. Symulowane urządzenie wysyła potwierdzenie z powrotem do Twojego huba po wykonaniu metody bezpośredniej.
W oknie terminala lokalnego przejdź do folderu głównego przykładowego projektu Python. Następnie przejdź do folderu iot-hub\Quickstarts\simulated-device-2.
Otwórz plik SimulatedDeviceSync.py w wybranym przez siebie edytorze tekstu.
Zamień wartość zmiennej
CONNECTION_STRING
na ciąg połączenia z urządzeniem, który wcześniej zanotowałeś. Następnie zapisz swoje zmiany w SimulatedDeviceSync.py.W lokalnym oknie terminala uruchom następujące polecenia, aby zainstalować wymagane biblioteki dla symulowanej aplikacji urządzenia:
pip install azure-iot-device
W oknie terminala lokalnego uruchom następujące polecenia, aby uruchomić symulowaną aplikację urządzenia:
python SimulatedDeviceSync.py
Poniższy zrzut ekranu pokazuje wyniki, gdy aplikacja symulowanego urządzenia przesyła telemetrię do Twojego centrum IoT.
Wywołaj metodę bezpośrednią.
Aplikacja zaplecza łączy się z punktem końcowym po stronie usługi w Twoim centrum IoT. Aplikacja wykonuje bezpośrednie wywołania metod do urządzenia przez centrum IoT i oczekuje na potwierdzenia. Typowa aplikacja zaplecza IoT Hub zazwyczaj działa w chmurze.
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.
Otwórz plik BackEndApplication.py w edytorze tekstowym według własnego wyboru.
Zastąp wartość zmiennej
CONNECTION_STRING
ciągiem połączenia do usługi, który wcześniej zanotowałeś. Następnie zapisz swoje zmiany w BackEndApplication.py.W oknie lokalnego terminala uruchom następujące polecenia, aby zainstalować wymagane biblioteki do aplikacji symulowanego urządzenia:
pip install azure-iot-hub
W oknie terminala lokalnego uruchom następujące polecenia, aby uruchomić aplikację back-endową:
python BackEndApplication.py
Poniższy zrzut ekranu pokazuje wynik, gdy aplikacja wykonuje bezpośrednie wywołanie metody na urządzeniu i otrzymuje potwierdzenie.
Po uruchomieniu aplikacji zaplecza, zobaczysz wiadomość w oknie konsoli uruchamiającej symulowane urządzenie, a szybkość, z jaką wysyła wiadomości, zmienia się.
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:
Zaloguj się do portalu Azure i wybierz Grupy zasobów.
W polu tekstowym Filtr dla dowolnego pola wpisz nazwę grupy zasobów zawierającej centrum IoT.
Na liście wyników wybierz grupę zasobów zawierającą centrum IoT Hub.
W okienku roboczym grupy zasobów wybierz pozycję Usuń grupę zasobów na pasku poleceń.
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.