Szybki start: kontrolowanie urządzenia podłączonego do centrum IoT
W tym przewodniku Szybki start użyjesz metody bezpośredniej do kontrolowania urządzenia symulowanego podłączonego do centrum IoT. 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 przechowywania lub przetwarzania. Metody bezpośrednie umożliwiają zdalne zmienianie zachowania urządzeń połączonych z centrum IoT Hub.
Przewodnik Szybki start używa dwóch wstępnie napisanych aplikacji .NET:
Aplikacja urządzenia symulowanego, która reaguje na metody bezpośrednie wywoływane z aplikacji usługi. Aby odbierać wywołania metod bezpośrednich, ta aplikacja łączy się z punktem końcowym właściwym dla urządzenia w centrum IoT.
Aplikacja usługi, która wywołuje metody bezpośrednie na urządzeniu symulowanym. Aby wywoływać metody bezpośrednie na urządzeniu, ta aplikacja łączy się z punktem końcowym po stronie usługi w centrum IoT.
Wymagania wstępne
Konto platformy Azure z aktywną subskrypcją. Utwórz go bezpłatnie.
Dwie przykładowe aplikacje uruchamiane w tym przewodniku Szybki start zostały napisane w języku C#. Potrzebujesz zestawu .NET SDK 6.0 lub nowszego na komputerze deweloperskim.
Możesz pobrać zestaw SDK .NET Core dla wielu platform z repozytorium .NET.
Możesz sprawdzić bieżącą wersję języka C# na komputerze deweloperskim przy użyciu następującego polecenia:
dotnet --version
Sklonuj lub pobierz zestaw SDK języka C# usługi Azure IoT z usługi GitHub.
Upewnij się, że port 8883 jest otwarty w zaporze. Przykład urządzenia w tym przewodniku Szybki start używa protokołu MQTT, który komunikuje się za pośrednictwem portu 8883. Ten port może być zablokowany w niektórych środowiskach sieci firmowych i edukacyjnych. Aby uzyskać więcej informacji i sposobów obejścia tego problemu, zobacz Connecting to IoT Hub (MQTT) (Nawiązywanie połączenia z IoT Hub (MQTT).
Użyj środowiska Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze 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 ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać informacje o innych opcjach logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure przy pierwszym użyciu. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić 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. Możesz użyć polecenia az extension list
, aby zweryfikować aktualnie zainstalowane rozszerzenia.
Użyj az extension remove --name azure-cli-iot-ext
polecenia , aby usunąć starszą wersję rozszerzenia.
Użyj polecenia az extension add --name azure-iot
, aby dodać nową wersję rozszerzenia.
Aby zobaczyć, jakie rozszerzenia zostały 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ę interfejsu wiersza polecenia. 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 klawisz
Enter
.- Jeśli używasz Cloud Shell, wybierz przycisk Wypróbuj w poleceniach interfejsu wiersza polecenia, aby uruchomić Cloud Shell w oknie podzielonej przeglądarki. Możesz też otworzyć 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 polecenie az extension add , aby zainstalować lub uaktualnić rozszerzenie azure-iot do bieżącej wersji.
az extension add --upgrade --name azure-iot
W aplikacji interfejsu wiersza polecenia 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 Szybki start użyto polecenia eastus , jak pokazano w przykładowym poleceniu.az group create --name MyResourceGroup --location eastus
Uruchom polecenie az iot hub create , aby utworzyć centrum IoT Hub. Utworzenie centrum IoT Może potrwać kilka minut.
YourIotHubName. Zastąp ten symbol zastępczy i otaczające nawiasy klamrowe w poniższym poleceniu przy użyciu 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 przewodnika Szybki start wszędzie tam, gdzie zobaczysz symbol zastępczy.
az iot hub create --resource-group MyResourceGroup --name {your_iot_hub_name}
Pobieranie parametrów połączenia usługi
Potrzebujesz również parametrów połączenia usługi centrum IoT Hub, aby umożliwić aplikacji usługi łączenie się z centrum i pobieranie komunikatów. Parametry połączenia usługi są przeznaczone dla centrum IoT Jako całości i różnią się od parametrów połączenia urządzenia pobranych w poprzedniej sekcji.
Następujące polecenie pobiera parametry połączenia usługi dla centrum IoT:
az iot hub connection-string show --policy-name service --hub-name {YourIoTHubName} --output table
Zanotuj parametry połączenia usługi, które wyglądają następująco:
HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}
Użyjesz tej wartości w dalszej części tego przewodnika Szybki start.
Symulowanie urządzenia
Aplikacja urządzenia symulowanego łączy się z punktem końcowym właściwym dla urządzenia w centrum IoT, wysyła symulowane dane telemetryczne i nasłuchuje wywołań metod bezpośrednich z centrum. W tym przewodniku Szybki start wywołanie metody bezpośredniej z centrum nakazuje urządzeniu zmienić interwał wysyłania danych 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 C#. 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
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 przedstawia dane wyjściowe w momencie wysyłania przez aplikację urządzenia symulowanego danych telemetrycznych do centrum IoT:
Wywoływanie metody bezpośredniej
Aplikacja usługi łączy się z punktem końcowym po stronie usługi w centrum IoT Hub. Aplikacja wykonuje wywołania metody bezpośredniej do urządzenia za pośrednictwem centrum IoT i nasłuchuje poświadczeń. Aplikacja usługi IoT Hub jest zwykle uruchamiana w chmurze.
W innym lokalnym oknie terminalu przejdź do folderu głównego przykładowego projektu C#. Następnie przejdź do folderu iothub\service\samples\getting started\InvokeDeviceMethod .
W lokalnym oknie terminalu uruchom następujące polecenia, aby zainstalować wymagane biblioteki dla aplikacji usługi:
dotnet build
W lokalnym oknie terminalu uruchom następujące polecenia, aby skompilować i uruchomić aplikację usługi.
{ServiceConnectionString}
: zastąp ten symbol zastępczy zanotowanymi wcześniej parametrami połączenia usługi IoT Hub.{DeviceName}
: zastąp ten symbol zastępczy nazwą zarejestrowanego urządzenia.dotnet run -- -c "{ServiceConnectionString}" -d {DeviceName}
Poniższy zrzut ekranu przedstawia dane wyjściowe, ponieważ aplikacja wykonuje wywołanie metody bezpośredniej do urządzenia i odbiera potwierdzenie:
Po uruchomieniu aplikacji usługi w oknie konsoli z uruchomionym symulowanym urządzeniem zostanie wyświetlony komunikat i szybkość wysyłania zmian komunikatów:
W tym przewodniku Szybki start są używane dwie aplikacje Java:
- Aplikacja urządzenia symulowanego, która reaguje na metody bezpośrednie wywoływane z aplikacji zaplecza.
- Aplikacja usługi, która wywołuje metodę bezpośrednią na symulowanym urządzeniu.
Wymagania wstępne
Konto platformy Azure z aktywną subskrypcją. Utwórz go bezpłatnie.
Java SE Development Kit 8. W długoterminowej obsłudze języka Java dla platformy Azure i usługi Azure Stack w obszarze Długoterminowa obsługa wybierz pozycję Java 8.
Możesz sprawdzić bieżącą wersję języka Java na komputerze deweloperskim przy użyciu następującego polecenia:
java -version
-
Możesz sprawdzić bieżącą wersję narzędzia Maven na komputerze deweloperskim przy użyciu następującego polecenia:
mvn --version
Sklonuj lub pobierz przykłady języka Java usługi Azure IoT z usługi GitHub.
Upewnij się, że port 8883 jest otwarty w zaporze. Przykład urządzenia w tym przewodniku Szybki start używa protokołu MQTT, który komunikuje się za pośrednictwem portu 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 Łączenie się z IoT Hub (MQTT).
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze 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 ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure przy pierwszym użyciu. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
Uwaga
W tym artykule użyto najnowszej wersji rozszerzenia Usługi Azure IoT o nazwie azure-iot
. Starsza wersja nosi nazwę azure-cli-iot-ext
. Naraz powinna być zainstalowana tylko jedna wersja. Możesz użyć polecenia az extension list
, aby zweryfikować aktualnie zainstalowane rozszerzenia.
Użyj az extension remove --name azure-cli-iot-ext
polecenia , aby usunąć starszą wersję rozszerzenia.
Użyj az extension add --name azure-iot
polecenia , aby dodać nową wersję rozszerzenia.
Aby zobaczyć, jakie rozszerzenia zostały zainstalowane, użyj polecenia az extension list
.
Tworzenie centrum IoT Hub
W tej sekcji użyjesz interfejsu wiersza polecenia platformy Azure do utworzenia centrum IoT Hub 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ę interfejsu wiersza polecenia. Aby uruchomić polecenia interfejsu wiersza polecenia w pozostałej części tego artykułu, skopiuj składnię poleceń, wklej ją do aplikacji interfejsu wiersza polecenia, edytuj wartości zmiennych i naciśnij klawisz
Enter
.- Jeśli używasz Cloud Shell, wybierz przycisk Wypróbuj w poleceniach interfejsu wiersza polecenia, aby uruchomić Cloud Shell w oknie podzielonej przeglądarki. Możesz też otworzyć 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 polecenie az extension add , aby zainstalować lub uaktualnić rozszerzenie azure-iot do bieżącej wersji.
az extension add --upgrade --name azure-iot
W aplikacji interfejsu wiersza polecenia 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 Szybki start użyto metody eastus , jak pokazano w przykładowym poleceniu.az group create --name MyResourceGroup --location eastus
Uruchom polecenie az iot hub create , aby utworzyć centrum IoT Hub. Utworzenie centrum IoT 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 przewodnika Szybki start, gdziekolwiek zobaczysz symbol zastępczy.
az iot hub create --resource-group MyResourceGroup --name {your_iot_hub_name}
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, możesz pominąć tę sekcję.
Aby utworzyć tożsamość urządzenia:
Uruchom polecenie az iot hub device-identity create w powłoce interfejsu wiersza polecenia. To polecenie tworzy tożsamość urządzenia.
your_iot_hub_name. zamień ten symbol zastępczy poniżej na wybraną nazwę centrum IoT Hub.
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 {your_iot_hub_name}
Uruchom polecenie az iot hub device-identity connection-string show .
az iot hub device-identity connection-string show --device-id myDevice --hub-name {your_iot_hub_name}
Dane wyjściowe parametrów połączenia są w następującym formacie:
HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
Zapisz parametry połączenia w bezpiecznej lokalizacji.
Uwaga
Zachowaj otwartą aplikację interfejsu wiersza polecenia. Zostanie ona użyta w dalszych krokach.
Pobieranie parametrów połączenia usługi
Potrzebne będą także parametry połączenia usługi, aby umożliwić aplikacji zaplecza nawiązywanie połączenia z centrum IoT i pobieranie komunikatów. Następujące polecenie pobiera parametry połączenia usługi dla centrum IoT:
YourIoTHubName: zamień ten symbol zastępczy poniżej na wybraną nazwę centrum IoT Hub.
az iot hub connection-string show --policy-name service --hub-name {YourIoTHubName} --output table
Zanotuj parametry połączenia usługi, które wyglądają następująco:
HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}
Użyjesz tej wartości w dalszej części tego przewodnika Szybki start. Te parametry połączenia usługi różnią się od parametrów połączenia urządzenia zanotowanymi w poprzednim kroku.
Symulowanie urządzenia
Aplikacja urządzenia symulowanego łączy się z punktem końcowym właściwym dla urządzenia w centrum IoT, wysyła symulowane dane telemetryczne i nasłuchuje wywołań metod bezpośrednich z centrum. W tym przewodniku Szybki start wywołanie metody bezpośredniej z centrum nakazuje urządzeniu zmienić interwał wysyłania danych 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 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 wybranym edytorze tekstów.
Zastąp wartość zmiennej
connString
parametrami połączenia urządzenia, które zanotujesz wcześniej. Następnie zapisz zmiany w pliku SimulatedDevice.java.W lokalnym oknie terminalu uruchom następujące polecenia, aby zainstalować wymagane biblioteki i skompilować aplikację urządzenia symulowanego:
mvn clean package
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 przedstawia dane wyjściowe w momencie wysyłania przez aplikację urządzenia symulowanego danych telemetrycznych do centrum IoT:
Wywoływanie metody bezpośredniej
Aplikacja zaplecza łączy się z punktem końcowym po stronie usługi w usłudze IoT Hub. Aplikacja wykonuje wywołania metody bezpośredniej do urządzenia za pośrednictwem centrum IoT i nasłuchuje 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 tekstów.
Zastąp wartość zmiennej
iotHubConnectionString
parametrami połączenia usługi, które zanotujesz wcześniej. Następnie zapisz zmiany w pliku BackEndApplication.java.W lokalnym oknie terminalu uruchom następujące polecenia, aby zainstalować wymagane biblioteki i skompilować aplikację zaplecza:
mvn clean package
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 przedstawia dane wyjściowe, ponieważ aplikacja wykonuje wywołanie metody bezpośredniej do urządzenia i odbiera potwierdzenie:
Po uruchomieniu aplikacji zaplecza zobaczysz komunikat w oknie konsoli uruchomionym na urządzeniu symulowanym, a także zobaczysz, że zmienia się prędkość wysyłania komunikatów:
W tym przewodniku Szybki start są używane dwie aplikacje Node.js:
- Aplikacja urządzenia symulowanego, która reaguje na metody bezpośrednie wywoływane z aplikacji zaplecza. Aby odbierać wywołania metod bezpośrednich, ta aplikacja łączy się z punktem końcowym właściwym dla urządzenia w centrum IoT.
- Aplikacja zaplecza, która wywołuje metody bezpośrednie na urządzeniu symulowanym. Aby wywołać metodę bezpośrednią na urządzeniu, ta aplikacja łączy się z punktem końcowym specyficznym dla usługi w centrum IoT.
Wymagania wstępne
Konto platformy Azure z aktywną subskrypcją. Utwórz go bezpłatnie.
-
Możesz sprawdzić bieżącą wersję środowiska Node.js na komputerze deweloperskim przy użyciu następującego polecenia:
node --version
Sklonuj lub pobierz przykłady usługi Azure IoT Node.js z usługi GitHub.
Upewnij się, że port 8883 jest otwarty w zaporze. Przykład urządzenia w tym przewodniku Szybki start używa protokołu MQTT, który komunikuje się za pośrednictwem portu 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 Łączenie się z IoT Hub (MQTT).
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze 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 ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure przy pierwszym użyciu. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
Uwaga
W tym artykule użyto najnowszej wersji rozszerzenia Usługi Azure IoT o nazwie azure-iot
. Starsza wersja nosi nazwę azure-cli-iot-ext
. Naraz powinna być zainstalowana tylko jedna wersja. Możesz użyć polecenia az extension list
, aby zweryfikować aktualnie zainstalowane rozszerzenia.
Użyj az extension remove --name azure-cli-iot-ext
polecenia , aby usunąć starszą wersję rozszerzenia.
Użyj az extension add --name azure-iot
polecenia , aby dodać nową wersję rozszerzenia.
Aby zobaczyć, jakie rozszerzenia zostały zainstalowane, użyj polecenia az extension list
.
Tworzenie centrum IoT Hub
W tej sekcji użyjesz interfejsu wiersza polecenia platformy Azure do utworzenia centrum IoT Hub 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ę interfejsu wiersza polecenia. Aby uruchomić polecenia interfejsu wiersza polecenia w pozostałej części tego artykułu, skopiuj składnię poleceń, wklej ją do aplikacji interfejsu wiersza polecenia, edytuj wartości zmiennych i naciśnij klawisz
Enter
.- Jeśli używasz Cloud Shell, wybierz przycisk Wypróbuj w poleceniach interfejsu wiersza polecenia, aby uruchomić Cloud Shell w oknie podzielonej przeglądarki. Możesz też otworzyć 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 polecenie az extension add , aby zainstalować lub uaktualnić rozszerzenie azure-iot do bieżącej wersji.
az extension add --upgrade --name azure-iot
W aplikacji interfejsu wiersza polecenia 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 Szybki start użyto metody eastus , jak pokazano w przykładowym poleceniu.az group create --name MyResourceGroup --location eastus
Uruchom polecenie az iot hub create , aby utworzyć centrum IoT Hub. Utworzenie centrum IoT 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 przewodnika Szybki start, gdziekolwiek zobaczysz symbol zastępczy.
az iot hub create --resource-group MyResourceGroup --name {your_iot_hub_name}
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, możesz pominąć tę sekcję.
Aby utworzyć tożsamość urządzenia:
Uruchom polecenie az iot hub device-identity create w powłoce interfejsu wiersza polecenia. To polecenie tworzy tożsamość urządzenia.
your_iot_hub_name. zamień ten symbol zastępczy poniżej na wybraną nazwę centrum IoT Hub.
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 {your_iot_hub_name}
Uruchom polecenie az iot hub device-identity connection-string show .
az iot hub device-identity connection-string show --device-id myDevice --hub-name {your_iot_hub_name}
Dane wyjściowe parametrów połączenia są w następującym formacie:
HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
Zapisz parametry połączenia w bezpiecznej lokalizacji.
Uwaga
Zachowaj otwartą aplikację interfejsu wiersza polecenia. Zostanie ona użyta w dalszych krokach.
Pobieranie parametrów połączenia usługi
Potrzebujesz również parametrów połączenia usługi centrum IoT Hub, aby umożliwić aplikacji zaplecza łączenie się z centrum IoT Hub i pobieranie komunikatów. Następujące polecenie pobiera parametry połączenia usługi dla centrum IoT:
YourIoTHubName: zamień ten symbol zastępczy poniżej na wybraną nazwę centrum IoT Hub.
az iot hub connection-string show \
--policy-name service --hub-name {YourIoTHubName} --output table
Zanotuj parametry połączenia usługi, które wyglądają następująco:
HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}
Użyjesz tej wartości w dalszej części tego przewodnika Szybki start. Te parametry połączenia usługi różnią się od parametrów połączenia urządzenia zanotowanymi w poprzednim kroku.
Symulowanie urządzenia
Aplikacja urządzenia symulowanego łączy się z punktem końcowym właściwym dla urządzenia w centrum IoT, wysyła symulowane dane telemetryczne i nasłuchuje wywołań metod bezpośrednich z centrum. W tym przewodniku Szybki start wywołanie metody bezpośredniej z centrum nakazuje urządzeniu zmienić interwał wysyłania danych 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
connectionString
parametrami połączenia urządzenia, które zanotujesz wcześniej. Następnie zapisz zmiany w SimulatedDevice.js.W lokalnym oknie terminalu 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 dane wyjściowe w momencie wysyłania przez aplikację urządzenia symulowanego danych telemetrycznych do centrum IoT:
Wywoływanie metody bezpośredniej
Aplikacja zaplecza łączy się z punktem końcowym po stronie usługi w centrum IoT. Aplikacja wykonuje wywołania metody bezpośredniej do urządzenia za pośrednictwem centrum IoT i nasłuchuje potwierdzenia. Aplikacja zaplecza usługi IoT Hub zwykle działa w chmurze.
Otwórz inne lokalne okno terminalu i 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 wybranym edytorze tekstów.
Zastąp wartość zmiennej
connectionString
parametrami połączenia usługi, które zanotujesz wcześniej. Następnie zapisz zmiany w BackEndApplication.js.W lokalnym oknie terminalu uruchom następujące polecenia, aby zainstalować wymagane biblioteki i uruchomić aplikację zaplecza:
npm install node BackEndApplication.js
Poniższy zrzut ekranu przedstawia dane wyjściowe, ponieważ aplikacja wykonuje wywołanie metody bezpośredniej do urządzenia i odbiera potwierdzenie:
Po uruchomieniu aplikacji zaplecza zobaczysz komunikat w oknie konsoli uruchomionym na urządzeniu symulowanym, a także zobaczysz, że zmienia się prędkość wysyłania komunikatów:
W tym przewodniku Szybki start są używane dwie aplikacje języka Python:
- Aplikacja urządzenia symulowanego, która reaguje na metody bezpośrednie wywoływane z aplikacji zaplecza.
- Aplikacja zaplecza, która wywołuje metody bezpośrednie na urządzeniu symulowanym.
Wymagania wstępne
Konto platformy Azure z aktywną subskrypcją. Utwórz go bezpłatnie.
Python 3.7+. Aby uzyskać informacje o innych obsługiwanych wersjach języka Python, zobacz Funkcje urządzeń usługi Azure IoT.
Sklonuj lub pobierz przykłady języka Python usługi Azure IoT z witryny github.
Upewnij się, że port 8883 jest otwarty w zaporze. Przykład urządzenia w tym przewodniku Szybki start używa protokołu MQTT, który komunikuje się za pośrednictwem portu 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 Łączenie się z IoT Hub (MQTT).
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze 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 ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure przy pierwszym użyciu. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
Uwaga
W tym artykule użyto najnowszej wersji rozszerzenia Usługi Azure IoT o nazwie azure-iot
. Starsza wersja nosi nazwę azure-cli-iot-ext
. Naraz powinna być zainstalowana tylko jedna wersja. Możesz użyć polecenia az extension list
, aby zweryfikować aktualnie zainstalowane rozszerzenia.
Użyj az extension remove --name azure-cli-iot-ext
polecenia , aby usunąć starszą wersję rozszerzenia.
Użyj az extension add --name azure-iot
polecenia , aby dodać nową wersję rozszerzenia.
Aby zobaczyć, jakie rozszerzenia zostały zainstalowane, użyj polecenia az extension list
.
Tworzenie centrum IoT Hub
W tej sekcji użyjesz interfejsu wiersza polecenia platformy Azure do utworzenia centrum IoT Hub 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ę interfejsu wiersza polecenia. Aby uruchomić polecenia interfejsu wiersza polecenia w pozostałej części tego artykułu, skopiuj składnię poleceń, wklej ją do aplikacji interfejsu wiersza polecenia, edytuj wartości zmiennych i naciśnij klawisz
Enter
.- Jeśli używasz Cloud Shell, wybierz przycisk Wypróbuj w poleceniach interfejsu wiersza polecenia, aby uruchomić Cloud Shell w oknie podzielonej przeglądarki. Możesz też otworzyć 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 polecenie az extension add , aby zainstalować lub uaktualnić rozszerzenie azure-iot do bieżącej wersji.
az extension add --upgrade --name azure-iot
W aplikacji interfejsu wiersza polecenia 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 Szybki start użyto metody eastus , jak pokazano w przykładowym poleceniu.az group create --name MyResourceGroup --location eastus
Uruchom polecenie az iot hub create , aby utworzyć centrum IoT Hub. Utworzenie centrum IoT 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 przewodnika Szybki start, gdziekolwiek zobaczysz symbol zastępczy.
az iot hub create --resource-group MyResourceGroup --name {your_iot_hub_name}
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, możesz pominąć tę sekcję.
Aby utworzyć tożsamość urządzenia:
Uruchom polecenie az iot hub device-identity create w powłoce interfejsu wiersza polecenia. To polecenie tworzy tożsamość urządzenia.
your_iot_hub_name. zamień ten symbol zastępczy poniżej na wybraną nazwę centrum IoT Hub.
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 {your_iot_hub_name}
Uruchom polecenie az iot hub device-identity connection-string show .
az iot hub device-identity connection-string show --device-id myDevice --hub-name {your_iot_hub_name}
Dane wyjściowe parametrów połączenia są w następującym formacie:
HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
Zapisz parametry połączenia w bezpiecznej lokalizacji.
Uwaga
Zachowaj otwartą aplikację interfejsu wiersza polecenia. Zostanie ona użyta w dalszych krokach.
Pobieranie parametrów połączenia usługi
Potrzebne będą także parametry połączenia usługi, aby umożliwić aplikacji zaplecza nawiązywanie połączenia z centrum IoT i pobieranie komunikatów. Następujące polecenie pobiera parametry połączenia usługi dla centrum IoT:
YourIoTHubName: zamień ten symbol zastępczy poniżej na wybraną nazwę centrum IoT Hub.
az iot hub connection-string show \
--policy-name service \
--hub-name {YourIoTHubName} \
--output table
Zanotuj parametry połączenia usługi, które wyglądają następująco:
HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}
Użyjesz tej wartości w dalszej części tego przewodnika Szybki start. Te parametry połączenia usługi różnią się od parametrów połączenia urządzenia zanotowanymi w poprzednim kroku.
Symulowanie urządzenia
Aplikacja urządzenia symulowanego łączy się z punktem końcowym właściwym dla urządzenia w centrum IoT, wysyła symulowane dane telemetryczne i nasłuchuje wywołań metod bezpośrednich z centrum. W tym przewodniku Szybki start wywołanie metody bezpośredniej z centrum nakazuje urządzeniu zmienić interwał wysyłania danych 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 Python. Następnie przejdź do folderu iot-hub\Quickstarts\simulated-device-2.
Otwórz plik SimulatedDeviceSync.py w wybranym edytorze tekstów.
Zastąp wartość zmiennej
CONNECTION_STRING
parametrami połączenia urządzenia, które zanotujesz wcześniej. Następnie zapisz zmiany w SimulatedDeviceSync.py.W lokalnym oknie terminalu uruchom następujące polecenia, aby zainstalować wymagane biblioteki dla aplikacji urządzenia symulowanego:
pip install azure-iot-device
W lokalnym oknie terminalu uruchom następujące polecenia, aby uruchomić aplikację urządzenia symulowanego:
python SimulatedDeviceSync.py
Poniższy zrzut ekranu przedstawia dane wyjściowe w momencie wysyłania przez aplikację urządzenia symulowanego danych telemetrycznych do centrum IoT:
Wywoływanie metody bezpośredniej
Aplikacja zaplecza łączy się z punktem końcowym po stronie usługi w usłudze IoT Hub. Aplikacja wykonuje wywołania metody bezpośredniej do urządzenia za pośrednictwem centrum IoT i nasłuchuje 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 Python. Następnie przejdź do folderu iot-hub\Quickstarts\back-end-application.
Otwórz plik BackEndApplication.py w wybranym edytorze tekstów.
Zastąp wartość zmiennej
CONNECTION_STRING
parametrami połączenia usługi, które zanotujesz wcześniej. Następnie zapisz zmiany w BackEndApplication.py.W lokalnym oknie terminalu uruchom następujące polecenia, aby zainstalować wymagane biblioteki dla aplikacji urządzenia symulowanego:
pip install azure-iot-hub
W lokalnym oknie terminalu uruchom następujące polecenia, aby uruchomić aplikację zaplecza:
python BackEndApplication.py
Poniższy zrzut ekranu przedstawia dane wyjściowe, ponieważ aplikacja wykonuje wywołanie metody bezpośredniej do urządzenia i odbiera potwierdzenie:
Po uruchomieniu aplikacji zaplecza zobaczysz komunikat w oknie konsoli uruchomionym na urządzeniu symulowanym, a także zobaczysz, że zmienia się prędkość wysyłania komunikatów:
Czyszczenie zasobów
Jeśli zamierzasz przejść do kolejnego zalecanego artykułu, możesz zachować już utworzone zasoby i użyć ich ponownie.
W przeciwnym razie możesz usunąć zasoby platformy Azure utworzone w tym artykule, aby uniknąć naliczania 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 grupy zasobów. Jeśli usługa IoT Hub została utworzona wewnątrz istniejącej grupy zasobów zawierającej zasoby, które chcesz zachować, zamiast usuwać całą grupę zasobów, usuń tylko zasób usługi IoT Hub.
Aby usunąć grupę zasobów na podstawie nazwy:
Zaloguj się do witryny Azure Portal i wybierz pozycję Grupy zasobów.
W polu tekstowym Filtruj według nazwy wpisz nazwę grupy zasobów zawierającej IoT Hub.
Po prawej stronie grupy zasobów na liście wyników wybierz pozycję ... a następnie pozycję Usuń grupę zasobów.
Zobaczysz prośbę o potwierdzenie usunięcia grupy zasobów. Wpisz ponownie 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 przewodniku Szybki start wywołano metodę bezpośrednią na urządzeniu z aplikacji usługi i zareagowano na wywołanie metody bezpośredniej w symulowanej aplikacji urządzenia.
Aby dowiedzieć się, jak przekierowywać komunikaty urządzenie-chmura do innych miejsc docelowych w chmurze, przejdź do następnego samouczka.