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
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
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>
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ń).
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 }
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.
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ę.
Z najnowszej wersji usługi Device Update w obszarze Zasoby pobierz manifesty importu i obrazy aktualizacji serwera proxy.
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.
Wybierz kartę Aktualizacje.
Wybierz pozycję + Importuj nową aktualizację.
Wybierz pozycję + Wybierz z kontenera magazynu, a następnie wybierz konto magazynu i kontener.
Wybierz pozycję Przekaż , aby dodać pliki pobrane w kroku 1.
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.
Wybierz pozycję Wybierz.
W interfejsie użytkownika jest teraz wyświetlana lista plików, które zostaną zaimportowane do usługi Device Update. Wybierz pozycję Importuj aktualizację.
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.
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.
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ń.
Przejdź do karty Grupy i wdrożenia w górnej części strony.
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.
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
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.
Wybierz grupę docelową, klikając nazwę grupy. Nastąpi przekierowanie do szczegółów grupy w obszarze Podstawowe informacje o grupie.
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".
Zaplanuj natychmiastowe rozpoczęcie wdrożenia lub w przyszłości, a następnie wybierz pozycję Utwórz.
Stan w obszarze Szczegóły wdrożenia powinien zostać włączony, a wdrożona aktualizacja powinna być oznaczona znakiem "(wdrażanie)".
Wyświetl wykres zgodności. Powinna zostać wyświetlona aktualizacja w toku.
Po pomyślnym zaktualizowaniu urządzenia powinien zostać wyświetlony wykres zgodności, a szczegóły wdrożenia zostaną zaktualizowane, aby odzwierciedlić to samo.
Monitorowanie wdrożenia aktualizacji
Wybierz kartę Historia wdrożenia w górnej części strony.
Wybierz link szczegółów obok utworzonego wdrożenia.
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.