Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz 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. 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 --versionSklonuj 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).
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-iotW 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 eastusUruchom 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.
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 restoreUruchom 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.
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 buildW 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.
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).
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-iotW 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 eastusUruchom 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:
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}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>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.
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.
Zastąp wartość zmiennej
connStringparametrami połączenia urządzenia zanotowanymi wcześniej. Następnie zapisz zmiany w SimulatedDevice.java.W oknie terminala lokalnego uruchom następujące polecenia, aby zainstalować wymagane biblioteki i zbudować aplikację symulowanego urządzenia.
mvn clean packageW 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.jarPoniż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 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.
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 .
Otwórz plik src/main/java/com/microsoft/docs/iothub/samples/BackEndApplication.java w wybranym edytorze tekstu.
Zastąp wartość zmiennej
iotHubConnectionStringcią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 packageW lokalnym oknie terminalu uruchom następujące polecenia, aby uruchomić aplikację zaplecza:
java -jar target/back-end-application-1.0.0-with-deps.jarPoniż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 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.
- 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
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.
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).
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-iotW 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 eastusUruchom 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:
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}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>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.
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.
Otwórz plik SimulatedDevice.js w wybranym edytorze tekstów.
Zastąp wartość zmiennej
connectionStringparametrami połączenia urządzenia zanotowanymi wcześniej. Następnie zapisz zmiany w 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.jsPoniż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 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.
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
connectionStringciągiem połączenia z usługą, który został zanotowany 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.jsPoniż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 pojawia się komunikat pochodzący od uruchomionego urządzenia symulowanego, a szybkość wysyłania komunikatów ulega zmianie.
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
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.
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).
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-iotW 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 eastusUruchom 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:
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}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>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.
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.
Zastąp wartość zmiennej
CONNECTION_STRINGparametrami połączenia urządzenia zanotowanymi wcześniej. 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-deviceW lokalnym oknie terminalu uruchom następujące polecenia, aby uruchomić aplikację urządzenia symulowanego:
python SimulatedDeviceSync.pyPoniż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 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.
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_STRINGciągiem połączenia z usługą, który został zanotowany wcześniej. Następnie zapisz swoje zmiany w BackEndApplication.py.W lokalnym oknie terminala uruchom następujące polecenia, aby zainstalować wymagane biblioteki dla symulowanej aplikacji urządzenia:
pip install azure-iot-hubW lokalnym oknie terminalu uruchom następujące polecenia, aby uruchomić aplikację zaplecza:
python BackEndApplication.pyPoniż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.