Udostępnij przez


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

Jeśli jeszcze tego nie zrobiono, zobacz Używanie aktualizacji serwera proxy z aktualizacją urządzenia dla usługi Azure IoT Hub.

Konfigurowanie urządzenia testowego lub maszyny wirtualnej

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

Instalowanie agenta aktualizacji urządzeń i zależności

  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 deviceupdate-agent na urządzeniu IoT. Pobierz najnowszy plik Debian aktualizacji urządzenia z packages.microsoft.com:

    sudo apt-get install deviceupdate-agent
    

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

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

    Następnie połącz się zdalnie z maszyną wirtualną i uruchom następujące polecenie powłoki w folderze home:

          #go to home folder 
          cd ~
          #install latest Device Update agent
          sudo apt-get install ./<debian file name from the previous step>
    
  3. Przejdź do usługi 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 / Notatka

    Zamiast tego można 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 /etc/adu/du-diagnostics-config.json zawiera prawidłowe 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 adu-agent
    

Konfigurowanie testowych komponentó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 przykładowego pliku danych spisu komponentó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:

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

    2. 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 .

    3. Rejestruje rozszerzenie:

      sudo /usr/bin/AducIotAgent -E /var/lib/adu/extensions/sources/libcontoso-component-enumerator.so
      
  2. Aby skonfigurować maszynę wirtualną do obsługi aktualizacji serwera proxy, użyj następującego polecenia, aby wyświetlić i zarejestrować wersję oprogramowania bieżących składników.

    ~/demo/show-demo-components.sh
    

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 witryny Azure Portal i przejdź do centrum IoT Hub przy użyciu usługi Device Update. W okienku po lewej stronie wybierz 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 umożliwiający importowanie z kontenera magazynowego.

  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 załadowane w celu zaktualizowania kamer połączonych z inteligentnym urządzeniem odkurzającym. Zawiera również skrypt przedinstalacyjny, aby wyłączyć kamery przed bezprzewodową aktualizacją.

    W tym przykładzie nadrzędny manifest importu jest contoso.Virtual-Vacuum-virtual-camera.1.4.importmanifest.json. Podrzędny manifest importu ze szczegółami aktualizowania aparatu jest Contoso.Virtual-Vacuum.3.3.importmanifest.json. Należy pamiętać, że obie nazwy plików manifestu są zgodne z wymaganym formatem i kończą się .importmanifest.json.

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

  8. Naciśnij przycisk 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.

Dowiedz się więcej na temat importowania aktualizacji.

Tworzenie grupy aktualizacji

  1. Przejdź do karty Grupy i Wdrożenia w górnej części strony. Zrzut ekranu przedstawiający niezgrupowane urządzenia.

  2. Wybierz przycisk "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, a następnie wybierz pozycję Utwórz grupę. Zrzut ekranu przedstawiający wybór tagu.

  4. Po utworzeniu grupy zobaczysz, że wykres zgodności aktualizacji i lista grup zostały zaktualizowane. Wykres zgodności aktualizacji pokazuje liczbę urządzeń w różnych stanach zgodności: mają najnowszą aktualizację, dostępne są nowe aktualizacje, oraz 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. Najlepszą dostępną aktualizację można wdrożyć w nowej grupie zdefiniowanej przez użytkownika z tego widoku, klikając przycisk "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ń z linkiem do aktualizacji w obszarze Najlepsza aktualizacja (może być konieczne odświeżenie raz). Dowiedz się więcej o zgodności aktualizacji systemu.

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

Szczegóły grupy

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

Wybierz aktualizację

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

Utwórz wdrożenie

  1. Stan w sekcji Szczegóły wdrożenia powinien zmienić się na Aktywny, a wdrożona aktualizacja powinna być oznaczona jako "(deploying)".

Aktywne wdrażanie

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

  2. Po pomyślnym zaktualizowaniu urządzenia powinien zostać wyświetlony wykres zgodności i aktualizacja szczegółów wdrożenia, aby odzwierciedlić to samo.

    Aktualizacja zakończyła się pomyślnie

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ślną kompleksową aktualizację serwera proxy przy użyciu usługi Device Update dla usługi IoT Hub.

Uprzątnij zasoby

Jeśli nie potrzebujesz ich już, wyczyść swoje konto usługi Device Update, instancję, centrum IoT i urządzenie IoT.

Dalsze kroki

Poniższe samouczki umożliwiają prosty pokaz aktualizacji urządzenia dla usługi IoT Hub: