Szybki start: wdrażanie pierwszego modułu usługi IoT Edge na urządzeniu z systemem Windows
Dotyczy: IoT Edge 1.1
Ważne
Data zakończenia wsparcia usługi IoT Edge 1.1 wynosiła 13 grudnia 2022 r. Zapoznaj się z cyklem życia produktów firmy Microsoft, aby uzyskać informacje na temat sposobu obsługi tego produktu lub interfejsu API albo tej usługi lub technologii. Aby uzyskać więcej informacji na temat aktualizowania do najnowszej wersji usługi IoT Edge, zobacz Aktualizowanie usługi 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.
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
Uwaga
Ten przewodnik Szybki start używa programu PowerShell do utworzenia wdrożenia usługi IoT Edge dla systemu Linux w systemie Windows. Możesz również użyć Centrum administracyjnego systemu Windows. Jeśli chcesz użyć centrum administracyjnego systemu Windows 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.
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.
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.
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEflowMSI" -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 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ć, 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ł z witryny Azure Marketplace.
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ń.
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.
W obszarze Moduły usługi IoT Edge otwórz menu rozwijane Dodaj , a następnie wybierz pozycję Moduł witryny Marketplace.
W witrynie Marketplace modułów
Simulated Temperature Sensor
usługi IoT Edge wyszukaj i wybierz moduł.Moduł zostanie dodany do sekcji Moduły usługi IoT Edge z żądanym stanem uruchomienia .
Wybierz pozycję Dalej: Trasy , aby przejść do następnego kroku kreatora.
Na karcie Trasy usuń trasę domyślną, trasę, a następnie wybierz pozycję Dalej: Przejrzyj i utwórz, aby przejść do następnego kroku kreatora.
Uwaga
Trasy są tworzone przy użyciu par nazw i wartości. Na tej stronie powinny zostać wyświetlone dwie trasy. Trasa domyślna, trasa, wysyła wszystkie komunikaty do usługi IoT Hub (o nazwie
$upstream
). Druga trasa SimulatedTemperatureSensorToIoTHub została utworzona automatycznie podczas dodawania modułu z witryny Azure Marketplace. Ta trasa wysyła wszystkie komunikaty z modułu symulowanej temperatury do usługi IoT Hub. Możesz usunąć trasę domyślną, ponieważ jest ona w tym przypadku nadmiarowa.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 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ŁOSZONE PRZEZ URZĄDZENIE, urządzenie usługi IoT Edge nadal je uruchamia. Poczekaj kilka minut, a następnie odśwież stronę.
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
Ważne
W przypadku odwoływania się do nazw modułów w poleceniach usługi IoT Edge uwzględniana jest wielkość liter.
Możesz również użyć rozszerzenia usługi Azure IoT Hub dla programu Visual Studio Code , aby oglądać komunikaty docierające do centrum IoT Hub.
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 LTS 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.