Samouczek: ukończenie aktualizacji serwera proxy przy użyciu usługi Device Update dla Azure IoT Hub

Jeśli jeszcze tego nie zrobiono, zapoznaj się z tematem Używanie aktualizacji serwera proxy z usługą Device Update dla Azure IoT Hub.

Konfigurowanie urządzenia testowego lub maszyny wirtualnej

W tym samouczku użyto maszyny wirtualnej z systemem Ubuntu Server 18.04 LTS (VM).

Instalowanie agenta i zależności usługi Device Update

  1. Zarejestruj packages.microsoft.com w repozytorium pakietów APT:

    sudo apt-get update
    
    sudo apt install curl
    
    curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ~/microsoft-prod.list
    
    sudo cp ~/microsoft-prod.list /etc/apt/sources.list.d/
    
    curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > ~/microsoft.gpg
    
    sudo cp ~/microsoft.gpg /etc/apt/trusted.gpg.d/
    
    sudo apt-get update
    
  2. Zainstaluj agenta deviceupdate-agent na urządzeniu IoT. Pobierz najnowszy plik Debian z usługi Device Update z packages.microsoft.com:

    sudo apt-get install deviceupdate-agent
    

    Alternatywnie skopiuj pobrany plik Debian do testowej maszyny wirtualnej. Jeśli używasz programu PowerShell na komputerze, uruchom następujące polecenie powłoki:

    scp <path to the .deb file> tester@<your vm's ip address>:~
    

    Następnie przejdź zdalnie do maszyny wirtualnej i uruchom następujące polecenie powłoki w folderze głównym :

    #go to home folder 
    cd ~
    #install latest Device Update agent
    sudo apt-get install ./<debian file name from the previous step>
    
  3. Przejdź do Azure IoT Hub i skopiuj podstawowe parametry połączenia dla modułu Device Update urządzenia IoT. Zastąp dowolną wartość domyślną pola connectionData podstawowymi parametrami połączenia w pliku du-config.json :

    sudo nano /etc/adu/du-config.json  
    

    Uwaga

    Zamiast tego możesz skopiować podstawowe parametry połączenia dla urządzenia, ale zalecamy użycie parametrów dla modułu Device Update. Aby uzyskać informacje na temat konfigurowania modułu, zobacz Device Update Agent provisioning (Aprowizowanie agenta aktualizacji urządzeń).

  4. Upewnij się, że plik /etc/adu/du-diagnostics-config.json zawiera poprawne ustawienia zbierania dzienników. Przykład:

    {
      "logComponents":[
        {
          "componentName":"adu",
           "logPath":"/var/log/adu/"
        },
        {
          "componentName":"do",
          "logPath":"/var/log/deliveryoptimization-agent/"
        }
      ],
      "maxKilobytesToUploadPerLogPath":50
    }
    
  5. Uruchom ponownie agenta usługi Device Update:

    sudo systemctl restart deviceupdate-agent
    

Konfigurowanie makiety składników

W celach testowych i demonstracyjnych utworzymy następujące pozorne składniki na urządzeniu:

  • Trzy silniki
  • Dwie kamery
  • "hostfs"
  • "rootfs"

Ważne

Poprzednia konfiguracja składnika jest oparta na implementacji przykładowego rozszerzenia modułu wyliczającego składnika o nazwie libcontoso-component-enumerator.so. Wymaga również tego pozornego pliku danych spisu składników: /usr/local/contoso-devices/components-inventory.json.

  1. Skopiuj folder demonstracyjny do katalogu macierzystego na testowej maszynie wirtualnej. Następnie uruchom następujące polecenie, aby skopiować wymagane pliki do odpowiednich lokalizacji:

    `~/demo/tools/reset-demo-components.sh` 
    

    Polecenie reset-demo-components.sh wykonuje następujące czynności w Twoim imieniu:

    • Kopiuje plik components-inventory.json i dodaje go do folderu /usr/local/contoso-devices .

    • Kopiuje rozszerzenie modułu wyliczającego składnika Contoso (libcontoso-component-enumerator.so) z folderu Assets i dodaje je do folderu /var/lib/adu/extensions/sources .

    • Rejestruje rozszerzenie:

      sudo /usr/bin/AducIotAgent -E /var/lib/adu/extensions/sources/libcontoso-component-enumerator.so
      

Importowanie przykładowej aktualizacji

Jeśli jeszcze tego nie zrobiono, utwórz konto i wystąpienie usługi Device Update, w tym konfigurowanie centrum IoT. Następnie uruchom następującą procedurę.

  1. Z najnowszej wersji usługi Device Update w obszarze Zasoby pobierz manifesty importu i obrazy aktualizacji serwera proxy.

  2. Zaloguj się do Azure Portal i przejdź do centrum IoT Hub za pomocą usługi Device Update. W okienku po lewej stronie wybierz pozycję Zarządzanie urządzeniami>Aktualizacje.

  3. Wybierz kartę Aktualizacje.

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

  5. Wybierz pozycję + Wybierz z kontenera magazynu, a następnie wybierz konto magazynu i kontener.

    Zrzut ekranu przedstawiający przycisk wybierania importu z kontenera magazynu.

  6. Wybierz pozycję Przekaż , aby dodać pliki pobrane w kroku 1.

  7. Przekaż nadrzędny manifest importu, manifest importu podrzędnego i pliki ładunku do kontenera.

    W poniższym przykładzie pokazano przykładowe pliki przekazane do aparatów fotograficznych podłączonych do inteligentnego urządzenia do czyszczenia. Zawiera również skrypt przed instalacją, aby wyłączyć kamery przed aktualizacją over-the-air.

    W tym przykładzie nadrzędny manifest importu to contoso. Virtual-Vacuum-virtual-camera.1.4.importmanifest.json. Podrzędny manifest importu ze szczegółami aktualizacji aparatu to Contoso.Virtual-Vacuum.3.3.importmanifest.json. Obie nazwy plików manifestu są zgodne z wymaganym formatem i kończą się ciągiem .importmanifest.json.

    Zrzut ekranu przedstawiający przykładowe pliki przekazane do aktualizacji aparatów połączonych z inteligentnym urządzeniem do czyszczenia.

  8. Wybierz pozycję Wybierz.

  9. W interfejsie użytkownika jest teraz wyświetlana lista plików, które zostaną zaimportowane do usługi Device Update. Wybierz pozycję Importuj aktualizację.

    Zrzut ekranu przedstawiający wymienione pliki i przycisk importowania aktualizacji.

  10. Rozpocznie się proces importowania, a ekran zmieni się na sekcję Historia importu . Wybierz pozycję Odśwież , aby wyświetlić postęp do momentu zakończenia procesu importowania. W zależności od rozmiaru aktualizacji importowanie może potrwać kilka minut lub trwać dłużej.

  11. Gdy kolumna Stan wskazuje, że importowanie zakończyło się pomyślnie, wybierz kartę Dostępne Aktualizacje. Zaimportowana aktualizacja powinna być teraz widoczna na liście.

    Zrzut ekranu przedstawiający zaimportowaną aktualizację dodaną do listy.

Aby uzyskać więcej informacji na temat procesu importowania, zobacz Importowanie aktualizacji do usługi Device Update.

Wyświetlanie grup urządzeń

Usługa Device Update używa grup do organizowania urządzeń. Usługa Device Update automatycznie sortuje urządzenia w grupy na podstawie przypisanych tagów i właściwości zgodności. Każde urządzenie należy tylko do jednej grupy, ale grupy mogą mieć wiele podgrup do sortowania różnych klas urządzeń.

  1. Przejdź do karty Grupy i wdrożenia w górnej części strony.

    Zrzut ekranu przedstawiający niezgrupowane urządzenia.

  2. Wyświetl listę grup i wykres zgodności aktualizacji. 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.

  3. Powinna zostać wyświetlona grupa urządzeń zawierająca symulowane urządzenie skonfigurowane w tym samouczku wraz z dostępnymi aktualizacjami dla urządzeń w nowej 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.

Aby uzyskać więcej informacji na temat tagów i grup, zobacz Zarządzanie grupami urządzeń.

Wdrażanie aktualizacji

  1. Po utworzeniu grupy powinna zostać wyświetlona nowa aktualizacja dostępna dla grupy urządzeń z linkiem do aktualizacji w obszarze Najlepsza aktualizacja (może być konieczne odświeżenie raz).

    Aby uzyskać więcej informacji na temat zgodności, zobacz Zgodność z usługą Device Update.

  2. Wybierz grupę docelową, klikając nazwę grupy. Nastąpi przekierowanie do szczegółów grupy w obszarze Podstawowe informacje o grupie.

    Szczegóły grupy

  3. Aby zainicjować wdrożenie, przejdź do karty Bieżące wdrożenie. Wybierz link wdrażania obok żądanej aktualizacji z sekcji Dostępne aktualizacje. Najlepsza, dostępna aktualizacja dla danej grupy zostanie oznaczona wyróżnieniem "Najlepsze".

    Wybieranie aktualizacji

  4. Zaplanuj natychmiastowe rozpoczęcie wdrożenia lub w przyszłości, a następnie wybierz pozycję Utwórz.

    Tworzenie wdrożenia

  5. Stan w obszarze Szczegóły wdrożenia powinien zostać włączony, a wdrożona aktualizacja powinna być oznaczona znakiem "(wdrażanie)".

    Aktywne wdrażanie

  6. Wyświetl wykres zgodności. Powinna zostać wyświetlona aktualizacja w toku.

  7. Po pomyślnym zaktualizowaniu urządzenia powinien zostać wyświetlony wykres zgodności, a szczegóły wdrożenia zostaną zaktualizowane, aby odzwierciedlić to samo.

    Aktualizacja powiodła się

Monitorowanie wdrożenia aktualizacji

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

    Historia wdrażania

  2. Wybierz link szczegółów obok utworzonego wdrożenia.

    Szczegóły wdrożenia

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

Ukończono pomyślnie kompleksową aktualizację serwera proxy przy użyciu usługi Device Update dla IoT Hub.

Czyszczenie zasobów

Gdy nie są już potrzebne, wyczyść konto usługi Device Update, wystąpienie, centrum IoT i urządzenie IoT.

Następne kroki