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.
Dotyczy:
IoT Edge 1.5
Important
Obsługiwana wersja usługi IoT Edge 1.5 LTS. Usługa IoT Edge 1.4 LTS kończy się od 12 listopada 2024 r. Jeśli korzystasz z wcześniejszej wersji, zobacz Aktualizacja IoT Edge.
Wypróbuj 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, dzięki czemu można wysyłać więcej obciążeń na brzeg. Na potrzeby tego przewodnika Szybki start użyj maszyny wirtualnej platformy Azure dla urządzenia usługi 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 usługi IoT Edge w centrum IoT Hub.
- Zainstaluj i uruchom środowisko uruchomieniowe usługi IoT Edge na urządzeniu wirtualnym.
- Zdalne wdrażanie modułu na urządzeniu usługi IoT Edge.
Ten przewodnik Szybki start przeprowadzi Cię przez proces tworzenia maszyny wirtualnej z systemem Linux skonfigurowanej jako urządzenie usługi IoT Edge. Następnie wdrożysz moduł z witryny Azure Portal na urządzeniu. W tym przewodniku Szybki start jest używany symulowany moduł czujnika, 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 .
Prerequisites
Skonfiguruj środowisko dla interfejsu wiersza polecenia platformy Azure.
Użyj środowiska Bash w Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Get started with 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 Azure CLI w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić Azure CLI w kontenerze Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do Azure CLI za pomocą polecenia az login. Aby zakończyć proces uwierzytelniania, wykonaj kroki wyświetlane na Twoim 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 zaktualizować do najnowszej wersji, uruchom az upgrade.
Grupa zasobów do zarządzania wszystkimi zasobami używanymi w tym przewodniku Szybki start. 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 centrum IoT
Rozpocznij przewodnik Szybki start, tworząc centrum IoT Hub przy użyciu interfejsu wiersza polecenia platformy Azure.
Warstwa Bezpłatna usługi IoT Hub działa na potrzeby tego przewodnika Szybki start. 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ą usługi IoT Hub. Tworzenie usługi 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ż jedna bezpłatna usługa IoT Hub, zmień jednostkę SKU na S1. Każda subskrypcja może zawierać tylko jedno bezpłatne centrum IoT Hub. 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.
Rejestrowanie urządzenia usługi IoT Edge
Zarejestruj urządzenie usługi IoT Edge przy użyciu właśnie utworzonego centrum IoT Hub.
Utwórz tożsamość urządzenia dla urządzenia usługi IoT Edge, aby mogła komunikować się z centrum IoT Hub. Tożsamość urządzenia znajduje się w chmurze i używasz unikatowych parametrów połączenia urządzenia do skojarzenia urządzenia z tożsamością urządzenia.
Ponieważ urządzenia usługi IoT Edge zachowują się i są zarządzane inaczej niż typowe urządzenia IoT, zadeklaruj tę tożsamość jako urządzenie usługi IoT Edge przy użyciu flagi --edge-enabled .
Wprowadź następujące polecenie w usłudze 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 dotyczący kluczy zasad iothubowner , upewnij się, że usługa Cloud Shell korzysta z najnowszej wersji rozszerzenia azure-iot .
Sprawdź parametry połączenia urządzenia, które łączą urządzenie fizyczne z jego tożsamością w usłudze IoT Hub. Zawiera ona nazwę centrum IoT Hub, nazwę urządzenia oraz klucz współużytkowany, który uwierzytelnia połączenia między nimi. Użyj ponownie tych parametrów połączenia w następnej sekcji, aby skonfigurować urządzenie usługi IoT Edge.
az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name <hub-name>Na przykład parametry połączenia powinny wyglądać podobnie do
HostName=contoso-hub.azure-devices.net;DeviceId=myEdgeDevice;SharedAccessKey=<DEVICE-SHARED-ACCESS-KEY>.
Konfigurowanie urządzenia usługi IoT Edge
Utwórz maszynę wirtualną za pomocą środowiska uruchomieniowego usługi Azure IoT Edge.
Środowisko uruchomieniowe usługi IoT Edge jest wdrażane na wszystkich urządzeniach usługi IoT Edge i ma trzy składniki. Demon zabezpieczeń usługi IoT Edge uruchamia się za każdym razem, gdy urządzenie usługi IoT Edge uruchamia i uruchamia urządzenie, uruchamiając agenta usługi 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 konfigurowania środowiska uruchomieniowego podaj parametry połączenia urządzenia. Ten ciąg jest pobierany z interfejsu wiersza polecenia platformy Azure. Ten ciąg kojarzy urządzenie fizyczne z tożsamością urządzenia usługi IoT Edge na platformie Azure.
Wdrażanie urządzenia usługi 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 przycisku Wdróż na platformie Azure lub poleceń interfejsu wiersza polecenia, aby utworzyć urządzenie usługi IoT Edge na podstawie wstępnie utworzonego szablonu iotedge-vm-deploy .
Wdrażanie przy użyciu szablonu usługi Azure Resource Manager usługi IoT Edge.
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/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 | Description |
|---|---|
| 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 usługi 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 | Parametry połączenia z tożsamości urządzenia w usłudze IoT Hub, które służą do konfigurowania środowiska uruchomieniowego usługi IoT Edge na maszynie wirtualnej. Polecenie interfejsu wiersza polecenia w tym parametrze pobiera parametry połączenia. Zastąp tekst zastępczy nazwą centrum IoT Hub. |
| authenticationType | Metoda uwierzytelniania dla konta administratora. W tym przewodniku Szybki start jest używane uwierzytelnianie haseł , ale można również ustawić ten parametr na wartość 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 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 usługi IoT Edge
Pozostałe polecenia w tym przewodniku Szybki start odbywają się na samym urządzeniu usługi IoT Edge, aby zobaczyć, 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 witrynie Azure Portal. Użyj następującego polecenia, aby nawiązać połączenie z maszyną wirtualną. Zastąp <admin-username> wartości 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.
Sprawdź, czy usługa IoT Edge jest uruchomiona. Następujące polecenie zwraca stan Ok , jeśli usługa IoT Edge jest uruchomiona lub zawiera błędy usługi.
sudo iotedge system statusTip
Do uruchamiania
iotedgepoleceń potrzebne są podniesione uprawnienia. Po wylogowaniu się z maszyny i ponownym zalogowaniu się po raz pierwszy po zainstalowaniu środowiska uruchomieniowego usługi IoT Edge twoje uprawnienia zostaną automatycznie zaktualizowane. Do tego czasu użyjsudopolecenia przed 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 usługi 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 usługi IoT Edge jest teraz skonfigurowane. Jest gotowy do uruchamiania modułów wdrożonych w chmurze.
Wdrażanie modułu
Zarządzanie urządzeniem usługi Azure IoT Edge z chmury w celu wdrożenia modułu wysyłającego dane telemetryczne urządzenia do usługi IoT Hub.
Kluczową możliwością usługi Azure IoT Edge jest wdrażanie 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 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 usługą IoT Edge, ponieważ możesz używać symulowanych danych do programowania i testowania. 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 wdrożyć pierwszy moduł.
Zaloguj się do witryny Azure Portal i przejdź do centrum IoT Hub.
Z menu po lewej stronie w obszarze Zarządzanie urządzeniami wybierz pozycję Urządzenia.
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
417 -- The device's deployment configuration is not setstanu w witrynie Azure Portal. 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 przewodniku Szybki start wdrożysz moduł z rejestru kontenerów firmy Microsoft.
W sekcji Moduły usługi IoT Edge wybierz pozycję Dodaj , a następnie wybierz pozycję Moduł usługi IoT Edge.
Zaktualizuj następujące ustawienia modułu:
Setting Value Nazwa modułu IoT SimulatedTemperatureSensorIdentyfikator URI obrazu mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:latestZasady ponownego uruchamiania always Żą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 usługi IoT Hub.
Setting Value Name SimulatedTemperatureSensorToIoTHubValue 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 usługi IoT Edge.
Note
Po przesłaniu nowego wdrożenia do urządzenia usługi IoT Edge nic nie zostanie wypchnięte na urządzenie. Zamiast tego urządzenie regularnie wysyła zapytanie do usługi IoT Hub 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 kreator powróci do strony 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łaszane przez urządzenie, urządzenie usługi 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 temacie Rozwiązywanie problemów z urządzeniami usługi IoT Edge w witrynie Azure Portal.
Wyświetlanie wygenerowanych danych
W tym przewodniku Szybki start utworzysz nowe urządzenie usługi IoT Edge i zainstalujesz na nim środowisko uruchomieniowe usługi IoT Edge. Następnie użyjesz witryny Azure Portal do wdrożenia modułu usługi 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. Samouczki usługi IoT Edge używają danych utworzonych przez ten moduł jako danych testowych do analizy.
Otwórz wiersz polecenia na urządzeniu usługi IoT Edge lub użyj połączenia SSH z poziomu interfejsu wiersza polecenia platformy Azure. Upewnij się, że moduł wdrożony z chmury jest uruchomiony na urządzeniu usługi IoT Edge:
sudo iotedge list
Wyświetl komunikaty wysyłane z modułu czujnika temperatury:
sudo iotedge logs SimulatedTemperatureSensor -f
Tip
W przypadku odwoływania się do nazw modułów w poleceniach usługi IoT Edge uwzględniana jest wielkość liter.
Uprzątnij zasoby
Aby kontynuować pracę z samouczkami usługi IoT Edge, użyj zarejestrowanego urządzenia i skonfigurowania go w tym przewodniku Szybki start. W przeciwnym razie usuń utworzone zasoby platformy 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.
Important
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 przewodniku Szybki start utworzono urządzenie usługi IoT Edge i użyto interfejsu chmury usługi 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 w witrynie Azure Portal.