Udostępnij za pośrednictwem


Aktualizacja urządzenia dla pliku konfiguracji usługi IoT Hub

Agent usługi Device Update pobiera informacje o konfiguracji z du-config.json pliku na urządzeniu. Agent odczytuje te wartości i zgłasza je do usługi Device Update:

  • AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["manufacturer"]
  • AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["model"]
  • DeviceInformation.manufacturer
  • DeviceInformation.model
  • additionalProperties
  • connectionData
  • connectionType

Lokalizacja pliku

Podczas instalowania agenta Debiana na urządzeniu IoT z systemem operacyjnym Linux zmodyfikuj plik w /etc/adu/du-config.json celu zaktualizowania wartości. W przypadku systemu kompilacji Yocto w partycji lub dysku o nazwie aduutwórz plik json o nazwie /adu/du-config.json.

Lista pól

Nazwa/nazwisko opis
Wersja schematu Wersja schematu, która mapuje bieżącą wersję formatu pliku konfiguracji.
aduShellTrustedUsers Lista użytkowników, którzy mogą uruchomić program adu-shell . Uwaga: adu-shell to program brokera, który wykonuje różne akcje aktualizacji jako "root". Programy obsługi aktualizacji zawartości domyślnej aktualizacji urządzenia wywołują adu-shell w celu wykonywania zadań wymagających uprawnień administratora. Przykłady zadań, które wymagają tego uprawnienia, to apt-get install lub wykonywanie skryptu uprzywilejowanego.
manufacturer Zgłoszone przez interfejs AzureDeviceUpdateCore:4.ClientMetadata:4 w celu sklasyfikowania urządzenia pod kątem wdrożenia aktualizacji.
model Zgłoszone przez interfejs AzureDeviceUpdateCore:4.ClientMetadata:4 w celu sklasyfikowania urządzenia pod kątem wdrożenia aktualizacji.
iotHubProtocol Akceptowane wartości to mqtt lub mqtt/ws aby zmienić protokół używany do nawiązywania połączenia z usługą IoT Hub. Wartość domyślna to "mqtt"
compatPropertyNames Te właściwości służą do sprawdzania zgodności urządzenia w celu kierowania wdrożenia aktualizacji. Dla wszystkich właściwości określonych do użycia w celu zachowania zgodności wartości muszą być tylko w małych literach
additionalProperties Pole opcjonalne. Dodatkowe zgłaszane właściwości urządzenia można ustawić i użyć do sprawdzania zgodności. Ograniczone do pięciu właściwości urządzenia. Te właściwości powinny mieć tylko małe litery.
connectionType Akceptowane wartości to string lub AIS. Użyj string polecenia podczas ręcznego łączenia urządzenia z usługą IoT Hub na potrzeby testowania. W przypadku scenariuszy produkcyjnych użyj AIS usługi IoT Identity Service, aby połączyć urządzenie z usługą IoT Hub. Aby uzyskać więcej informacji, zobacz Omówienie konfiguracji usługi tożsamości IoT.
connectionData Jeśli parametr connectionType = "string", dodaj urządzenie lub moduł IoT parametry połączenia tutaj. Jeśli connectionType = "AIS", ustaw parametr connectionData na puste parametry ("connectionData": "").
manufacturer Zgłoszone przez agenta usługi Device Update w ramach interfejsu DeviceInformation .
model Zgłoszone przez agenta usługi Device Update w ramach interfejsu DeviceInformation .
extensionsFolder Pole opcjonalne. Spowoduje to ustawienie ścieżki dla folderu Rozszerzenia usługi ADU. Ścieżka domyślna to "/var/lib/adu/extensions"
downloadsFolder Pole opcjonalne. Spowoduje to ustawienie ścieżki folderu pobierania usługi ADU. Domyślna ścieżka to "/var/lib/adu/downloads"
aduShellFilePath Pole opcjonalne. Spowoduje to ustawienie ścieżki dla powłoki ADU. Ścieżka domyślna to "/usr/lib/adu"
downloadTimeoutInMinutes Pole opcjonalne. Spowoduje to ustawienie limitu czasu pobierania w minutach dla ładunku aktualizacji. Wartość zero oznacza użycie wartości domyślnej, która wynosi 8 godzin.

Pole "Datafolder" może służyć do ustawiania ścieżki dla folderu danych USŁUGI ADU. Funkcja CheckDataDir() w czeku zarządzania kondycją musi zostać zaktualizowana, aby wskazywała wartość w pliku konfiguracji. Domyślna ścieżka to "/var/lib/adu" jest używana w przeciwnym razie.

Przykładowa zawartość pliku "du-config.json"


{
  "schemaVersion": "1.1",
  "aduShellTrustedUsers": [
    "adu",
    "do"
  ],
  "iotHubProtocol": "mqtt",
  "compatPropertyNames":"manufacturer,model,location,environment" <The property values must be in lower case only>,
  "manufacturer": <Place your device info manufacturer here>,
  "model": <Place your device info model here>,
  "agents": [
    {
      "name": <Place your agent name here>,
      "runas": "adu",
      "connectionSource": {
        "connectionType": "string", //or “AIS”
        "connectionData": <Place your Azure IoT device connection string here>
      },
      "manufacturer": <Place your device property manufacturer here>,
      "model": <Place your device property model here>,
      "additionalDeviceProperties": {
        "location": "usa",
        "environment": "development"
      }
    }
  ]
}