Udostępnij przez


Samouczek: aktualizacja urządzenia dla usługi Azure IoT Hub przy użyciu agenta referencyjnego symulatora Ubuntu (18.04 x64)

Usługa Device Update dla usługi Azure IoT Hub obsługuje aktualizacje oparte na obrazach, oparte na pakietach i oparte na skryptach.

Aktualizacje obrazów zapewniają wyższy poziom zaufania do stanu końcowego urządzenia. Zazwyczaj łatwiej jest replikować wyniki aktualizacji obrazu między środowiskiem przedprodukcyjnym a środowiskiem produkcyjnym, ponieważ nie stanowi to takich samych wyzwań jak pakiety i ich zależności. Ze względu na ich atomowy charakter, można również łatwo przyjąć model przełączania A/B.

Ten samouczek przeprowadzi Cię przez kroki umożliwiające ukończenie kompleksowej aktualizacji opartej na obrazie przy użyciu usługi Device Update for IoT Hub.

Z tego samouczka dowiesz się, jak wykonywać następujące działania:

  • Pobierz i zainstaluj obraz.
  • Dodaj tag do urządzenia IoT.
  • Zaimportuj aktualizację.
  • Utwórz grupę urządzeń.
  • Wdrażanie aktualizacji obrazu.
  • Monitorowanie wdrożenia aktualizacji.

Wymagania wstępne

Jeśli jeszcze tego nie zrobiłeś, utwórz konto Device Update i wystąpienie oraz skonfiguruj IoT Hub.

Pobierz plik zip o nazwie Tutorial_Simulator.zip z sekcji Release Assets w najnowszym wydaniu i rozpakuj go.

Dodawanie urządzenia do usługi Azure IoT Hub

Po uruchomieniu agenta usługi Device Update na urządzeniu IoT należy dodać urządzenie do usługi IoT Hub. W usłudze IoT Hub generowany jest ciąg połączenia dla określonego urządzenia.

  1. W witrynie Azure Portal uruchom aktualizację urządzenia dla usługi IoT Hub.

  2. Utwórz nowe urządzenie.

  3. W okienku po lewej stronie przejdź do pozycji Urządzenia. Następnie wybierz Nowe.

  4. W obszarze Identyfikator urządzenia wprowadź nazwę urządzenia. Upewnij się, że zaznaczono pole wyboru Automatyczne generowanie kluczy .

  5. Wybierz Zapisz.

  6. Teraz nastąpi powrót do strony Urządzenia , a utworzone urządzenie powinno znajdować się na liście. Wybierz to urządzenie.

  7. W widoku urządzenia wybierz ikonę Kopiuj obok pozycji Podstawowe parametry połączenia.

  8. Wklej skopiowane znaki do późniejszego użycia w następujących krokach:

    Ten skopiowany ciąg to ciąg połączenia twojego urządzenia.

Zainstaluj agenta Device Update, aby przetestować jako symulator.

  1. Postępuj zgodnie z instrukcjami, aby zainstalować środowisko uruchomieniowe usługi Azure IoT Edge.

    Uwaga

    Agent usługi Device Update nie zależy od usługi IoT Edge. Jednak polega na demonie IoT Identity Service zainstalowanym z oprogramowaniem IoT Edge (wersja 1.2.0 i nowsze), aby uzyskać tożsamość i nawiązać połączenie z IoT Hub.

    Chociaż nie opisano w tym samouczku, demon usługi tożsamości IoT można zainstalować autonomicznie na urządzeniach IoT opartych na systemie Linux. Sekwencja instalacji ma znaczenie. Agent pakietu Device Update musi być zainstalowany po usłudze tożsamości IoT. W przeciwnym razie agent pakietu nie zostanie zarejestrowany jako autoryzowany składnik w celu nawiązania połączenia z usługą IoT Hub.

  2. Następnie zainstaluj pakiet .deb agenta usługi Device Update.

    sudo apt-get install deviceupdate-agent deliveryoptimization-plugin-apt 
    
  3. Wprowadź podstawowy ciąg połączenia modułu (lub urządzenia, w zależności od sposobu aprowizowania urządzenia za pomocą usługi Device Update) do pliku konfiguracyjnego, uruchamiając następujące polecenie:

    sudo nano /etc/adu/du-config.json
    
  4. Skonfiguruj agenta do uruchamiania jako symulator. Uruchom następujące polecenie na urządzeniu IoT, aby agent aktualizacji urządzenia wywołał procedurę symulatora w celu przetworzenia aktualizacji pakietu za pomocą APT ('microsoft/apt:1'):

    sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_simulator_1.so --update-type 'microsoft/apt:1'
    

    Aby zarejestrować i wywołać program obsługi symulatora, użyj następującego formatu, wypełniając symbole zastępcze:

    sudo /usr/bin/AducIotAgent --register--content-handler <full path to the handler file> --update-type <update type name>

  5. Będziesz potrzebować pliku sample-du-simulator-data.json z pobranego Tutorial_Simulator.zip w ramach wymagań wstępnych.

    Otwórz plik sample-du-simulator-data.json i skopiuj zawartość do schowka:

    nano sample-du-simulator-data.json
    

    Wybierz zawartość pliku i naciśnij Ctrl+C. Naciśnij Ctrl+X , aby zamknąć plik i nie zapisywać zmian.

    Uruchom następujące polecenie, aby utworzyć i edytować du-simulator-data.json plik w folderze tmp:

    sudo nano /tmp/du-simulator-data.json
    

    Naciśnij Ctrl+V , aby wkleić zawartość do edytora. Naciśnij Ctrl+X , aby zapisać zmiany, a następnie Y.

    Zmień uprawnienia:

    sudo chown adu:adu /tmp/du-simulator-data.json
    sudo chmod 664 /tmp/du-simulator-data.json
    

    Jeśli /tmp nie istnieje, to:

     sudo mkdir/tmp
     sudo chown root:root/tmp
     sudo chmod 1777/tmp
    
  6. Uruchom ponownie agenta usługi Device Update, uruchamiając następujące polecenie:

     sudo systemctl restart adu-agent
    

Aktualizacja urządzenia dla oprogramowania usługi Azure IoT Hub podlega następującym postanowieniom licencyjnym:

Przeczytaj postanowienia licencyjne przed rozpoczęciem korzystania z agenta. Instalacja i użycie stanowi akceptację tych warunków. Jeśli nie zgadzasz się z postanowieniami licencyjnymi, nie używaj agenta usługi Device Update dla usługi IoT Hub.

Uwaga

Po zakończeniu testowania za pomocą symulatora uruchom następujące polecenie, aby wywołać procedurę obsługi APT i wdrożyć bezprzewodowe aktualizacje pakietów:

# sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_apt_1.so --update-type 'microsoft/a pt:1'

Dodawanie tagu do urządzenia

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

  2. W okienku Urządzenia po lewej stronie znajdź swoje urządzenie IoT i przejdź do jego bliźniaczej reprezentacji lub modułu.

  3. W bliźniaczej reprezentacji modułu agenta usługi Device Update usuń wszystkie istniejące wartości tagów usługi Device Update, ustawiając je na wartość null. Jeśli używasz tożsamości urządzenia z agentem usługi Device Update, wprowadź te zmiany w bliźniaku urządzenia.

  4. Dodaj nową wartość tagu Device Update, jak pokazano poniżej:

        "tags": {
                "ADUGroup": "<CustomTagValue>"
                }
    

Importowanie aktualizacji

  1. Będą potrzebne pliki TutorialImportManifest_Sim.importmanifest.json i adu-update-image-raspberrypi3.swu z Tutorial_Simulator.zip, które należy pobrać zgodnie z wymaganiami wstępnymi. Plik aktualizacji jest ponownie używany z samouczka dotyczącego Raspberry Pi. Ponieważ aktualizacja w tym samouczku jest symulowana, konkretna zawartość pliku nie ma znaczenia.

  2. Zaloguj się do witryny Azure Portal i przejdź do centrum IoT Hub przy użyciu usługi Device Update. W okienku po lewej stronie w obszarze Automatyczne Zarządzanie urządzeniami wybierz pozycję Aktualizacje.

  3. Wybierz kartę Aktualizacje.

  4. Wybierz pozycję + Importuj nową aktualizację.

  5. Wybierz + Wybierz z pojemnika magazynowego. Wybierz istniejące konto lub utwórz nowe konto przy użyciu konta + Storage. Następnie wybierz istniejący kontener lub utwórz nowy kontener przy użyciu polecenia + Kontener. Ten kontener będzie używany do przygotowania plików aktualizacji do importowania.

    Uwaga

    Zalecamy użycie nowego kontenera za każdym razem, gdy importujesz aktualizację, aby uniknąć przypadkowego importowania plików z poprzednich aktualizacji. Jeśli nie używasz nowego kontenera, przed zakończeniem tego kroku usuń wszystkie pliki z istniejącego kontenera.

    Zrzut ekranu przedstawiający konta magazynu i kontenery.

  6. W kontenerze wybierz pozycję Przekaż i przejdź do plików pobranych w kroku 1. Po wybraniu wszystkich plików aktualizacji wybierz pozycję Przekaż. Następnie wybierz przycisk Wybierz, aby powrócić do strony Importuj aktualizację.

    Zrzut ekranu przedstawiający wybieranie załadowanych plików.

    Ten zrzut ekranu przedstawia krok importowania. Nazwy plików mogą nie być zgodne z nazwami używanymi w przykładzie.

  7. Na stronie Importowanie aktualizacji, przejrzyj pliki do zaimportowania. Następnie wybierz pozycję Importuj aktualizację , aby rozpocząć proces importowania.

    Zrzut ekranu przedstawiający aktualizację importu.

  8. Rozpoczyna się proces importowania, a ekran przechodzi do sekcji Historia importu. Gdy kolumna Stan wskazuje, że importowanie zakończyło się pomyślnie, wybierz nagłówek Dostępne aktualizacje . Zaimportowana aktualizacja powinna być teraz widoczna na liście.

    Zrzut ekranu przedstawiający stan zadania.

Dowiedz się więcej o sposobie importowania aktualizacji.

Tworzenie grupy aktualizacji

  1. Przejdź do zakładki Grupy i Wdrożenia w górnej części strony.

    Zrzut ekranu przedstawiający niezgrupowane urządzenia.

  2. Wybierz Dodaj grupę, aby utworzyć nową grupę.

    Zrzut ekranu przedstawiający dodawanie grupy urządzeń.

  3. Wybierz tag usługi IoT Hub i klasę urządzenia z listy. Następnie wybierz pozycję Utwórz grupę.

    Zrzut ekranu przedstawiający wybór tagu.

  4. Po utworzeniu grupy zaktualizowane zostaną wykres zgodności aktualizacji oraz lista grup. Wykres zgodności aktualizacji przedstawia liczbę urządzeń w różnych stanach zgodności: w przypadku najnowszej aktualizacji, dostępne nowe aktualizacje i aktualizacje w toku. Dowiedz się więcej o zgodności aktualizacji.

    Zrzut ekranu przedstawiający widok zgodności aktualizacji.

  5. Twoja nowo utworzona grupa powinna być widoczna, podobnie jak wszystkie dostępne aktualizacje dla urządzeń w tej grupie. Jeśli istnieją urządzenia, które nie spełniają wymagań klasy urządzeń grupy, zostaną one wyświetlone w odpowiedniej nieprawidłowej grupie. Aby wdrożyć najlepszą dostępną aktualizację dla nowej grupy zdefiniowanej przez użytkownika z tego widoku, wybierz pozycję Wdróż obok grupy.

Dowiedz się więcej na temat dodawania tagów i tworzenia grup aktualizacji.

Wdrażanie aktualizacji

  1. Po utworzeniu grupy powinna zostać wyświetlona nowa aktualizacja dostępna dla grupy urządzeń. Link do aktualizacji powinien znajdować się pod Best update. Może być konieczne odświeżenie strony jeden raz. Dowiedz się więcej o zgodności aktualizacji.

  2. Wybierz grupę docelową, wybierając nazwę grupy. Jesteś skierowany do Szczegóły grupy w ramach Podstawowe informacje o grupie.

    Zrzut ekranu przedstawiający szczegóły grupy.

  3. Aby rozpocząć wdrażanie, przejdź do karty Bieżące wdrożenie. Wybierz link wdróż obok żądanej aktualizacji w sekcji Dostępne aktualizacje. Najlepsza dostępna aktualizacja dla danej grupy jest oznaczona wyróżnieniem Najlepsze .

    Zrzut ekranu przedstawiający wybieranie aktualizacji.

  4. Zaplanuj rozpoczęcie wdrożenia natychmiast lub w przyszłości. Następnie wybierz Utwórz.

    Zrzut ekranu przedstawiający proces wdrażania.

  5. W sekcji Szczegóły wdrożeniaStatus zmienia się na Aktywny. Wdrożona aktualizacja jest oznaczona elementem (wdrażanie).

    Zrzut ekranu przedstawiający aktywne wdrożenie.

  6. Wyświetl wykres zgodności, aby zobaczyć, że aktualizacja jest teraz w toku.

  7. Po pomyślnym zaktualizowaniu urządzenia zobaczysz, że wykres zgodności i szczegóły wdrożenia zostały zaktualizowane w celu odzwierciedlenia tego samego.

    Zrzut ekranu przedstawiający powodzenie aktualizacji.

Monitorowanie wdrożenia aktualizacji

  1. Wybierz kartę Historia wdrożenia w górnej części strony.

    Zrzut ekranu przedstawiający historię wdrażania.

  2. Wybierz pozycję Szczegóły obok utworzonego wdrożenia.

    Zrzut ekranu przedstawiający szczegóły wdrożenia.

  3. Wybierz pozycję Odśwież , aby wyświetlić najnowsze szczegóły stanu.

Ukończono pomyślnie kompleksową aktualizację obrazu przy użyciu narzędzia Device Update dla usługi IoT Hub, korzystając z agenta referencyjnego symulatora Ubuntu (18.04 x64).

Czyszczenie zasobów

Kiedy konto usługi Device Update, wystąpienie, centrum IoT i urządzenie IoT nie będą już potrzebne, usuń je wszystkie.

Następne kroki