Udostępnij za pomocą


Szybki start: wdrażanie pierwszego modułu usługi IoT Edge na wirtualnym urządzeniu z systemem Linux

Dotyczy:tak ikona usługi IoT Edge 1.1

Ważne

Data zakończenia wsparcia usługi IoT Edge 1.1 wynosiła 13 grudnia 2022 r. Sprawdź cykl życia produktu firmy Microsoft , aby uzyskać informacje na temat sposobu obsługi tego produktu, usługi, technologii lub interfejsu API. Aby uzyskać więcej informacji na temat aktualizowania do najnowszej wersji usługi IoT Edge, zobacz Aktualizowanie usługi IoT Edge.

Przetestuj usługę Azure IoT Edge w tym przewodniku Szybki start, wdrażając konteneryzowany kod na wirtualnym urządzeniu usługi IoT Edge z systemem Linux. Usługa IoT Edge umożliwia zdalne zarządzanie kodem na urządzeniach, aby można było przenieść więcej zadań na brzeg. W tym przewodniku szybkiego startu zalecamy użycie maszyny wirtualnej Azure dla urządzenia IoT Edge, co pozwala szybko utworzyć maszynę testową, a następnie usunąć ją po zakończeniu.

W tym przewodniku Szybki start zawarto informacje na temat wykonywania następujących czynności:

  • Utwórz IoT Hub.
  • Zarejestruj urządzenie IoT Edge do swojego centrum IoT.
  • Zainstaluj i uruchom środowisko uruchomieniowe usługi IoT Edge na urządzeniu wirtualnym.
  • Zdalne wdrażanie modułu na urządzeniu IoT Edge.

Diagram — architektura szybkiego startu dla urządzeń i chmury

Ten przewodnik "Szybki start" przeprowadzi Cię przez proces tworzenia maszyny wirtualnej z systemem Linux skonfigurowanej jako urządzenie IoT Edge. Następnie wdrożysz moduł z witryny Azure Portal na urządzeniu. Moduł używany w tym przewodniku szybkiego startu to symulowany czujnik, który generuje dane dotyczące temperatury, wilgotności i ciśnienia. Inne samouczki usługi Azure IoT Edge opierają się na pracy wykonywanej tutaj, wdrażając dodatkowe moduły analizujące symulowane dane pod kątem analiz biznesowych.

Jeśli nie masz aktywnej subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto .

Wymagania wstępne

Przygotuj środowisko dla Azure CLI.

Zasoby w chmurze:

  • Grupa zasobów do zarządzania wszystkimi zasobami używanymi w tym szybkim starcie. W całym tym przewodniku Szybki start oraz w poniższych samouczkach używamy przykładowej nazwy grupy zasobów IoTEdgeResources.

    az group create --name IoTEdgeResources --location westus2
    

Tworzenie centrum IoT

Rozpocznij szybki start, tworząc centrum IoT za pomocą Azure CLI.

Diagram — tworzenie centrum IoT w chmurze

Poziom bezpłatny usługi IoT Hub wystarcza do tego szybkiego startu. Jeśli w przeszłości użyto usługi IoT Hub i masz już utworzone centrum, możesz użyć tego centrum IoT Hub.

Poniższy kod tworzy bezpłatne centrum F1 w grupie zasobów IoTEdgeResources. Zastąp {hub_name} unikatową nazwą centrum IoT. Utworzenie centrum IoT Hub może potrwać kilka minut.

az iot hub create --resource-group IoTEdgeResources --name {hub_name} --sku F1 --partition-count 2

Jeśli wystąpi błąd, ponieważ w subskrypcji istnieje już jeden darmowy hub, zmień wartość SKU na S1. Każda subskrypcja może mieć tylko jedno bezpłatne centrum IoT. Jeśli wystąpi błąd, że nazwa usługi IoT Hub jest niedostępna, oznacza to, że ktoś inny ma już centrum o tej nazwie. Spróbuj użyć nowej nazwy.

Zarejestruj urządzenie IoT Edge

Zarejestruj urządzenie IoT Edge w nowo utworzonym IoT hub.

Diagram — rejestrowanie urządzenia przy użyciu tożsamości usługi IoT Hub

Utwórz tożsamość urządzenia dla urządzenia IoT Edge, aby umożliwić mu komunikowanie się z centrum IoT. Tożsamość urządzenia jest przechowywana w chmurze, a w celu skojarzenia urządzenia fizycznego z tożsamością urządzenia używane są unikatowe parametry połączenia urządzenia.

Ponieważ urządzenia usługi IoT Edge zachowują się inaczej niż typowe urządzenia IoT, a także mogą być inaczej zarządzane, zadeklaruj tę tożsamość jako należącą do urządzenia usługi IoT Edge za pomocą flagi --edge-enabled.

  1. W usłudze Azure Cloud Shell wprowadź następujące polecenie, aby utworzyć urządzenie o nazwie myEdgeDevice w centrum.

    az iot hub device-identity create --device-id myEdgeDevice --edge-enabled --hub-name {hub_name}
    

    Jeśli wystąpi błąd dotyczący kluczy zasad iothubowner, upewnij się, że usługa Cloud Shell korzysta z najnowszej wersji rozszerzenia azure-iot .

  2. Wyświetl ciąg połączenia dla swojego urządzenia, który łączy urządzenie fizyczne z jego tożsamością w IoT Hub. Zawiera ona nazwę centrum IoT, nazwę urządzenia, a następnie klucz współużytkowany, który uwierzytelnia połączenia między nimi. Ponownie odwołujemy się do tych parametrów połączenia w następnej sekcji podczas konfigurowania urządzenia usługi IoT Edge.

    az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name {hub_name}
    

    Wyświetl ciąg połączenia z danych wyjściowych interfejsu wiersza polecenia

Konfigurowanie urządzenia usługi IoT Edge

Utwórz maszynę wirtualną przy użyciu środowiska uruchomieniowego usługi Azure IoT Edge.

Diagram — uruchamianie środowiska uruchomieniowego na urządzeniu

Środowisko uruchomieniowe usługi IoT Edge jest wdrażane na wszystkich urządzeniach usługi IoT Edge. Składa się ono z trzech składników. Demon zabezpieczeń usługi IoT Edge uruchamia się za każdym razem, gdy urządzenie IoT Edge jest uruchamiane i inicjuje urządzenie, uruchamiając agenta IoT Edge. Agent usługi IoT Edge ułatwia wdrażanie i monitorowanie modułów na urządzeniu usługi IoT Edge, w tym centrum usługi IoT Edge. Centrum usługi IoT Edge zarządza komunikacją między modułami na urządzeniu usługi IoT Edge i między urządzeniem a usługą IoT Hub.

Podczas konfiguracji środowiska uruchomieniowego należy podać parametry połączenia urządzenia. To jest ciąg, który został pobrany z Azure CLI. Ten ciąg kojarzy urządzenie fizyczne z tożsamością urządzenia usługi IoT Edge na platformie Azure.

Wdróż urządzenie IoT Edge

W tej sekcji użyto szablonu usługi Azure Resource Manager do utworzenia nowej maszyny wirtualnej i zainstalowania na niej środowiska uruchomieniowego usługi IoT Edge. Jeśli zamiast tego chcesz użyć własnego urządzenia z systemem Linux, możesz wykonać kroki instalacji opisane w temacie Ręczne aprowizowanie pojedynczego urządzenia usługi IoT Edge z systemem Linux, a następnie wrócić do tego przewodnika Szybki start.

Użyj następującego polecenia CLI, aby utworzyć urządzenie IoT Edge na podstawie przygotowanego szablonu iotedge-vm-deploy.

  • W przypadku użytkowników powłoki bash lub usługi Cloud Shell skopiuj następujące polecenie do edytora tekstów, zastąp tekst zastępczy swoimi informacjami, a następnie skopiuj je do okna powłoki bash lub usługi Cloud Shell:

    az deployment group create \
    --resource-group IoTEdgeResources \
    --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/1.1/edgeDeploy.json" \
    --parameters dnsLabelPrefix='<REPLACE_WITH_VM_NAME>' \
    --parameters adminUsername='azureUser' \
    --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name <REPLACE_WITH_HUB_NAME> -o tsv) \
    --parameters authenticationType='password' \
    --parameters adminPasswordOrKey="<REPLACE_WITH_PASSWORD>"
    
  • W przypadku użytkowników programu PowerShell skopiuj następujące polecenie do okna programu PowerShell, a następnie zastąp tekst zastępczy własnymi informacjami:

    az deployment group create `
    --resource-group IoTEdgeResources `
    --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/1.1/edgeDeploy.json" `
    --parameters dnsLabelPrefix='<REPLACE_WITH_VM_NAME>' `
    --parameters adminUsername='azureUser' `
    --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name <REPLACE_WITH_HUB_NAME> -o tsv) `
    --parameters authenticationType='password' `
    --parameters adminPasswordOrKey="<REPLACE_WITH_PASSWORD>"
    

Ten szablon przyjmuje następujące parametry:

Parametr Opis
grupa zasobów Grupa zasobów, w której zostaną utworzone zasoby. Użyj domyślnych zasobów IoTEdgeResources używanych w tym artykule lub podaj nazwę istniejącej grupy zasobów w ramach subskrypcji.
identyfikator URI szablonu Wskaźnik do szablonu usługi Resource Manager, którego używamy.
dnsLabelPrefix Ciąg, który zostanie użyty do utworzenia nazwy hosta maszyny wirtualnej. Zastąp tekst zastępczy nazwą maszyny wirtualnej.
adminUsername Nazwa użytkownika konta administratora maszyny wirtualnej. Użyj przykładu azureUser lub podaj nową nazwę użytkownika.
deviceConnectionString Parametry połączenia z tożsamości urządzenia w usłudze IoT Hub, która służy do konfigurowania środowiska uruchomieniowego usługi IoT Edge na maszynie wirtualnej. Polecenie interfejsu wiersza polecenia w tym parametrze pobiera parametry połączenia za Ciebie. Zastąp tekst zastępczy nazwą centrum IoT Hub.
typ uwierzytelniania Metoda uwierzytelniania dla konta administratora. W tym przewodniku szybkiego startu używane jest uwierzytelnianie za pomocą hasła, ale możesz również ustawić ten parametr na sshPublicKey.
adminPasswordOrKey Hasło lub wartość klucza SSH dla konta administratora. Zastąp tekst zastępczy bezpiecznym hasłem. Hasło musi mieć długość co najmniej 12 znaków i mieć trzy z czterech z następujących znaków: małe litery, wielkie litery, cyfry i znaki specjalne.

Po zakończeniu wdrażania powinny zostać wyświetlone dane wyjściowe w formacie JSON w interfejsie wiersza polecenia zawierające informacje SSH umożliwiające nawiązanie połączenia z maszyną wirtualną. Skopiuj wartość wpisu public SSH w sekcji outputs:

Pobieranie publicznej wartości SSH z danych wyjściowych

Wyświetlanie stanu środowiska uruchomieniowego usługi IoT Edge

Pozostałe polecenia w tym przewodniku szybkiego startu są wykonywane na urządzeniu IoT Edge, tak aby można zobaczyć, co dzieje się na urządzeniu. Jeśli używasz maszyny wirtualnej, połącz się z tą maszyną teraz przy użyciu skonfigurowanej nazwy użytkownika administratora i nazwy DNS, która była wyjściowa przez polecenie wdrożenia. Nazwę DNS można również znaleźć na stronie przeglądu maszyny wirtualnej w witrynie Azure Portal. Użyj następującego polecenia, aby nawiązać połączenie z maszyną wirtualną. Zastąp {admin username} i {DNS name} własnymi wartościami.

ssh {admin username}@{DNS name}

Po nawiązaniu połączenia z maszyną wirtualną sprawdź, czy środowisko uruchomieniowe zostało pomyślnie zainstalowane i skonfigurowane na urządzeniu usługi IoT Edge.

  1. Sprawdź, czy demon zabezpieczeń usługi IoT Edge jest uruchomiony jako usługa systemowa.

    sudo systemctl status iotedge
    

    Zobacz demona usługi IoT Edge działającego jako usługa systemowa

    Wskazówka

    Uruchomienie poleceń iotedge wymaga podniesionych uprawnień. Po wylogowaniu się z komputera i ponownym zalogowaniu się do niego po raz pierwszy od zainstalowania środowiska uruchomieniowego usługi IoT Edge Twoje uprawnienia zostaną automatycznie zaktualizowane. Do tego czasu używaj sudo przed poleceniami.

  2. Jeśli musisz rozwiązać problemy z usługą, pobierz dzienniki usługi.

    journalctl -u iotedge
    
  3. Wyświetl wszystkie moduły uruchomione na urządzeniu usługi IoT Edge. Ponieważ usługa właśnie została uruchomiona po raz pierwszy, powinien zostać wyświetlony tylko uruchomiony moduł edgeAgent . Moduł edgeAgent działa domyślnie i pomaga zainstalować i uruchomić dodatkowe moduły wdrażane na urządzeniu.

    sudo iotedge list
    

    Wyświetlanie jednego modułu na urządzeniu

Urządzenie usługi IoT Edge jest teraz skonfigurowane. Jest gotowy do uruchamiania modułów wdrożonych w chmurze.

Wdrażanie modułu

Zarządzając urządzeniem usługi Azure IoT Edge z chmury, wdróż moduł przesyłający dane telemetryczne do centrum IoT Hub.

Diagram — wdrażanie modułu z chmury na urządzeniu

Jedną z kluczowych funkcji usługi Azure IoT Edge jest wdrożenie kodu na urządzeniach usługi IoT Edge z chmury. Moduły usługi IoT Edge to pakiety wykonywalne implementowane jako kontenery. W tej sekcji wdrożysz wstępnie utworzony moduł z sekcji Moduły usługi IoT Edge w witrynie Azure Marketplace bezpośrednio z usługi Azure IoT Hub.

Moduł, który wdrożysz w tej sekcji, symuluje czujnik i wysyła wygenerowane dane. Ten moduł jest przydatny, gdy rozpoczyna się pracę z usługą IoT Edge, ponieważ symulowane dane można wykorzystać przy programowaniu i testowaniu. Jeśli chcesz zobaczyć dokładnie, co robi ten moduł, możesz wyświetlić kod źródłowy symulowanego czujnika temperatury.

Wykonaj następujące kroki, aby uruchomić kreatora Ustaw moduły w celu wdrożenia pierwszego modułu z Azure Marketplace.

  1. Zaloguj się do witryny Azure Portal i przejdź do centrum IoT Hub.

  2. Z menu po lewej stronie w obszarze Zarządzanie urządzeniami wybierz pozycję Urządzenia.

  3. Wybierz identyfikator urządzenia docelowego urządzenia usługi IoT Edge z listy.

    Podczas tworzenia nowego urządzenia usługi IoT Edge zostanie wyświetlony kod stanu 417 -- The device's deployment configuration is not set w portalu Azure. Ten stan jest normalny i oznacza, że urządzenie jest gotowe do otrzymania wdrożenia modułu.

  4. Na górnym pasku wybierz pozycję Ustaw moduły.

    Zrzut ekranu przedstawiający wybieranie opcji Ustawianie modułów.

Moduły

Pierwszym krokiem kreatora jest wybranie modułów, które chcesz uruchomić na urządzeniu.

W obszarze Moduły usługi IoT Edge otwórz menu rozwijane Dodaj , a następnie wybierz pozycję Moduł witryny Marketplace.

Zrzut ekranu przedstawiający menu rozwijane Dodaj.

Na platformie Marketplace modułów IoT Edge, wyszukaj i wybierz moduł.Simulated Temperature Sensor Moduł zostanie dodany do sekcji Moduły usługi IoT Edge z żądanym stanem uruchomienia .

Wybierz Dalej: Trasy, aby kontynuować do następnego kroku kreatora.

Zrzut ekranu przedstawiający przejście do następnego kroku po dodaniu modułu.

Trasy

Trasa o nazwie SimulatedTemperatureSensorToIoTHub została utworzona automatycznie po dodaniu modułu z witryny Azure Marketplace. Ta trasa wysyła wszystkie komunikaty z modułu symulowanej temperatury do usługi IoT Hub.

Zrzut ekranu przedstawiający usuwanie trasy domyślnej, a następnie przejście do następnego kroku.

Wybierz Dalej: Przejrzyj i utwórz.

Przeglądanie i tworzenie

Przejrzyj plik JSON, a następnie wybierz pozycję Utwórz. Plik JSON definiuje wszystkie moduły wdrażane na urządzeniu usługi IoT Edge. Zobaczysz moduł SimulatedTemperatureSensor i dwa moduły środowiska uruchomieniowego edgeAgent i edgeHub.

Uwaga

Podczas przesyłania nowego wdrożenia na urządzenie usługi IoT Edge do urządzenia nie jest przesyłane nic. Nie jest to konieczne, ponieważ urządzenie regularnie wysyła do usługi IoT Hub zapytania w celu odebrania wszelkich nowych instrukcji. Jeśli urządzenie znajdzie zaktualizowany manifest wdrożenia, użyje informacji o nowym wdrożeniu, aby ściągnąć obrazy modułów z chmury, a następnie zacznie uruchamiać moduły lokalnie. Proces może potrwać kilka minut.

Po utworzeniu szczegółów wdrożenia modułu zostaniesz przekierowany z powrotem na stronę szczegółów urządzenia. Wyświetl stan wdrożenia na karcie Moduły .

Powinny zostać wyświetlone trzy moduły: $edgeAgent, $edgeHub i SimulatedTemperatureSensor. Jeśli co najmniej jeden moduł ma wartość TAK w obszarze OKREŚLONE WE WDROŻENIU , ale nie w obszarze ZGŁOSZONE PRZEZ URZĄDZENIE, urządzenie usługi IoT Edge nadal je uruchamia. Poczekaj kilka minut, a następnie odśwież stronę.

Zrzut ekranu przedstawiający symulowany czujnik temperatury na liście wdrożonych modułów.

Wyświetlanie wygenerowanych danych

W tym szybkim przewodniku utworzono nowe urządzenie IoT Edge i zainstalowano na nim środowisko uruchomieniowe IoT Edge. Następnie użyto witryny Azure Portal do wdrożenia modułu usługi IoT Edge w celu uruchomienia go na urządzeniu bez konieczności wprowadzenia zmian na samym urządzeniu.

W takim przypadku wypchnięty moduł generuje przykładowe dane środowiska, których można użyć do testowania później. Symulowany czujnik monitoruje maszynę i środowisko wokół maszyny. Na przykład ten czujnik może być umieszczony w serwerowni, w hali fabrycznej lub na turbinie wiatrowej. Komunikat zawiera temperaturę i wilgotność otoczenia, temperaturę maszyny, ciśnienie oraz znacznik czasu. W samouczkach usługi IoT Edge dane utworzone przez ten moduł są używane jako dane testowe do analizy.

Otwórz wiersz polecenia na urządzeniu IoT Edge lub użyj połączenia SSH z interfejsu wiersza polecenia Azure. Upewnij się, że moduł wdrożony z chmury jest uruchomiony na urządzeniu usługi IoT Edge:

sudo iotedge list

Wyświetlanie trzech modułów na urządzeniu

Wyświetl komunikaty wysyłane z modułu czujnika temperatury:

sudo iotedge logs SimulatedTemperatureSensor -f

Wskazówka

Przy odwoływaniu się do nazw modułów w poleceniach usługi IoT Edge jest rozróżniana wielkość liter.

Wyświetlanie danych z modułu

Możesz również obserwować, jak komunikaty docierają do centrum IoT Hub przy użyciu rozszerzenia usługi Azure IoT Hub dla programu Visual Studio Code.

Czyszczenie zasobów

Jeśli chcesz przejść do samouczków dotyczących IoT Edge, możesz użyć urządzenia, które zostało zarejestrowane i skonfigurowane w tym szybkim starcie. W przeciwnym razie możesz usunąć utworzone zasoby platformy Azure, aby uniknąć naliczania opłat.

Jeśli maszyna wirtualna i centrum IoT Hub zostały utworzone w nowej grupie zasobów, możesz usunąć tę grupę i wszystkie powiązane zasoby. Sprawdź dokładnie zawartość grupy zasobów, aby się upewnić, że nie ma w niej żadnych elementów, które chcesz zachować. Jeśli nie chcesz usuwać całej grupy, możesz usunąć poszczególne zasoby.

Ważne

Usunięcie grupy zasobów jest nieodwracalne.

Usuń grupę IoTEdgeResources . Usunięcie grupy zasobów może potrwać kilka minut.

az group delete --name IoTEdgeResources --yes

Możesz potwierdzić, że grupa zasobów została usunięta, wyświetlając listę grup zasobów.

az group list

Następne kroki

W tym szybkim starcie utworzono urządzenie IoT Edge i wdrożono na nim kod przez interfejs chmury Azure IoT Edge. Masz teraz urządzenie testowe generujące dane pierwotne dotyczące jego otoczenia.

W następnym samouczku dowiesz się, jak monitorować aktywność i stan urządzenia z poziomu portalu Azure.