Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O agente do módulo de Atualização de Dispositivo pode ser executado junto com outros processos do sistema e módulos do IoT Edge que se conectam ao seu Hub IoT como parte do mesmo dispositivo lógico. Este artigo descreve como provisionar o agente de Atualização de Dispositivo como uma identidade de módulo.
Nota
Use a versão 1.x mais recente da implementação de referência do agente de atualização de dispositivos para beneficiar das melhorias mais recentes. Verifique a versão instalada na secção de propriedades do seu dispositivo gémeo IoT. Para obter mais informações, consulte as plataformas suportadas do Device Update for Hub IoT.
Identidade do módulo e identidade do dispositivo
Você pode criar até 50 identidades de módulo em cada identidade de dispositivo do Hub IoT do Azure. Cada identidade de módulo gera implicitamente um gêmeo de identidade de módulo. No lado do dispositivo, você pode usar os SDKs de dispositivo do Hub IoT para criar módulos que abram uma conexão independente com o Hub IoT.
A identidade do módulo e o gêmeo de identidade do módulo fornecem recursos semelhantes à identidade do dispositivo e ao gêmeo do dispositivo, mas com uma granularidade mais fina. Para obter mais informações, consulte Compreender e utilizar módulos gémeos no Hub IoT.
Quando você provisiona o agente de Atualização de Dispositivo como uma identidade de módulo, todas as comunicações entre o dispositivo e o serviço de Atualização de Dispositivo devem ocorrer pelo módulo gêmeo. Lembre-se de marcar o módulo gêmeo do dispositivo ao criar grupos de dispositivos. Se você migrar de um agente no nível do dispositivo para adicionar o agente como uma identidade de módulo, remova o agente mais antigo que se comunicava pelo gêmeo do dispositivo.
Tipos de atualização suportados
O Device Update suporta os seguintes tipos de atualização por via aérea de dispositivos IoT:
- Dispositivos IoT Edge e dispositivos Linux não IoT Edge:
- Agente de atualização de dispositivo Eclipse ThreadX
- Dispositivos desconectados atrás de gateways
Preparar-se para atualizações de pacotes
Para configurar um dispositivo IoT ou um dispositivo IoT Edge para instalar atualizações baseadas em pacotes, adicione packages.microsoft.com aos repositórios da sua máquina seguindo estas etapas:
Abra uma janela do Terminal na máquina ou dispositivo IoT onde você deseja instalar o agente de Atualização de Dispositivo.
Instale a configuração do repositório que corresponde ao sistema operacional do seu dispositivo, por exemplo:
curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ./microsoft-prod.listCopie a lista gerada para o diretório sources.list.d .
sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/Instale a chave pública Microsoft GPG.
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpgsudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/
Provisionar o agente de Atualização de Dispositivo
Você pode provisionar o agente de Atualização de Dispositivo como uma identidade de módulo em dispositivos habilitados para IoT Edge ou dispositivos IoT que não sejam IoT Edge. Para verificar se você tem o IoT Edge habilitado em seu dispositivo, consulte Exibir dispositivos registrados e recuperar informações de provisionamento.
Pode transferir imagens de exemplo para utilizar a partir da secção Recursos na página Versões. Em Tutorial_RaspberryPi3.zip, o ficheiro swUpdate é a imagem de base que pode gravar numa placa Raspberry Pi B3+. O arquivo .gz é a atualização que você pode importar por meio da Atualização de dispositivo. Para obter mais informações, consulte Atualização de dispositivo do Azure para o Hub IoT usando uma imagem do Raspberry Pi.
Em dispositivos habilitados para IoT Edge
Siga estas instruções para provisionar o agente de Atualização de Dispositivo em dispositivos habilitados para IoT Edge:
Siga as instruções em Provisionar manualmente um único dispositivo Linux IoT Edge.
Instale o agente de atualização da imagem do Device Update executando o comando seguinte:
sudo apt-get install deviceupdate-agentInstale o agente de atualização do pacote de Atualização de Dispositivo.
Para obter as versões mais recentes do agente do packages.microsoft.com, atualize as listas de pacotes no seu dispositivo e instale o pacote do agente de Atualização de Dispositivo e suas dependências usando:
sudo apt-get updatesudo apt-get install deviceupdate-agentPara versões do agente Release Candidate (rc), baixe o arquivo de .deb de Releases para a máquina na qual você deseja instalar o agente de Atualização de Dispositivo e execute o seguinte comando:
sudo apt-get install -y ./"<PATH TO FILE>"/"<.DEB FILE NAME>"Se você estiver configurando um Microsoft Connected Cache (MCC) para um cenário de dispositivo desconectado, instale o plug-in APT de otimização de entrega da seguinte maneira:
sudo apt-get install deliveryoptimization-plugin-apt
Em dispositivos não habilitados para IoT Edge
Siga estas instruções para provisionar o agente de Atualização de Dispositivo em dispositivos IoT Linux sem o IoT Edge instalado. Pode provisionar o agente usando o Azure IoT Identity Service (AIS) ou configurando as credenciais diretamente no dispositivo.
Use Azure IoT Identity Service (AIS)
Instale a versão mais recente do Serviço de Identidade IoT seguindo as instruções em Instalando o Serviço de Identidade IoT do Azure.
Configure o Serviço de Identidade IoT seguindo as instruções em Configurando o Serviço de Identidade IoT do Azure. Certifique-se de que o serviço está configurado com a identidade apropriada do dispositivo ou módulo para poder fornecer informação de ligação ao agente de Atualização de Dispositivos.
Instale o agente de Atualização de Dispositivo executando o seguinte comando:
sudo apt-get install deviceupdate-agent
Nota
Se o seu dispositivo IoT não puder executar o Serviço de Identidade IoT ou o IoT Edge, que inclui o Serviço de Identidade IoT, ainda pode instalar o agente do Device Update e configurá-lo utilizando uma cadeia de ligação ou certificados X.509.
Utilizar uma string de ligação
Para testes ou em dispositivos restritos, você pode configurar o agente de Atualização de Dispositivo sem usar o serviço IoT Identity. Você pode usar uma cadeia de conexão para provisionar o agente de Atualização de Dispositivo a partir do módulo ou dispositivo.
No portal do Azure, copie a cadeia de conexão primária. Se o agente de Atualização de Dispositivo estiver configurado como uma identidade de módulo, copie a cadeia de conexão principal do módulo. Caso contrário, copie a cadeia de conexão principal do dispositivo.
Numa janela do Terminal no computador ou dispositivo IoT onde instalou o agente do Device Update, edite o ficheiro de configuração do Device Update executando o seguinte comando:
- Para um agente Ubuntu:
sudo nano /etc/adu/du-config.json. - Para uma imagem de referência Yocto:
sudo nano /adu/du-config.json.
- Para um agente Ubuntu:
No ficheiro du-config.json, defina todos os valores que tenham um marcador de posição
Place value heree introduza a cadeia de ligação primária copiada como valor do campoconnectionData. Para obter um exemplo, consulte Exemplo de conteúdo do arquivo "du-config.json".
Usar certificados X.509
O Device Update Agent versão 1.3.0 e posteriores suportam autenticação no Hub IoT usando certificados X.509. Hub IoT do Azure suporta dois métodos de configuração de certificados X.509:
- Certificados assinados pela CA (recomendado): Os dispositivos autenticam-se usando um certificado emitido por uma autoridade certificadora (CA) de confiança.
- Certificados auto-assinados (baseados em impressão digital): Cada identidade de dispositivo é configurada com uma impressão digital de certificado que Hub IoT valida durante a autenticação.
Configurar autenticação X.509
Registe a identidade do seu dispositivo no Hub IoT com a autenticação X.509 ativada.
- Configure o dispositivo usando um:
- Um certificado emitido por uma autoridade certificadora (CA) de confiança.
- Um certificado auto-assinado com uma impressão digital registada.
- Instale o agente de Atualização do Dispositivo no dispositivo.
O Serviço de Provisionamento de Dispositivos (DPS) pode ser usado para fornecer identidades e certificados de dispositivos. No entanto, o DPS não fornece identidades de módulos. A configuração do agente de atualização do dispositivo deve ainda estar completa no dispositivo.
Para instruções de configuração passo a passo, incluindo cenários avançados como chaves suportadas por hardware (por exemplo, módulos de segurança de hardware (HSMs) ou armazenamento de chaves baseado em PKCS#11 para manuseamento seguro de chaves), consulte o guia de autenticação X.509: Como Usar a Autenticação do Certificado de Cliente X.509.
Nota
O suporte de autenticação X.509 no agente Device Update utiliza a configuração padrão de identidade do Hub IoT do Azure. Esta funcionalidade não está integrada com a gestão de certificados (preview) do Azure Device Registry (ADR).
Configurar o agente de Atualização de Dispositivo
Depois de instalar o agente Device Update, edite o ficheiro de configuração Device Update executando o seguinte comando.
sudo nano /etc/adu/du-config.json
No ficheiro du-config.json, defina todos os valores que contêm um marcador de posição Place value here.
Azure IoT Serviço de Identidade (AIS)
-
"connectionType":"AIS" -
"connectionData":""(fio vazio)
Nota
Ao utilizar o Azure IoT Identity Service (AIS), o serviço deve ser configurado para fornecer a identidade correta ao agente de Atualização do Dispositivo. Isto inclui configurar identidades em config.toml e garantir que o agente está associado à identidade adequada do dispositivo ou do módulo. Se o agente de Atualização de Dispositivo correr como um módulo, deve ser configurada uma identidade correspondente para que o AIS possa devolver a informação de ligação do módulo ao agente. Para detalhes de configuração, consulte Configuring the Azure IoT Identity Service.
String de ligação
-
"connectionType":"string" -
"connectionData":"HostName=<hub>.azure-devices.net;DeviceId=<device>;SharedAccessKey=<key>"(substitui pelo teu nome de host Hub IoT, ID do dispositivo e chave de acesso partilhada)
Certificados X.509
-
"connectionType":"x509" -
"connectionData":"HostName=<hub>.azure-devices.net;DeviceId=<device>;x509=true"(substitui pelo teu nome de host Hub IoT e ID do dispositivo) -
"connectionX509CertFilePath":"/etc/adu/certs/client.pem" -
"connectionX509PrivateKeyFilePath":"/etc/adu/certs/client.key" -
"connectionX509CaCertFilePath":"/etc/adu/certs/ca.pem"
Para detalhes completos de configuração, consulte o Guia de Configuração do Agente de Atualização de Dispositivos Azure .
Para mais informações, veja: Ficheiro de configuração Atualização do Dispositivo. Para obter um exemplo, consulte Exemplo de conteúdo do arquivo "du-config.json".
Inicie o agente de Atualização de Dispositivo
Inicie o agente de Atualização de Dispositivo e verifique se ele está sendo executado com êxito no seu dispositivo.
Em uma janela Terminal na máquina ou dispositivo IoT onde você instalou o agente de Atualização de Dispositivo, reinicie o agente executando o seguinte comando:
sudo systemctl restart deviceupdate-agentVerifique o status do agente executando o seguinte comando.
sudo systemctl status deviceupdate-agentVocê deve ver o status
OK.Na página do portal do Hub IoT, vá para Dispositivos ou IoT Edge para localizar o dispositivo que você configurou e veja o agente de Atualização de Dispositivo em execução como um módulo. Por exemplo:
Habilitar o agente de Atualização de Dispositivo atrás de um servidor proxy
Os dispositivos que executam o agente de Atualização de Dispositivo enviam solicitações HTTPS para se comunicar com o Hub IoT. Se você conectou seu dispositivo a uma rede que usa um servidor proxy, precisará configurar o serviço systemd de Atualização de Dispositivo para se comunicar através do servidor.
Antes de configurar a Atualização do Dispositivo, certifique-se de que tem a URL do Proxy. A URL do proxy está no formato protocol://proxy_host:proxy_port.
Crie um diretório de configuração de ajuste do systemd e o ficheiro de ajuste executando o seguinte comando:
sudo mkdir -p /etc/systemd/system/deviceupdate-agent.service.d
sudo nano /etc/systemd/system/deviceupdate-agent.service.d/override.conf
Adicionar os detalhes do proxy à configuração
[Service]
Environment="HTTP_PROXY=http://your.proxy.server:port"
Environment="HTTPS_PROXY=http://your.proxy.server:port"
Reinicie o agente para aplicar as alterações:
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl restart deviceupdate-agent
Em seguida, você pode verificar se as variáveis de ambiente são aplicadas usando
sudo systemctl show deviceupdate-agent | grep -i proxy
Criar e executar um agente de Atualização de Dispositivo
Você também pode criar e modificar seu próprio agente de Atualização de Dispositivo personalizado. Siga as instruções em Como criar o Device Update Agent para criar o Device Update Agent a partir da origem.
Depois que o agente for compilado com êxito, siga Executando a Atualização de Dispositivo para o Agente de Referência do Hub IoT para executar o agente. Para fazer as alterações necessárias para incorporar o agente em sua imagem, siga Como modificar o código do agente de atualização de dispositivo.
Resolução de Problemas
Se você tiver problemas, consulte o Guia de Solução de Problemas da Atualização de Dispositivo para o Hub IoT para ajudar a resolver os problemas e coletar as informações necessárias para fornecer à Microsoft.
Conteúdos relacionados
- Guia de solução de problemas do Device Update for Hub IoT
- Atualização de dispositivo do Azure para o Hub IoT usando uma imagem do Raspberry Pi
- Atualização de dispositivo do Azure para o Hub IoT usando o agente de pacote do Ubuntu
- Tutorial: Concluir uma atualização de proxy usando a Atualização de Dispositivo para o Hub IoT do Azure
- Atualização de Dispositivo do Azure para Hub IoT usando um agente de simulador
- Atualização de dispositivo para o Hub IoT do Azure usando o Eclipse ThreadX