Provisionar o agente de Atualização de Dispositivo do Azure para Hub IoT
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 do módulo.
Observação
Se você usar o agente de Atualização de Dispositivo, verifique se está na versão GA (disponibilidade geral) da versão 1.0.0. Você pode verificar as versões instaladas do agente de Atualização de Dispositivo e do agente de Otimização de Entrega na seção de propriedades do dispositivo IoT gêmeo. Para obter mais informações, consulte Migrar dispositivos e grupos para a versão mais recente da Atualização de Dispositivo.
Identidade do módulo e identidade do dispositivo
Você pode criar até 50 identidades de módulo em cada identidade do dispositivo do Hub IoT do Azure. Cada identidade do módulo implicitamente gera um gêmeo de identidade do módulo. No lado do dispositivo, você pode usar os SDKs de dispositivo do Hub IoT para criar módulos que abrem uma conexão independente com o Hub IoT.
A identidade do módulo e o gêmeo da identidade do módulo fornecem os mesmos recursos que a identidade do dispositivo e o dispositivo gêmeo, mas com granularidade mais precisa. Para obter mais informações, confira Noções básicas e uso de módulos gêmeos no Hub IoT.
Quando você provisiona o agente de Atualização de Dispositivo como uma identidade do módulo, todas as comunicações entre o dispositivo e o serviço de Atualização de Dispositivo devem ocorrer no 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 dispositivo gêmeo.
Tipos de atualização com suporte
A Atualização de Dispositivo oferece suporte aos seguintes tipos de atualização over-the-air para dispositivos IoT:
- Dispositivos Linux IoT Edge e não IoT Edge:
- Agente de Atualização de Dispositivo do Eclipse ThreadX
- Dispositivos desconectados por trás de gateways
Preparar-se para atualizações de pacote
Para configurar um dispositivo IoT ou dispositivo IoT Edge para instalar atualizações baseadas em pacote, adicione packages.microsoft.com
aos repositórios do computador seguindo estas etapas:
Abra uma janela do Terminal no computador ou dispositivo IoT em que você deseja instalar o agente de Atualização de Dispositivo.
Instale a configuração do repositório que corresponde ao sistema operacional do dispositivo, por exemplo:
curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ./microsoft-prod.list
Copie a lista gerada para seu diretório sources.list.d.
sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/
Instale a chave pública do Microsoft GPG.
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo 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 em dispositivos IoT não IoT Edge. Para verificar se você tem o IoT Edge habilitado em seu dispositivo, consulte Exibir dispositivos registrados e recuperar informações de provisionamento.
Você pode baixar imagens de exemplo para usar na seção Ativos na página Versões. Em Tutorial_RaspberryPi3.zip, o arquivo swUpdate é a imagem base que você pode instalar em uma 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 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 IoT Edge Linux.
Instale o agente de atualização de imagem da Atualização de Dispositivo executando o seguinte comando:
sudo apt-get install deviceupdate-agent
Instalar o agente de atualização do pacote de Atualização de Dispositivo.
Para as versões mais recentes do agente a partir de 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 update
sudo apt-get install deviceupdate-agent
Para versões do agente RC (versão Release Candidate), baixe o arquivo .deb de Versões para o computador no 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 MCC (Cache Conectado da Microsoft) para um cenário de dispositivo desconectado, instale o plug-in do 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.
Instale a versão mais recente do Serviço de Identidade IoT seguindo as instruções em Instalar o Serviço de Identidade de Internet das Coisas do Azure.
Configure o Serviço de Identidade de IoT seguindo as instruções em Configurando o Serviço de Identidade de Internet das Coisas do Azure.
Instale o agente de Atualização de Dispositivo executando o comando a seguir:
sudo apt-get install deviceupdate-agent
Observação
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 assim você pode instalar o agente de Atualizar de Dispositivo e configurá-lo usando uma cadeia de conexão.
Configurar o agente de Atualização de Dispositivo
Depois de instalar o agente de atualização do dispositivo, edite o arquivo de configuração da Atualização de Dispositivo executando o comando a seguir.
sudo nano /etc/adu/du-config.json
No arquivo du-config.json, defina todos os valores que têm um espaço reservado Place value here
. Para agentes que usam o Serviço de Identidade IoT para provisionamento, altere o connectionType
para AIS
e defina o campo ConnectionData
como uma cadeia de caracteres vazia. Para obter um exemplo, consulte Conteúdo do arquivo de exemplo "du-config.json".
Usar uma cadeia de conexão
Para testar ou em dispositivos restritos, você pode configurar o agente de Atualização de Dispositivo sem usar o serviço de Identidade IoT. Você pode usar uma cadeia de conexão para provisionar o agente de Atualização de Dispositivo 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 do módulo, copie a cadeia de conexão primária do módulo. Caso contrário, copie a cadeia de conexão primária do dispositivo.
Em uma janela do Terminal no computador ou no dispositivo IoT em que você instalou o agente de Atualização de Dispositivo, edite o arquivo de configuração da Atualização de Dispositivo executando o seguinte comando:
- Para um agente do Ubuntu:
sudo nano /etc/adu/du-config.json
. - Para uma imagem de referência do Yocto:
sudo nano /adu/du-config.json
.
- Para um agente do Ubuntu:
No arquivo du-config.json, defina todos os valores que têm um espaço reservado
Place value here
e insira a cadeia de conexão primária copiada como o valor do campoconnectionData
. Para obter um exemplo, consulte Conteúdo do arquivo de exemplo "du-config.json".
Iniciar o agente de Atualização de Dispositivo
Inicie o agente de Atualização de Dispositivo e verifique se ele está sendo executado com êxito em seu dispositivo.
Em uma janela do Terminal no computador ou no dispositivo IoT em que você instalou o agente de Atualização de Dispositivo, reinicie o agente executando o seguinte comando:
sudo systemctl restart deviceupdate-agent
Verifique o status do agente executando o comando a seguir.
sudo systemctl status deviceupdate-agent
Você deverá ver o status
OK
.Na página do portal do Hub IoT, acesse Dispositivos ou IoT Edge para localizar o dispositivo configurado 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 por trá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 o seu dispositivo a uma rede que usa um servidor proxy, será necessário configurar o serviço systemd de atualização de dispositivo para se comunicar por meio do servidor.
Antes de configurar a Atualização do Dispositivo, certifique-se de possuir a URL do Proxy. A URL do proxy está no protocolo de formato://proxy_host:proxy_port.
Navegue até a configuração de Atualização de Dispositivo executando o seguinte comando:
sudo systemctl edit deviceupdate-agent.service
Adicionar os detalhes do proxy à configuração
[Service]
Environment="https_proxy=<Proxy URL>"
Reinicie o agente para aplicar as alterações:
sudo systemctl daemon-reload
sudo systemctl restart deviceupdate-agent
sudo systemctl status deviceupdate-agent
Criar e executar um agente de Atualização de Dispositivo
Você também pode criar e modificar seu agente personalizado de Atualização de Dispositivo. Siga as instruções em Como criar o agente de Atualização de Dispositivo para criar o agente de Atualização de Dispositivo a partir da origem.
Depois que o agente for compilado com êxito, siga Executar o agente de referência da Atualização de Dispositivo para Hub IoT para executar o agente. Para fazer as alterações necessárias para incorporar o agente à sua imagem, siga Como modificar o código do agente de Atualização de Dispositivo.
Solução de problemas
Se você tiver problemas, examine o Guia de solução de problemas de Atualização de Dispositivo para Hub IoT para ajudar a resolver os problemas e coletar as informações necessárias para fornecer à Microsoft.
Conteúdo relacionado
- Guia de solução de problemas para Atualização de Dispositivo para Hub IoT
- Atualização de Dispositivo do Azure para Hub IoT usando uma imagem do Raspberry Pi
- Atualização de Dispositivo do Azure para 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 simulador
- Atualização de dispositivo para o Hub IoT do Azure usando o Eclipse ThreadX