Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Applies to:
IoT Edge 1.5
Ważne
IoT Edge 1.5 LTS to wspierana wersja. IoT Edge 1.4 LTS osiągnął koniec życia 12 listopada 2024 r. Jeśli używasz wcześniejszej wersji, zobacz Update IoT Edge.
Spróbuj Azure IoT Edge w tym szybkim przewodniku, wdrażając konteneryzowany kod na wirtualnym urządzeniu IoT Edge z systemem Linux. IoT Edge pozwala na zdalne zarządzanie kodem na urządzeniach, co umożliwia przeniesienie większej liczby obciążeń na urządzenia brzegowe. W tym poradniku szybkiego startu użyj maszyny wirtualnej platformy Azure dla urządzenia IoT Edge. Umożliwia szybkie utworzenie maszyny testowej i usunięcie jej 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 w centrum IoT.
- Zainstaluj i uruchom środowisko uruchomieniowe IoT Edge na urządzeniu wirtualnym.
- Zdalne wdrażanie modułu na urządzeniu IoT Edge.
Ten szybki przewodnik pokaże Ci, jak utworzyć wirtualną maszynę Linux zaprojektowaną jako urządzenie IoT Edge. Następnie wdrożysz moduł z portalu Azure na urządzeniu. Ten szybki start używa symulowanego czujnika modułu, który generuje dane dotyczące temperatury, wilgotności i ciśnienia. Inne samouczki Azure IoT Edge nawiązują do pracy wykonanej tutaj, wdrażając dodatkowe moduły analizujące symulowane dane, umożliwiających uzyskanie wglądu w biznes.
Jeśli nie masz aktywnej subskrypcji Azure, przed rozpoczęciem utwórz konto free.
Prerequisites
Skonfiguruj środowisko dla Azure CLI.
Użyj środowiska powłoki Bash w Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Rozpocznij pracę z Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia odniesienia interfejsu wiersza polecenia lokalnie, zainstaluj Azure CLI. Jeśli korzystasz z Windows lub macOS, rozważ uruchomienie Azure CLI w kontenerze platformy Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić Azure CLI w kontenerze platformy Docker.
Jeśli używasz instalacji lokalnej, zaloguj się do Azure CLI przy użyciu polecenia az login. Aby zakończyć proces uwierzytelniania, wykonaj kroki wyświetlane na Twoim terminalu. Aby uzyskać inne opcje logowania, zobacz Uwierzytelnianie w Azure za pomocą Azure CLI.
Po wyświetleniu monitu zainstaluj rozszerzenie Azure CLI podczas pierwszego użycia. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Używanie rozszerzeń i zarządzanie nimi za pomocą Azure CLI.
Uruchom az version, aby sprawdzić zainstalowaną wersję i biblioteki zależne. Aby zaktualizować do najnowszej wersji, uruchom az upgrade.
Grupa zasobów do zarządzania wszystkimi zasobami używanymi w tym szybkim przewodniku. W tym przewodniku Szybki start i poniższych samouczkach użyto przykładowej nazwy grupy zasobów IoTEdgeResources.
az group create --name IoTEdgeResources --location westus2
Utwórz IoT Hub
Rozpocznij szybki start, tworząc IoT Hub przy użyciu Azure CLI.
Bezpłatna warstwa IoT Hub działa na potrzeby tego szybkiego startu. Jeśli w przeszłości użyto IoT Hub i masz już utworzone centrum, możesz użyć tego IoT hub.
Poniższy kod tworzy bezpłatne centrum F1 w grupie zasobów IoTEdgeResources. Zastąp <hub-name> unikatową nazwą IoT Hub. Tworzenie 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 bezpłatny IoT Hub, zmień jednostkę SKU na S1. Każda subskrypcja może zawierać tylko jeden bezpłatny IoT hub. Jeśli wystąpi błąd, że nazwa IoT Hub jest niedostępna, oznacza to, że ktoś inny ma już centrum o tej nazwie. Spróbuj użyć nowej nazwy.
Rejestrowanie urządzenia IoT Edge
Zarejestruj urządzenie IoT Edge w centrum IoT, które właśnie utworzyłeś.
Utwórz tożsamość urządzenia dla urządzenia IoT Edge, aby mogła komunikować się z centrum IoT Hub. Tożsamość urządzenia znajduje się w chmurze i używasz unikatowego łańcucha połączenia urządzenia do skojarzenia urządzenia fizycznego z tożsamością urządzenia.
Ponieważ urządzenia IoT Edge zachowują się i są zarządzane inaczej niż typowe urządzenia IoT, zadeklaruj tę tożsamość jako urządzenie IoT Edge przy użyciu flagi --edge-enabled.
Wprowadź następujące polecenie w Azure Cloud Shell, 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 związany z kluczami polityki iothubowner, upewnij się, że w Cloud Shell jest uruchomiona najnowsza wersja rozszerzenia azure-iot.
Sprawdź łańcuch połączenia dla urządzenia, które łączy urządzenie fizyczne z jego tożsamością w IoT Hub. Zawiera ona nazwę IoT Hub, nazwę urządzenia i klucz współużytkowany, który uwierzytelnia połączenia między nimi. Ponownie użyjesz tego łańcucha połączenia w następnej sekcji, aby skonfigurować urządzenie IoT Edge.
az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name <hub-name>Na przykład łańcuch połączenia powinien wyglądać podobnie do
HostName=contoso-hub.azure-devices.net;DeviceId=myEdgeDevice;SharedAccessKey=<DEVICE-SHARED-ACCESS-KEY>.
Konfigurowanie urządzenia IoT Edge
Utwórz maszynę wirtualną za pomocą środowiska uruchomieniowego Azure IoT Edge.
Środowisko uruchomieniowe IoT Edge jest wdrażane na wszystkich urządzeniach IoT Edge i ma trzy składniki. Daemon zabezpieczeń IoT Edge jest uruchamiany za każdym razem, gdy urządzenie IoT Edge uruchamia się, i inicjuje pracę agenta IoT Edge. Agent IoT Edge ułatwia wdrażanie i monitorowanie modułów na urządzeniu IoT Edge, w tym centrum IoT Edge. Centrum IoT Edge hub zarządza komunikacją między modułami na urządzeniu IoT Edge oraz między urządzeniem a IoT Hub.
Podczas konfigurowania środowiska uruchomieniowego podaj ciąg połączenia urządzenia. Ten ciąg jest pobierany z Azure CLI. Ten ciąg kojarzy urządzenie fizyczne z tożsamością urządzenia IoT Edge w Azure.
Wdrażanie urządzenia IoT Edge
W tej sekcji użyto szablonu Azure Resource Manager do utworzenia nowej maszyny wirtualnej i zainstalowania na niej środowiska uruchomieniowego IoT Edge. Jeśli zamiast tego chcesz użyć własnego urządzenia z systemem Linux, możesz wykonać kroki instalacji opisane w temacie Manually provision a single Linux IoT Edge device a następnie wróć do tego przewodnika Szybki start.
Użyj przycisku Wdróż do Azure lub poleceń interfejsu wiersza polecenia, aby utworzyć urządzenie IoT Edge na podstawie gotowego szablonu iotedge-vm-deploy.
Wdróż przy użyciu szablonu IoT Edge Azure Resource Manager.
W przypadku użytkowników powłoki bash lub 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 Cloud Shell:
az deployment group create \ --resource-group IoTEdgeResources \ --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/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/main/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:
| Parameter | Opis |
|---|---|
| resource-group | Grupa zasobów, w której są tworzone zasoby. Użyj domyślnych zasobów IoTEdgeResources używanych w tym artykule lub podaj nazwę istniejącej grupy zasobów w ramach subskrypcji. |
| template-uri | Wskaźnik do szablonu Resource Manager, którego używamy. |
| dnsLabelPrefix | Ciąg używany do tworzenia 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 | Ciąg połączenia pochodzący z tożsamości urządzenia w IoT Hub, który służy do konfigurowania środowiska uruchomieniowego IoT Edge na maszynie wirtualnej. W tym parametrze, polecenie CLI pobiera łańcuch połączenia za Ciebie. Zastąp tekst zastępczy nazwą centrum IoT Hub. |
| typUwierzytelnienia | Metoda uwierzytelniania dla konta administratora. W tym szybkim przewodniku stosowane jest uwierzytelnianie za pomocą hasła, ale można również ustawić ten parametr na klucz publiczny SSH. |
| 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 dane wyjściowe w formacie JSON w interfejsie wiersza polecenia zawierają informacje SSH umożliwiające nawiązanie połączenia z maszyną wirtualną. Skopiuj wartość publicznego wpisu SSH sekcji danych wyjściowych . Na przykład polecenie SSH powinno wyglądać podobnie do ssh azureUser@edge-vm.westus2.cloudapp.azure.com.
Wyświetlanie stanu środowiska uruchomieniowego IoT Edge
Pozostałe polecenia w tym szybkim starcie są wykonywane bezpośrednio na urządzeniu IoT Edge, aby móc obserwować, co się dzieje 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 portalu Azure. 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 IoT Edge.
Sprawdź, czy IoT Edge jest uruchomiona. Następujące polecenie zwraca stan Ok jeśli IoT Edge jest uruchomiony lub zawiera błędy usługi.
sudo iotedge system statusWskazówka
Uruchomienie poleceń
iotedgewymaga podniesionych uprawnień. Po wylogowaniu się z maszyny i ponownym zalogowaniu się po raz pierwszy po zainstalowaniu środowiska uruchomieniowego IoT Edge twoje uprawnienia zostaną automatycznie zaktualizowane. Do tego czasu użyjsudoprzed poleceniami.Jeśli potrzebujesz rozwiązać problem z usługą, pobierz jej dzienniki.
sudo iotedge system logsWyświetl wszystkie moduły uruchomione na urządzeniu IoT Edge. Ponieważ usługa została właśnie uruchomiona po raz pierwszy, tylko moduł edgeAgent powinien być widoczny jako uruchomiony. Moduł edgeAgent działa domyślnie i pomaga zainstalować i uruchomić dodatkowe moduły wdrażane na urządzeniu.
sudo iotedge list
Urządzenie IoT Edge jest teraz skonfigurowane. Jest gotowy do uruchamiania modułów wdrożonych w chmurze.
Wdrażanie modułu
Zarządzanie urządzeniem Azure IoT Edge z chmury w celu wdrożenia modułu wysyłającego dane telemetryczne urządzenia do IoT Hub.
Kluczową możliwością Azure IoT Edge jest wdrażanie kodu na urządzeniach IoT Edge z chmury. moduły IoT Edge to pakiety wykonywalne implementowane jako kontenery. W tej sekcji wdrożysz wstępnie utworzony moduł z sekcji modułów IoT Edge w usłudze Microsoft Artifact Registry.
Moduł wdrażany w tej sekcji symuluje czujnik i wysyła wygenerowane dane. Ten moduł jest przydatnym fragmentem kodu podczas rozpoczynania pracy z IoT Edge, ponieważ możesz używać symulowanych danych do programowania i testowania. Jeśli chcesz dokładnie zobaczyć, co robi ten moduł, możesz wyświetlić kod źródłowy symulowanego czujnika temperatury.
Wykonaj następujące kroki, aby wdrożyć pierwszy moduł.
Zaloguj się do portalu Azure i przejdź do IoT Hub.
Z menu po lewej stronie w obszarze Device Management wybierz pozycję Urządzenia.
Wybierz z listy identyfikator urządzenia docelowego IoT Edge.
Podczas tworzenia nowego urządzenia IoT Edge zostanie wyświetlony kod stanu
417 -- The device's deployment configuration is not setw portalu Azure. Ten stan jest normalny i oznacza, że urządzenie jest gotowe do otrzymania wdrożenia modułu.Na górnym pasku wybierz pozycję Ustaw moduły.
Wybierz moduły, które chcesz uruchomić na urządzeniu. Możesz wybrać moduły utworzone samodzielnie lub obrazy w rejestrze kontenerów. W tym krótkim wprowadzeniu wdrożysz moduł z rejestru kontenerów firmy Microsoft.
W sekcji IoT Edge modules wybierz Add a następnie wybierz pozycję IoT Edge Module.
Zaktualizuj następujące ustawienia modułu:
Ustawienie Wartość Nazwa modułu IoT SimulatedTemperatureSensorIdentyfikator URI obrazu mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:latestZasady ponownego uruchamiania zawsze Żądany stan running Wybierz pozycję Dalej: trasy , aby kontynuować konfigurowanie tras.
Dodaj trasę, która wysyła wszystkie komunikaty z modułu symulowanej temperatury do IoT Hub.
Ustawienie Wartość Name SimulatedTemperatureSensorToIoTHubWartość FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstreamWybierz Dalej: Przejrzyj i utwórz.
Przejrzyj plik JSON, a następnie wybierz pozycję Utwórz. Plik JSON definiuje wszystkie moduły wdrażane na urządzeniu IoT Edge.
Uwaga
Po przesłaniu nowego wdrożenia na urządzenie IoT Edge nic nie jest wysyłane do urządzenia. Zamiast tego urządzenie wysyła zapytania IoT Hub regularnie w celu uzyskania nowych instrukcji. Jeśli urządzenie znajdzie zaktualizowany manifest wdrożenia, używa informacji o nowym wdrożeniu w celu ściągnięcia obrazów modułów z chmury, a następnie uruchamia moduły lokalnie. Proces może potrwać kilka minut.
Po utworzeniu szczegółów wdrożenia modułu, zostaniesz przeniesiony 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 Yes w obszarze Określony we wdrożeniu ale nie w Raportowane przez urządzenie urządzenie IoT Edge nadal je uruchamia. Poczekaj kilka minut i odśwież stronę.
Jeśli masz problemy z wdrażaniem modułów, dowiedz się więcej w Rozwiązywanie problemów z urządzeniami IoT Edge z portalu Azure.
Wyświetlanie wygenerowanych danych
W tym przewodniku Szybki start utworzysz nowe urządzenie IoT Edge i zainstalujesz na nim środowisko uruchomieniowe IoT Edge. Następnie użyjesz portalu Azure, aby wdrożyć moduł IoT Edge do uruchomienia na urządzeniu bez wprowadzania zmian w 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 zarówno maszynę, jak i środowisko wokół maszyny. Na przykład ten czujnik może znajdować się w serwerowni, na hali produkcyjnej lub na turbinie wiatrowej. Komunikat zawiera temperaturę otoczenia i wilgotność, temperaturę i ciśnienie maszyny oraz znacznik czasu. W samouczkach IoT Edge dane utworzone w tym module są używane jako dane testowe na potrzeby analizy.
Otwórz wiersz polecenia na urządzeniu IoT Edge lub użyj połączenia SSH z Azure CLI. Upewnij się, że moduł wdrożony z chmury jest uruchomiony na urządzeniu IoT Edge:
sudo iotedge list
Wyświetl komunikaty wysyłane z modułu czujnika temperatury:
sudo iotedge logs SimulatedTemperatureSensor -f
Wskazówka
Polecenia IoT Edge rozróżniają wielkość liter, odwołując się do nazw modułów.
Uprzątnij zasoby
Aby kontynuować pracę z samouczkami IoT Edge, użyj urządzenia, które zarejestrowałeś i skonfigurowałeś w tym przewodniku szybkiego startu. W przeciwnym razie usuń utworzone zasoby Azure, aby uniknąć naliczania opłat.
Jeśli utworzono maszynę wirtualną i centrum IoT Hub w nowej grupie zasobów, możesz usunąć grupę i wszystkie skojarzone zasoby. Sprawdź dokładnie zawartość grupy zasobów, aby upewnić się, że nie ma nic, co chcesz zachować. Jeśli nie chcesz usuwać całej grupy, możesz zamiast tego 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
Upewnij się, że grupa zasobów została usunięta, wyświetlając listę grup zasobów.
az group list
Dalsze kroki
W tym szybkim przewodniku utworzono urządzenie IoT Edge i użyto interfejsu Azure IoT Edge do wdrożenia kodu na urządzeniu. Teraz używasz urządzenia testowego, które generuje nieprzetworzone dane dotyczące jego środowiska.
W następnym samouczku dowiesz się, jak monitorować aktywność i kondycję urządzenia z poziomu portalu Azure.