Szybki start: wysyłanie danych telemetrycznych z urządzenia do centrum IoT i monitorowanie ich za pomocą interfejsu wiersza polecenia platformy Azure

IoT Hub to usługa platformy Azure, która umożliwia pozyskiwanie dużych ilości danych telemetrycznych z urządzeń IoT do chmury w celu magazynowania lub przetwarzania. W tym przewodniku Szybki start bez kodu użyjesz interfejsu wiersza polecenia platformy Azure do utworzenia centrum IoT i symulowanego urządzenia. Dane telemetryczne urządzenia będą wysyłane do centrum i wysyłać komunikaty, metody wywołania i aktualizować właściwości na urządzeniu. Użyjesz również Azure Portal do wizualizacji metryk urządzeń. W tym artykule przedstawiono podstawowy przepływ pracy dla deweloperów korzystających z interfejsu wiersza polecenia do interakcji z aplikacją IoT Hub.

Wymagania wstępne

  • Jeśli nie masz subskrypcji platformy Azure, utwórz je bezpłatnie przed rozpoczęciem.
  • Interfejs wiersza polecenia platformy Azure. Wszystkie polecenia można uruchomić w tym przewodniku Szybki start przy użyciu usługi Azure Cloud Shell, interaktywnej powłoki interfejsu wiersza polecenia działającej w przeglądarce lub w aplikacji, takiej jak Terminal Windows. Jeśli używasz Cloud Shell, nie musisz niczego instalować. Jeśli wolisz korzystać z interfejsu wiersza polecenia lokalnie, ten przewodnik Szybki start wymaga interfejsu wiersza polecenia platformy Azure w wersji 2.36 lub nowszej. Uruchom polecenie az --version, aby dowiedzieć się, jaka wersja jest używana. Aby uzyskać informacje o instalowaniu lub uaktualnianiu, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.

Logowanie się do witryny Azure Portal

Zaloguj się w witrynie Azure Portal.

Niezależnie od tego, czy interfejs wiersza polecenia jest uruchamiany lokalnie, czy w Cloud Shell, pozostaw portal otwarty w przeglądarce. Użyjesz go w dalszej części tego przewodnika Szybki start.

Uruchamianie Cloud Shell

W tej sekcji uruchomisz wystąpienie usługi Azure Cloud Shell. Jeśli używasz interfejsu wiersza polecenia lokalnie, przejdź do sekcji Przygotowywanie dwóch sesji interfejsu wiersza polecenia.

Aby uruchomić Cloud Shell:

  1. Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu w Azure Portal.

    przycisk Azure Portal Cloud Shell

    Uwaga

    Jeśli jest to pierwszy raz, gdy użyto Cloud Shell, zostanie wyświetlony monit o utworzenie magazynu, który jest wymagany do korzystania z Cloud Shell. Wybierz subskrypcję, aby utworzyć konto magazynu i udział usługi Microsoft Azure Files.

  2. Wybierz preferowane środowisko interfejsu wiersza polecenia na liście rozwijanej Wybierz środowisko . W tym przewodniku Szybki start jest używane środowisko powłoki Bash . Możesz również użyć środowiska programu PowerShell .

    Uwaga

    Niektóre polecenia wymagają innej składni lub formatowania w środowiskach powłoki Bash i programu PowerShell . Aby uzyskać więcej informacji, zobacz Porady dotyczące pomyślnego używania interfejsu wiersza polecenia platformy Azure.

    Wybieranie środowiska interfejsu wiersza polecenia

Przygotowywanie dwóch sesji interfejsu wiersza polecenia

Następnie przygotujesz dwie sesje interfejsu wiersza polecenia platformy Azure. Jeśli używasz Cloud Shell, uruchomisz te sesje na oddzielnych kartach Cloud Shell. Jeśli używasz lokalnego klienta interfejsu wiersza polecenia, uruchomisz oddzielne wystąpienia interfejsu wiersza polecenia. Użyj oddzielnych sesji interfejsu wiersza polecenia dla następujących zadań:

  • Pierwsza sesja symuluje urządzenie IoT komunikujące się z centrum IoT.
  • Druga sesja monitoruje urządzenie w pierwszej sesji lub wysyła komunikaty, polecenia i aktualizacje właściwości.

Aby uruchomić polecenie, wybierz pozycję Kopiuj , aby skopiować blok kodu w tym przewodniku Szybki start, wklej go do sesji powłoki i uruchom go.

Interfejs wiersza polecenia platformy Azure wymaga zalogowania się do konta platformy Azure. Cała komunikacja między sesją powłoki interfejsu wiersza polecenia platformy Azure a centrum IoT jest uwierzytelniana i szyfrowana. W związku z tym ten przewodnik Szybki start nie wymaga dodatkowego uwierzytelniania, którego będziesz używać z rzeczywistym urządzeniem, takim jak parametry połączenia.

  • W pierwszej sesji interfejsu wiersza polecenia uruchom polecenie az extension add . Polecenie dodaje rozszerzenie Microsoft Azure IoT dla interfejsu wiersza polecenia platformy Azure do powłoki interfejsu wiersza polecenia. Rozszerzenie IOT dodaje IoT Hub, IoT Edge i usługi IoT Device Provisioning Service (DPS) do interfejsu wiersza polecenia platformy Azure.

    az extension add --name azure-iot
    

    Po zainstalowaniu rozszerzenia Azure IOT nie trzeba go ponownie instalować w żadnej sesji Cloud Shell.

    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.

  • Otwórz drugą sesję interfejsu wiersza polecenia. Jeśli używasz Cloud Shell w przeglądarce, użyj przycisku Otwórz nową sesję. Jeśli używasz interfejsu wiersza polecenia lokalnie, otwórz drugie wystąpienie interfejsu wiersza polecenia.

    Otwórz nową sesję Cloud Shell

Tworzenie centrum IoT Hub

W tej sekcji użyjesz interfejsu wiersza polecenia platformy Azure do utworzenia grupy zasobów i centrum IoT Hub. 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.

Porada

Opcjonalnie można utworzyć grupę zasobów platformy Azure, centrum IoT i inne zasoby przy użyciu Azure Portal, Visual Studio Code lub innych metod programistycznych.

  1. W pierwszej sesji 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 .

    az group create --name MyResourceGroup --location eastus
    
  2. W pierwszej sesji interfejsu wiersza polecenia uruchom polecenie Az modułu iot hub iot hub, aby utworzyć centrum IoT Hub. Utworzenie centrum IoT Hub zajmuje 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 {YourIoTHubName}
    

Tworzenie i monitorowanie urządzenia

W tej sekcji utworzysz symulowane urządzenie w pierwszej sesji interfejsu wiersza polecenia. Symulowane urządzenie wysyła dane telemetryczne urządzenia do centrum IoT. W drugiej sesji interfejsu wiersza polecenia monitorujesz zdarzenia i dane telemetryczne.

Aby utworzyć i uruchomić symulowane urządzenie:

  1. W pierwszej sesji interfejsu wiersza polecenia uruchom polecenie az iot hub device-identity create . To polecenie tworzy tożsamość symulowanego urządzenia.

    YourIotHubName. zamień ten symbol zastępczy poniżej na wybraną nazwę centrum IoT Hub.

    simDevice. Możesz użyć tej nazwy bezpośrednio dla symulowanego urządzenia w pozostałej części tego przewodnika Szybki start. Opcjonalnie użyj innej nazwy.

    az iot hub device-identity create -d simDevice -n {YourIoTHubName} 
    
  2. W pierwszej sesji interfejsu wiersza polecenia uruchom polecenie az iot device simulate . To polecenie uruchamia symulowane urządzenie. Urządzenie wysyła dane telemetryczne do centrum IoT i odbiera z niego komunikaty.

    YourIotHubName. zamień ten symbol zastępczy poniżej na wybraną nazwę centrum IoT Hub.

    az iot device simulate -d simDevice -n {YourIoTHubName}
    

Aby monitorować urządzenie:

  1. W drugiej sesji interfejsu wiersza polecenia uruchom polecenie az iot hub monitor-events . To polecenie stale monitoruje symulowane urządzenie. Dane wyjściowe pokazują dane telemetryczne, takie jak zdarzenia i stan właściwości, które urządzenie symulowane wysyła do centrum IoT.

    YourIotHubName. zamień ten symbol zastępczy poniżej na wybraną nazwę centrum IoT Hub.

    az iot hub monitor-events --output table -p all -n {YourIoTHubName}
    

    Zrzut ekranu przedstawiający monitorowanie zdarzeń na symulowanym urządzeniu.

  2. Po monitorowaniu symulowanego urządzenia w drugiej sesji interfejsu wiersza polecenia naciśnij klawisze Ctrl+C, aby zatrzymać monitorowanie. Zachowaj otwartą drugą sesję interfejsu wiersza polecenia, aby użyć jej w kolejnych krokach.

Wysyłanie komunikatu za pomocą interfejsu wiersza polecenia

W tej sekcji wyślesz komunikat do symulowanego urządzenia.

  1. W pierwszej sesji interfejsu wiersza polecenia upewnij się, że symulowane urządzenie jest nadal uruchomione. Jeśli urządzenie zostanie zatrzymane, uruchom następujące polecenie, aby go uruchomić ponownie:

    YourIotHubName. zamień ten symbol zastępczy poniżej na wybraną nazwę centrum IoT Hub.

    az iot device simulate -d simDevice -n {YourIoTHubName}
    
  2. W drugiej sesji interfejsu wiersza polecenia uruchom polecenie az iot device c2d-message send . To polecenie wysyła komunikat z chmury do urządzenia z centrum IoT Hub do symulowanego urządzenia. Komunikat zawiera ciąg i dwie pary klucz-wartość.

    YourIotHubName. zamień ten symbol zastępczy poniżej na wybraną nazwę centrum IoT Hub.

    az iot device c2d-message send -d simDevice --data "Hello World" --props "key0=value0;key1=value1" -n {YourIoTHubName}
    

    Opcjonalnie możesz wysyłać komunikaty z chmury do urządzenia przy użyciu Azure Portal. Aby to zrobić, przejdź do strony przeglądu dla IoT Hub, wybierz pozycję Urządzenia IoT, wybierz symulowane urządzenie i wybierz pozycję Komunikat do urządzenia.

  3. W pierwszej sesji interfejsu wiersza polecenia upewnij się, że symulowane urządzenie odebrało komunikat.

    Zrzut ekranu przedstawiający symulowane urządzenie odbierające komunikat.

Wywoływanie metody urządzenia przy użyciu interfejsu wiersza polecenia

W tej sekcji wywołasz metodę bezpośrednią na urządzeniu symulowanym.

  1. Jak pokazano wcześniej, upewnij się, że symulowane urządzenie w pierwszej sesji interfejsu wiersza polecenia jest uruchomione. Jeśli nie, uruchom go ponownie.

  2. W drugiej sesji interfejsu wiersza polecenia uruchom polecenie az iot hub invoke-device-method . W tym przykładzie nie ma wstępnie istniejącej metody dla urządzenia. Polecenie wywołuje przykładową nazwę metody na symulowanym urządzeniu i zwraca ładunek.

    YourIotHubName. zamień ten symbol zastępczy poniżej na wybraną nazwę centrum IoT Hub.

    az iot hub invoke-device-method --mn MySampleMethod -d simDevice -n {YourIoTHubName}
    
  3. W pierwszej sesji interfejsu wiersza polecenia potwierdź, że dane wyjściowe zawierają wywołanie metody.

    Zrzut ekranu przedstawiający symulowane urządzenie wyświetlające dane wyjściowe po wywołaniu metody.

Aktualizowanie właściwości urządzenia za pomocą interfejsu wiersza polecenia

W tej sekcji zaktualizujesz stan symulowanego urządzenia, ustawiając wartości właściwości.

  1. Jak pokazano wcześniej, upewnij się, że symulowane urządzenie w pierwszej sesji interfejsu wiersza polecenia jest uruchomione. Jeśli nie, uruchom go ponownie.

  2. W drugiej sesji interfejsu wiersza polecenia uruchom polecenie az iot hub device-twin update . To polecenie aktualizuje właściwości do żądanego stanu bliźniaczej reprezentacji urządzenia centrum IoT, która odpowiada symulowanemu urządzeniu. W tym przypadku polecenie ustawia przykładowe właściwości warunku temperatury.

    Ważne

    Jeśli używasz programu PowerShell w powłoce interfejsu wiersza polecenia, użyj poniższej wersji programu PowerShell. Program PowerShell wymaga ucieczki znaków w ładunku JSON.

    YourIotHubName. zamień ten symbol zastępczy poniżej na wybraną nazwę centrum IoT Hub.

    az iot hub device-twin update -d simDevice --desired '{"conditions":{"temperature":{"warning":98, "critical":107}}}' -n {YourIoTHubName}
    
    az iot hub device-twin update -d simDevice --desired '{\"conditions\":{\"temperature\":{\"warning\":98, \"critical\":107}}}' -n {YourIoTHubName}
    
  3. W pierwszej sesji interfejsu wiersza polecenia upewnij się, że symulowane urządzenie generuje aktualizację właściwości.

    Zrzut ekranu przedstawiający sposób aktualizowania właściwości na urządzeniu.

  4. W drugiej sesji interfejsu wiersza polecenia uruchom polecenie az iot hub device-twin show . To polecenie zgłasza zmiany we właściwościach urządzenia.

    YourIotHubName. zamień ten symbol zastępczy poniżej na wybraną nazwę centrum IoT Hub.

    az iot hub device-twin show -d simDevice --query properties.reported -n {YourIoTHubName}
    

    Zrzut ekranu przedstawiający zaktualizowane właściwości bliźniaczej reprezentacji urządzenia.

Wyświetlanie metryk obsługi komunikatów w portalu

Azure Portal umożliwia zarządzanie wszystkimi aspektami centrum IoT Hub i urządzeń. W typowej aplikacji IoT Hub, która pozyskiwa dane telemetryczne z urządzeń, warto monitorować urządzenia lub wyświetlać metryki danych telemetrycznych urządzenia.

Aby wizualizować metryki obsługi komunikatów w Azure Portal:

  1. W menu nawigacji po lewej stronie w portalu wybierz pozycję Wszystkie zasoby. Ta karta zawiera listę wszystkich zasobów w subskrypcji, w tym utworzonego centrum IoT.

  2. Wybierz link w utworzonym centrum IoT. W portalu zostanie wyświetlona strona przeglądu centrum.

  3. Wybierz pozycję Metryki w lewym okienku IoT Hub.

    IoT Hub metryki obsługi komunikatów

  4. W polu Zakres wprowadź nazwę centrum IoT.

  5. W polu Metryka Przestrzeń nazw wybierz pozycję Metryki standardowe usługi Iot Hub.

  6. W polu Metryka wybierz pozycję Łączna liczba używanych komunikatów.

  7. Umieść wskaźnik myszy na obszarze osi czasu, w którym urządzenie wysyłało komunikaty. Łączna liczba komunikatów w punkcie w czasie pojawia się w lewym dolnym rogu osi czasu.

    Wyświetlanie metryk Azure IoT Hub

  8. Opcjonalnie użyj listy rozwijanej Metryka , aby wyświetlić inne metryki na urządzeniu symulowanym. Na przykład dostarczanie komunikatów C2d zostało ukończone lub Łączna liczba urządzeń (wersja zapoznawcza).

Czyszczenie zasobów

Jeśli nie potrzebujesz już zasobów platformy Azure utworzonych w tym przewodniku Szybki start, możesz je usunąć za pomocą interfejsu wiersza polecenia platformy Azure.

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

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.

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

  1. Uruchom polecenie az group delete . To polecenie usuwa grupę zasobów, centrum IoT i utworzoną rejestrację urządzenia.

    az group delete --name MyResourceGroup
    
  2. Uruchom polecenie az group list , aby potwierdzić usunięcie grupy zasobów.

    az group list
    

Następne kroki

W tym przewodniku Szybki start użyto interfejsu wiersza polecenia platformy Azure do utworzenia centrum IoT Hub, utworzenia symulowanego urządzenia, wysyłania i monitorowania telemetrii, wywoływania metody, ustawiania żądanych właściwości i czyszczenia zasobów. Użyto Azure Portal do wizualizacji metryk obsługi komunikatów na urządzeniu.

Jeśli jesteś deweloperem urządzeń, sugerowanym następnym krokiem jest zapoznanie się z przewodnikiem Szybki start dotyczący telemetrii korzystającym z zestawu SDK urządzenia usługi Azure IoT dla języka C. Opcjonalnie zobacz jeden z dostępnych artykułów szybki start dotyczących telemetrii Azure IoT Hub w preferowanym języku lub zestawie SDK.

Aby dowiedzieć się, jak kontrolować urządzenie symulowane z poziomu aplikacji zaplecza, przejdź do następnego przewodnika Szybki start.