Szybki start: wdrażanie pierwszego modułu usługi IoT Edge na urządzeniu z systemem Windows
Dotyczy: IoT Edge 1.5 IoT Edge 1.4
Ważne
Obsługiwane są wersje usługi IoT Edge 1.5 LTS i IoT Edge 1.4 LTS. Usługa IoT Edge 1.4 LTS kończy się 12 listopada 2024 r. Jeśli korzystasz z wcześniejszej wersji, zobacz aktualizację Azure IoT Edge.
Wypróbuj usługę Azure IoT Edge w tym przewodniku Szybki start, wdrażając kod konteneryzowany na urządzeniu z systemem Linux na urządzeniu usługi IoT Edge z systemem Windows. 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. W tym przewodniku Szybki start zalecamy używanie własnego urządzenia klienckiego z systemem Windows, aby zobaczyć, jak łatwo jest używać usługi Azure IoT Edge dla systemu Linux w systemie Windows. Jeśli chcesz użyć systemu Windows Server lub maszyny wirtualnej platformy Azure do utworzenia wdrożenia, wykonaj kroki opisane w przewodniku z instrukcjami dotyczącymi instalowania i aprowizacji usługi Azure IoT Edge dla systemu Linux na urządzeniu z systemem Windows.
W tym przewodniku Szybki start zawarto informacje na temat wykonywania następujących czynności:
- Utwórz centrum IoT.
- Rejestrowanie urządzenia usługi IoT Edge w centrum IoT Hub.
- Zainstaluj i uruchom usługę IoT Edge dla systemu Linux w środowisku uruchomieniowym systemu Windows na urządzeniu.
- Zdalne wdrażanie modułu na urządzeniu usługi IoT Edge i wysyłanie danych telemetrycznych.
Ten przewodnik Szybki start przeprowadzi Cię przez proces konfigurowania usługi Azure IoT Edge dla systemu Linux na urządzeniu z systemem Windows. Następnie wdrożysz moduł z witryny Azure Portal na urządzeniu. Używany moduł to symulowany czujnik, który generuje dane temperatury, wilgotności i ciśnienia. Inne samouczki usługi Azure IoT Edge opierają się na pracy wykonywanej tutaj, wdrażając 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
Przygotowanie środowiska do interfejsu wiersza polecenia platformy Azure.
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 podczas pierwszego użycia. 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.
Utwórz grupę zasobów w chmurze, aby zarządzać wszystkimi zasobami, których użyjesz w tym przewodniku Szybki start.
az group create --name IoTEdgeResources --location westus2
Upewnij się, że urządzenie usługi IoT Edge spełnia następujące wymagania:
Wymagania systemowe
- Windows 101/11 (Pro, Enterprise, IoT Enterprise) 1 Windows 10 minimalna kompilacja 17763 z zainstalowanymi wszystkimi bieżącymi aktualizacjami zbiorczymi.
Wymagania sprzętowe
- Minimalna ilość wolnej pamięci: 1 GB
- Minimalna ilość wolnego miejsca na dysku: 10 GB
Tworzenie centrum IoT
Zacznij od utworzenia centrum IoT za pomocą interfejsu wiersza polecenia platformy Azure.
Bezpłatny poziom usługi Azure 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 IoTEdgeResources
zasobów . Zastąp {hub_name}
element unikatową nazwą centrum IoT Hub. 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ż masz już jedno bezpłatne centrum w subskrypcji, zmień jednostkę SKU na S1
. Jeśli wystąpi błąd, że nazwa centrum IoT jest niedostępna, ktoś inny ma już centrum o tej nazwie. Wypróbuj nową nazwę.
Rejestracja urządzenia usługi IoT Edge
Zarejestruj urządzenie usługi IoT Edge, korzystając z nowo utworzonego centrum IoT.
Utwórz tożsamość urządzenia symulowanego, aby umożliwić mu komunikowanie się z centrum IoT Hub. 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.
Urządzenia usługi IoT Edge zachowują się i mogą być zarządzane inaczej niż typowe urządzenia IoT. Użyj flagi --edge-enabled
, aby zadeklarować, że ta tożsamość dotyczy urządzenia usługi IoT Edge.
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
iothubowner
kluczy zasad, upewnij się, że usługa Cloud Shell korzysta z najnowszej wersji rozszerzenia usługi Azure IoT.Wyświetl parametry połączenia dla urządzenia, który łączy 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.
az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name {hub_name}
Skopiuj wartość klucza
connectionString
z danych wyjściowych JSON i zapisz ją. Ta wartość to parametry połączenia urządzenia. Użyjesz go do skonfigurowania środowiska uruchomieniowego usługi IoT Edge w następnej sekcji.Na przykład parametry połączenia powinny wyglądać podobnie do
HostName=contoso-hub.azure-devices.net;DeviceId=myEdgeDevice;SharedAccessKey=<DEVICE_SHARED_ACCESS_KEY>
.
Instalowanie i uruchamianie środowiska uruchomieniowego usługi IoT Edge
Zainstaluj usługę IoT Edge dla systemu Linux w systemie Windows na urządzeniu i skonfiguruj ją przy użyciu parametry połączenia urządzenia.
Uruchom następujące polecenia programu PowerShell na urządzeniu docelowym, na którym chcesz wdrożyć usługę Azure IoT Edge dla systemu Linux w systemie Windows. Aby wdrożyć na zdalnym urządzeniu docelowym przy użyciu programu PowerShell, użyj zdalnego programu PowerShell , aby nawiązać połączenie z urządzeniem zdalnym i uruchomić te polecenia zdalnie na tym urządzeniu.
W sesji programu PowerShell z podwyższonym poziomem uprawnień uruchom następujące polecenie, aby włączyć funkcję Hyper-V. Aby uzyskać więcej informacji, zobacz Hyper-V w systemie Windows 10.
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
W sesji programu PowerShell z podwyższonym poziomem uprawnień uruchom każde z poniższych poleceń, aby pobrać usługę IoT Edge dla systemu Linux w systemie Windows.
X64/AMD64
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_4_LTS_X64" -OutFile $msiPath
ARM64
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_4_LTS_ARM64" -OutFile $msiPath
Zainstaluj usługę IoT Edge dla systemu Linux w systemie Windows na urządzeniu.
Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
Ustaw zasady wykonywania na urządzeniu docelowym na
AllSigned
wartość , jeśli jeszcze nie jest. Bieżące zasady wykonywania można sprawdzić w wierszu polecenia programu PowerShell z podwyższonym poziomem uprawnień przy użyciu:Get-ExecutionPolicy -List
Jeśli zasady wykonywania elementu
local machine
nieAllSigned
są , można ustawić zasady wykonywania przy użyciu:Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
Utwórz usługę IoT Edge dla systemu Linux we wdrożeniu systemu Windows.
Deploy-Eflow
Wprowadź wartość "Y", aby zaakceptować postanowienia licencyjne.
W zależności od preferencji wprowadź wartość "O" lub "R", aby włączyć lub wyłączyć opcjonalne dane diagnostyczne. Pomyślne wdrożenie zostało pokazane poniżej.
Aprowizuj urządzenie przy użyciu parametry połączenia urządzenia pobranego w poprzedniej sekcji. Zastąp tekst zastępczy własną wartością.
Provision-EflowVm -provisioningType ManualConnectionString -devConnString "<CONNECTION_STRING_HERE>"
Urządzenie usługi IoT Edge jest teraz skonfigurowane. Jest ono gotowe 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.
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 plików wykonywalnych implementowane jako kontenery. W tej sekcji wdrożysz wstępnie utworzony moduł z sekcji Moduły usługi IoT Edge Rejestr Artefaktów Microsoft.
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ć, co dokładnie 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 wybierz pozycję Urządzenia w menu Zarządzanie urządzeniami .
Wybierz identyfikator urządzenia docelowego z listy urządzeń.
Uwaga
Podczas tworzenia nowego urządzenia usługi IoT Edge zostanie wyświetlony kod
417 -- The device's deployment configuration is not set
stanu 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, które zostały już utworzone, moduły z Rejestr Artefaktów Microsoft lub moduły utworzone samodzielnie. W tym przewodniku Szybki start wdrożysz moduł z Rejestr Artefaktów 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:
Ustawienie Wartość Nazwa modułu IoT SimulatedTemperatureSensor
Identyfikator URI obrazu mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:latest
Zasady ponownego uruchamiania zawsze Żądany stan uruchomiono 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.
Ustawienie Wartość Nazwa/nazwisko SimulatedTemperatureSensorToIoTHub
Wartość FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
Wybierz pozycję Dalej: 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.
Uwaga
Podczas przesyłania nowego wdrożenia na urządzenie usługi IoT Edge do urządzenia nie są wypychane żadne dane. 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 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, a następnie odśwież stronę.
Jeśli masz problemy z wdrażaniem modułów, zobacz Rozwiązywanie problemów z urządzeniami usługi IoT Edge w witrynie Azure Portal.
Wyświetlanie wygenerowanych danych
W tym przewodniku Szybki start utworzono nowe urządzenie usługi IoT Edge i zainstalowano na nim środowisko uruchomieniowe usługi IoT Edge. Następnie użyto witryny Azure Portal do wdrożenia modułu usługi IoT Edge do uruchomienia na urządzeniu bez konieczności wprowadzania zmian w samym urządzeniu.
Wypchnięty moduł generuje przykładowe dane środowiska, których można użyć do późniejszego testowania. 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. Wysyłane komunikaty obejmują temperaturę otoczenia i wilgotność, temperaturę i ciśnienie maszyny oraz sygnaturę czasową. Samouczki usługi IoT Edge używają danych utworzonych przez ten moduł jako danych testowych do analizy.
Zaloguj się do usługi IoT Edge dla systemu Linux na maszynie wirtualnej z systemem Windows przy użyciu następującego polecenia w sesji programu PowerShell:
Connect-EflowVm
Uwaga
Jedynym kontem dozwolonym przez protokół SSH na maszynie wirtualnej jest użytkownik, który go utworzył.
Po zalogowaniu się możesz sprawdzić listę uruchomionych modułów usługi IoT Edge przy użyciu następującego polecenia systemu Linux:
sudo iotedge list
Wyświetl komunikaty wysyłane z modułu czujnika temperatury do chmury przy użyciu następującego polecenia systemu Linux:
sudo iotedge logs SimulatedTemperatureSensor -f
Napiwek
W przypadku odwoływania się do nazw modułów w poleceniach usługi IoT Edge uwzględniana jest wielkość liter.
Czyszczenie zasobów
Jeśli chcesz kontynuować pracę z samouczkami usługi IoT Edge, pomiń ten krok. Możesz użyć zarejestrowanego i skonfigurowanego urządzenia w tym przewodniku Szybki start. 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. Jeśli nie chcesz usuwać całej grupy, możesz usunąć poszczególne zasoby.
Ważne
Sprawdź zawartość grupy zasobów, aby upewnić się, że nie ma nic, co chcesz zachować. Usunięcie grupy zasobów jest nieodwracalne.
Użyj następującego polecenia, aby usunąć grupę IoTEdgeResources . Usunięcie może potrwać kilka minut.
az group delete --name IoTEdgeResources
Możesz potwierdzić, że grupa zasobów została usunięta przy użyciu tego polecenia, aby wyświetlić listę grup zasobów.
az group list
Odinstalowywanie usługi IoT Edge dla systemu Linux w systemie Windows
Jeśli chcesz usunąć instalację usługi Azure IoT Edge dla systemu Linux z urządzenia, użyj następujących poleceń.
- Otwórz ustawienia w systemie Windows
- Wybierz pozycję Dodaj lub usuń programy
- Wybieranie aplikacji usługi Azure IoT Edge
- Wybierz pozycję Odinstaluj
Następne kroki
W tym przewodniku Szybki start utworzono urządzenie usługi IoT Edge i wdrożono na nim kod przy użyciu interfejsu usługi Azure IoT Edge w chmurze. Teraz masz urządzenie testowe generujące nieprzetworzone dane dotyczące jego środowiska.
W następnym samouczku dowiesz się, jak monitorować aktywność i kondycję urządzenia w witrynie Azure Portal.