Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Agent modułu Device Update może działać wraz z innymi procesami systemowymi i modułami usługi IoT Edge, które łączą się z usługą IoT Hub w ramach tego samego urządzenia logicznego. W tym artykule opisano sposób aprowizowania agenta usługi Device Update jako tożsamości modułu.
Uwaga
Użyj najnowszej wersji 1.x implementacji referencyjnej agenta aktualizacji urządzeń, aby skorzystać z najnowszych ulepszeń. Sprawdź zainstalowaną wersję w sekcji właściwości swojego urządzenia bliźniaczego IoT. Aby uzyskać informacje, zobacz Device Update dla platform obsługiwanych IoT Hub.
Tożsamość modułu i urządzenia
W ramach każdej tożsamości urządzenia usługi Azure IoT Hub można utworzyć maksymalnie 50 tożsamości modułów. Każda tożsamość modułu niejawnie generuje reprezentację bliźniaczą tożsamości modułu. Po stronie urządzenia można użyć zestawów SDK urządzeń usługi IoT Hub, aby utworzyć moduły, które otwierają niezależne połączenie z usługą IoT Hub.
Tożsamość modułu i bliźniacza reprezentacja tożsamości modułu zapewniają możliwości podobne do tożsamości urządzenia i bliźniaczej reprezentacji tożsamości urządzenia, ale na bardziej szczegółowym poziomie. Aby uzyskać więcej informacji, zobacz Opis i używanie modułów bliźniaczych w usłudze IoT Hub.
Gdy aprowizujesz agenta Device Update jako tożsamość modułu, cała komunikacja między urządzeniem a usługą Device Update musi odbywać się za pośrednictwem bliźniaka modułu. Pamiętaj, aby podczas tworzenia grup urządzeń oznaczyć reprezentację bliźniaczą modułu urządzenia. Jeśli migrujesz z agenta na poziomie urządzenia do agenta dodanego jako tożsamość modułu, usuń starszego agenta, który komunikował się za pośrednictwem bliźniaka urządzenia.
Obsługiwane typy aktualizacji
Usługa Device Update obsługuje następujące typy bezprzewodowych aktualizacji urządzeń IoT:
- Urządzenia usługi IoT Edge i urządzenia z systemem Linux spoza usługi IoT Edge:
- Agent aktualizacji urządzenia Eclipse ThreadX
- Odłączone urządzenia za bramami
Przygotowanie do aktualizacji pakietów
Aby skonfigurować urządzenie IoT lub urządzenie usługi IoT Edge w celu zainstalowania aktualizacji opartych na pakiecie, dodaj packages.microsoft.com je do repozytoriów maszyny, wykonując następujące kroki:
Otwórz okno terminalu na maszynie lub urządzeniu IoT, na którym chcesz zainstalować agenta usługi Device Update.
Zainstaluj konfigurację repozytorium zgodną z systemem operacyjnym urządzenia, na przykład:
curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ./microsoft-prod.listSkopiuj wygenerowaną listę do katalogu sources.list.d .
sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/Zainstaluj publiczny klucz GPG firmy Microsoft.
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpgsudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/
Skonfiguruj agenta usługi Device Update
Agenta Device Update można aprowizować jako tożsamość modułu na urządzeniach z obsługą usługi IoT Edge lub na urządzeniach IoT innych niż IoT Edge. Aby sprawdzić, czy na Twoim urządzeniu jest włączona usługa IoT Edge, zobacz Wyświetlanie zarejestrowanych urządzeń i pobieranie informacji o aprowizacji.
Przykładowe obrazy można pobrać do użycia z sekcji Zasoby na stronie Wydania . W pliku Tutorial_RaspberryPi3.zip plik swUpdate to obraz bazowy, który można wgrać na płytkę Raspberry Pi B3+. Plik .gz to aktualizacja, którą można zaimportować za pośrednictwem usługi Device Update. Aby uzyskać więcej informacji, zobacz Azure Device Update for IoT Hub using a Raspberry Pi image (Usługa Azure Device Update dla usługi IoT Hub przy użyciu obrazu urządzenia Raspberry Pi).
Na urządzeniach z włączoną usługą IoT Edge
Postępuj zgodnie z tymi instrukcjami, aby aprowizować agenta usługi Device Update na urządzeniach z włączoną usługą IoT Edge:
Postępuj zgodnie z instrukcjami w temacie Ręczne aprowizowanie pojedynczego urządzenia usługi IoT Edge z systemem Linux.
Zainstaluj agenta aktualizacji obrazu usługi Device Update, uruchamiając następujące polecenie:
sudo apt-get install deviceupdate-agentZainstaluj agenta aktualizacji pakietu aktualizacji urządzenia.
W przypadku najnowszych wersji agenta z packages.microsoft.com zaktualizuj listy pakietów na urządzeniu i zainstaluj pakiet agenta usługi Device Update oraz jego zależności przy użyciu:
sudo apt-get updatesudo apt-get install deviceupdate-agentW przypadku kandydujących do wydania wersji agenta (rc) pobierz plik .deb z sekcji Releases na komputer, na którym chcesz zainstalować agenta Device Update, a następnie uruchom następujące polecenie:
sudo apt-get install -y ./"<PATH TO FILE>"/"<.DEB FILE NAME>"Jeśli konfigurujesz Microsoft Connected Cache (MCC) na potrzeby scenariusza z odłączonym urządzeniem, zainstaluj wtyczkę APT funkcji Delivery Optimization w następujący sposób:
sudo apt-get install deliveryoptimization-plugin-apt
Na urządzeniach bez obsługi IoT Edge
Postępuj zgodnie z tymi instrukcjami, aby aprowizować agenta usługi Device Update na urządzeniach IoT z systemem Linux bez zainstalowanej usługi IoT Edge. Agent można aprowizować przy użyciu usługi Azure IoT Identity Service (AIS) lub przez skonfigurowanie poświadczeń bezpośrednio na urządzeniu.
Korzystanie z usługi Azure IoT Identity Service (AIS)
Zainstaluj najnowszą wersję usługi IoT Identity Service, postępując zgodnie z instrukcjami w temacie Instalowanie usługi azure IoT Identity Service.
Skonfiguruj usługę tożsamości IoT, postępując zgodnie z instrukcjami w temacie Konfigurowanie usługi azure IoT Identity Service. Upewnij się, że usługa jest skonfigurowana z odpowiednią tożsamością urządzenia lub modułu, aby mogła dostarczyć informacje o połączeniu z agentem usługi Device Update.
Zainstaluj agenta usługi Device Update, uruchamiając następujące polecenie:
sudo apt-get install deviceupdate-agent
Uwaga
Jeśli urządzenie IoT nie może uruchomić usługi IoT Identity Service lub środowiska IoT Edge, obejmującego usługę IoT Identity Service, nadal można zainstalować agenta Device Update i skonfigurować go przy użyciu parametrów połączenia lub certyfikatów X.509.
Używanie parametrów połączenia
Na potrzeby testowania lub na urządzeniach ograniczonych można skonfigurować agenta usługi Device Update bez korzystania z usługi tożsamości IoT. Możesz użyć ciągu połączenia, aby aprowizować agenta Device Update z modułu lub urządzenia.
W portalu Azure skopiuj podstawowe parametry połączenia. Jeśli agent usługi Device Update jest skonfigurowany jako tożsamość modułu, skopiuj parametry połączenia podstawowego modułu. W przeciwnym razie skopiuj parametry połączenia podstawowego urządzenia.
W oknie terminalu na maszynie lub urządzeniu IoT, na którym zainstalowano agenta usługi Device Update, zmodyfikuj plik konfiguracji aktualizacji urządzenia, uruchamiając następujące polecenie:
- W przypadku agenta Ubuntu:
sudo nano /etc/adu/du-config.json. - Dla obrazu referencyjnego Yocto:
sudo nano /adu/du-config.json.
- W przypadku agenta Ubuntu:
W pliku du-config.json ustaw wszystkie wartości zawierające symbol zastępczy
Place value here, a następnie wprowadź skopiowane podstawowe parametry połączenia jako wartość polaconnectionData. Przykład można znaleźć w temacie Przykładowa zawartość pliku "du-config.json".
Używanie certyfikatów X.509
Agent usługi Device Update w wersji 1.3.0 lub nowszej obsługuje uwierzytelnianie do IoT Hub przy użyciu certyfikatów X.509. Azure IoT Hub obsługuje dwie metody konfiguracji certyfikatu X.509:
- Certyfikaty podpisane przez urząd certyfikacji (zalecane): Urządzenia uwierzytelniają się przy użyciu certyfikatu wystawionego przez zaufany urząd certyfikacji.
- Certyfikacje z podpisem własnym (oparte na odcisku palca): Każda tożsamość urządzenia jest skonfigurowana przy użyciu odcisku palca certyfikatu, który IoT Hub sprawdza poprawność podczas uwierzytelniania.
Konfigurowanie uwierzytelniania X.509
Zarejestruj tożsamość urządzenia w IoT Hub z włączonym uwierzytelnianiem X.509.
- Skonfiguruj urządzenie przy użyciu jednego z następujących narzędzi:
- Certyfikat wystawiony przez zaufany urząd certyfikacji.
- Certyfikat z podpisem własnym z zarejestrowanym odciskiem palca.
- Zainstaluj agenta usługi Device Update na urządzeniu.
Usługa Device Provisioning Service (DPS) może służyć do aprowizowania tożsamości urządzeń i certyfikatów. Jednak usługa DPS nie aprowizuje tożsamości modułów. Konfiguracja agenta usługi Device Update musi być nadal ukończona na urządzeniu.
Aby uzyskać instrukcje krok po kroku dotyczące konfiguracji, w tym zaawansowane scenariusze, takie jak klucze oparte na sprzęcie (na przykład sprzętowe moduły zabezpieczeń (HSM) lub magazyn kluczy oparty na protokole PKCS#11 do obsługi kluczy bezpiecznych), zobacz przewodnik uwierzytelniania X.509: Jak użyć uwierzytelniania certyfikatu klienta X.509.
Uwaga
Obsługa uwierzytelniania X.509 w agencie Device Update korzysta ze standardowej konfiguracji tożsamości usługi Azure IoT Hub. Ta funkcja nie jest zintegrowana z zarządzaniem certyfikatami rejestru urządzeń (ADR) Azure (wersja zapoznawcza).
Konfigurowanie agenta usługi Device Update
Po zainstalowaniu agenta usługi Device Update zmodyfikuj plik konfiguracji usługi Device Update, uruchamiając następujące polecenie.
sudo nano /etc/adu/du-config.json
W pliku du-config.json ustaw wszystkie wartości mające symbol zastępczy Place value here.
Azure IoT Identity Service (AIS)
-
"connectionType":"AIS" -
"connectionData":""(pusty ciąg)
Uwaga
W przypadku korzystania z usługi Azure IoT Identity Service (AIS) należy skonfigurować usługę tak, aby zapewnić poprawną tożsamość agentowi usługi Device Update. Obejmuje to konfigurowanie tożsamości w programie config.toml i zapewnienie, że agent jest skojarzony z odpowiednią tożsamością urządzenia lub modułu. Jeśli agent usługi Device Update działa jako moduł, należy skonfigurować odpowiednią tożsamość modułu, aby usługa AIS mogła zwrócić informacje o połączeniu modułu z agentem. Aby uzyskać szczegółowe informacje o konfiguracji, zobacz Konfigurowanie usługi Azure IoT Identity Service.
Parametry połączenia
-
"connectionType":"string" -
"connectionData":"HostName=<hub>.azure-devices.net;DeviceId=<device>;SharedAccessKey=<key>"(zastąp swoją nazwą hosta usługi IoT Hub, identyfikatorem urządzenia i kluczem dostępu współdzielonego)
Certyfikaty X.509
-
"connectionType":"x509" -
"connectionData":"HostName=<hub>.azure-devices.net;DeviceId=<device>;x509=true"(zastąp swoją nazwą hosta IoT Hub i identyfikatorem urządzenia) -
"connectionX509CertFilePath":"/etc/adu/certs/client.pem" -
"connectionX509PrivateKeyFilePath":"/etc/adu/certs/client.key" -
"connectionX509CaCertFilePath":"/etc/adu/certs/ca.pem"
Aby uzyskać szczegółowe informacje o konfiguracji, zobacz przewodnik konfiguracji agenta aktualizacji urządzeń Azure.
Aby uzyskać więcej informacji, zobacz: Plik konfiguracji aktualizacji urządzenia. Przykład można znaleźć w temacie Przykładowa zawartość pliku "du-config.json".
Uruchamianie agenta usługi Device Update
Uruchom agenta usługi Device Update i sprawdź, czy działa on pomyślnie na urządzeniu.
W oknie terminalu na maszynie lub urządzeniu IoT, na którym zainstalowano agenta usługi Device Update, uruchom ponownie agenta, uruchamiając następujące polecenie:
sudo systemctl restart deviceupdate-agentSprawdź stan agenta, uruchamiając następujące polecenie.
sudo systemctl status deviceupdate-agentPowinien zostać wyświetlony stan
OK.Na stronie portalu usługi IoT Hub przejdź do pozycji Urządzenia lub usługa IoT Edge , aby znaleźć skonfigurowane urządzenie i wyświetlić agenta usługi Device Update uruchomionego jako moduł. Na przykład:
Włącz agenta Device Update za serwerem proxy
Urządzenia z agentem usługi Device Update wysyłają żądania HTTPS do komunikacji z usługą IoT Hub. Jeśli urządzenie połączono z siecią korzystającą z serwera proxy, należy skonfigurować usługę systemową Device Update w celu komunikowania się za pośrednictwem serwera.
Przed skonfigurowaniem aktualizacji urządzenia upewnij się, że masz adres URL serwera proxy. Adres URL serwera proxy jest w formacie protocol://proxy_host:proxy_port.
Utwórz katalog konfiguracji przesłaniania systemd oraz plik przesłaniający, uruchamiając następujące polecenie:
sudo mkdir -p /etc/systemd/system/deviceupdate-agent.service.d
sudo nano /etc/systemd/system/deviceupdate-agent.service.d/override.conf
Dodawanie szczegółów serwera proxy do konfiguracji
[Service]
Environment="HTTP_PROXY=http://your.proxy.server:port"
Environment="HTTPS_PROXY=http://your.proxy.server:port"
Uruchom ponownie agenta, aby zastosować zmiany:
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl restart deviceupdate-agent
Następnie możesz sprawdzić, czy zmienne środowiskowe zostały zastosowane, wykorzystując odpowiednie polecenie.
sudo systemctl show deviceupdate-agent | grep -i proxy
Kompilowanie i uruchamianie agenta usługi Device Update
Możesz również skompilować i zmodyfikować własnego niestandardowego agenta usługi Device Update. Postępuj zgodnie z instrukcjami w artykule Jak skompilować agenta aktualizacji urządzenia, aby skompilować agenta aktualizacji urządzenia ze źródła.
Po pomyślnym skompilowaniu agenta postępuj zgodnie z informacjami w sekcji Uruchamianie agenta referencyjnego Device Update dla usługi IoT Hub, aby uruchomić agenta. Aby wprowadzić zmiany niezbędne do dodania agenta do obrazu, postępuj zgodnie z instrukcjami w sekcji Jak zmodyfikować kod agenta aktualizacji urządzeń.
Rozwiązywanie problemów
Jeśli wystąpią problemy, zapoznaj się z artykułem Device Update for IoT Hub Troubleshooting Guide (Przewodnik rozwiązywania problemów z usługą Device Update for IoT Hub), aby ułatwić rozwiązywanie problemów i zbieranie niezbędnych informacji w celu udostępnienia firmie Microsoft.
Powiązana zawartość
- Przewodnik rozwiązywania problemów z aktualizacją urządzenia dla usługi IoT Hub
- Usługa Azure Device Update dla usługi IoT Hub przy użyciu obrazu urządzenia Raspberry Pi
- Usługa Azure Device Update dla usługi IoT Hub przy użyciu agenta pakietu Ubuntu
- Samouczek: ukończenie aktualizacji serwera proxy przy użyciu usługi Device Update dla usługi Azure IoT Hub
- Usługa Azure Device Update dla usługi IoT Hub przy użyciu agenta symulatora
- Aktualizacja urządzenia dla usługi Azure IoT Hub przy użyciu środowiska Eclipse ThreadX