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"
}
}
]
}