Partilhar via


Atualização de dispositivo para o arquivo de configuração do Hub IoT

O agente de Atualização de Dispositivo obtém suas informações de configuração do du-config.json arquivo no dispositivo. O agente lê esses valores e os relata ao serviço de Atualização de Dispositivo:

  • AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["fabricante"]
  • AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["modelo"]
  • DeviceInformation.fabricante
  • DeviceInformation.model
  • additionalProperties
  • connectionData
  • Tipo de conexão

Localização do ficheiro

Ao instalar o agente Debian em um dispositivo IoT com um sistema operacional Linux, modifique o /etc/adu/du-config.json arquivo para atualizar valores. Para um sistema de construção Yocto, na partição ou disco chamado adu, crie um arquivo json chamado /adu/du-config.json.

Lista de campos

Nome Descrição
SchemaVersion A versão do esquema que mapeia a versão atual do formato do arquivo de configuração.
aduShellTrustedUsers A lista de usuários que podem iniciar o programa adu-shell . Nota, adu-shell é um programa de corretagem que faz várias ações de atualização como 'root'. Os manipuladores de atualização de conteúdo padrão da Atualização de Dispositivo invocam adu-shell para executar tarefas que exigem privilégio de superusuário. Exemplos de tarefas que exigem esse privilégio são apt-get install : ou executando um script privilegiado.
fabricante Relatado pela interface AzureDeviceUpdateCore:4.ClientMetadata:4 para classificar o dispositivo para direcionar a implantação da atualização.
modelo Relatado pela interface AzureDeviceUpdateCore:4.ClientMetadata:4 para classificar o dispositivo para direcionar a implantação da atualização.
Protocolo iotHub; Os valores aceitos são mqtt ou mqtt/ws para alterar o protocolo usado para se conectar ao hub IoT. O valor padrão é 'mqtt'
compatPropertyNames Essas propriedades são usadas para verificar a compatibilidade do dispositivo para direcionar a implantação da atualização. Para todas as propriedades especificadas a serem usadas para compatibilidade, os valores devem estar apenas em minúsculas
additionalProperties Campo opcional. Propriedades adicionais relatadas pelo dispositivo podem ser definidas e usadas para verificação de compatibilidade. Limitado a cinco propriedades do dispositivo. Estas propriedades devem estar apenas em minúsculas.
Tipo de conexão Os valores aceites são string ou AIS. Use string ao conectar o dispositivo ao Hub IoT manualmente para fins de teste. Para cenários de produção, use AIS ao usar o IoT Identity Service para conectar o dispositivo ao Hub IoT. Para obter mais informações, consulte Compreender as configurações do IoT Identity Service.
connectionData Se connectionType = "string", adicione a cadeia de conexão do dispositivo IoT ou do módulo aqui. Se connectionType = "AIS", defina connectionData como string vazia ("connectionData": "").
fabricante Relatado pelo agente de Atualização de Dispositivo como parte da interface DeviceInformation .
modelo Relatado pelo agente de Atualização de Dispositivo como parte da interface DeviceInformation .
extensionsFolder Campo opcional. Isso define o caminho para a pasta ADU Extensions. O caminho padrão é '/var/lib/adu/extensions'
downloadsPasta Campo opcional. Isso define o caminho para a pasta Downloads da ADU. O caminho padrão é '/var/lib/adu/downloads'
aduShellFilePath Campo opcional. Isso define o caminho para o shell da ADU. O caminho padrão é '/usr/lib/adu'
baixarTimeoutInMinutes Campo opcional. Isso define o tempo limite de download em minutos para a carga útil da atualização. Um valor zero significa usar o padrão que é 8 horas.

O campo 'Datafolder' pode ser usado para definir o caminho para a pasta ADU Data. CheckDataDir() na verificação de gerenciamento de integridade precisa ser atualizado para apontar para o valor no arquivo de configuração. O caminho padrão é '/var/lib/adu' é usado caso contrário.

Exemplo de conteúdo do arquivo "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"
      }
    }
  ]
}