Partilhar via


Tutorial: Atualização de dispositivo para o Hub IoT do Azure usando o agente de referência do simulador Ubuntu (18.04 x64)

A Atualização de Dispositivo para o Hub IoT do Azure dá suporte a atualizações baseadas em imagem, pacote e script.

As atualizações de imagem fornecem um nível mais alto de confiança no estado final do dispositivo. Normalmente, é mais fácil replicar os resultados de uma atualização de imagem entre um ambiente de pré-produção e um ambiente de produção porque ele não apresenta os mesmos desafios que os pacotes e suas dependências. Devido à sua natureza atômica, você também pode adotar um modelo de failover A/B facilmente.

Este tutorial orienta você pelas etapas para concluir uma atualização completa baseada em imagem usando a Atualização de Dispositivo para o Hub IoT.

Neste tutorial, você aprenderá a:

  • Transfira e instale uma imagem.
  • Adicione uma tag ao seu dispositivo IoT.
  • Importe uma atualização.
  • Crie um grupo de dispositivos.
  • Implante uma atualização de imagem.
  • Monitore a implantação da atualização.

Pré-requisitos

Se ainda não tiver feito isso, crie uma conta e uma instância de Atualização de Dispositivo e configure um hub IoT.

Baixe o arquivo zip nomeado Tutorial_Simulator.zip de Release Assets na versão mais recente e descompacte-o.

Adicionar um dispositivo ao Hub IoT do Azure

Depois que o agente de Atualização de Dispositivo estiver em execução em um dispositivo IoT, você deverá adicionar o dispositivo ao Hub IoT. A partir do Hub IoT, uma cadeia de conexão é gerada para um dispositivo específico.

  1. No portal do Azure, inicie a Atualização de Dispositivo para o Hub IoT.

  2. Crie um novo dispositivo.

  3. No painel esquerdo, vá para Dispositivos. Em seguida, selecione Novo.

  4. Em ID do dispositivo, insira um nome para o dispositivo. Verifique se a caixa de seleção Gerar chaves automaticamente está marcada.

  5. Selecione Salvar.

  6. Agora, você retornará à página Dispositivos e o dispositivo criado deverá estar na lista. Selecione esse dispositivo.

  7. Na visualização do dispositivo, selecione o ícone Copiar ao lado de Cadeia de conexão primária.

  8. Cole os caracteres copiados em algum lugar para uso posterior nas seguintes etapas:

    Esta cadeia de caracteres copiada é a cadeia de conexão do dispositivo.

Instalar um agente de Atualização de Dispositivo para testá-lo como um simulador

  1. Siga as instruções para instalar o runtime do Azure IoT Edge.

    Observação

    O agente de Atualização de Dispositivo não depende do IoT Edge. Mas ele depende do daemon do IoT Identity Service instalado com o IoT Edge (1.2.0 e superior) para obter uma identidade e se conectar ao Hub IoT.

    Embora não seja abordado neste tutorial, o daemon do IoT Identity Service pode ser instalado de forma autônoma em dispositivos IoT baseados em Linux. A sequência de instalação é importante. O agente do pacote de Atualização de Dispositivo deve ser instalado após o Serviço de Identidade IoT. Caso contrário, o agente de pacote não será registrado como um componente autorizado para estabelecer uma conexão com o Hub IoT.

  2. Em seguida, instale os pacotes .deb do agente de Atualização de Dispositivo.

    sudo apt-get install deviceupdate-agent deliveryoptimization-plugin-apt 
    
  3. Insira a cadeia de conexão primária do módulo (ou dispositivo, dependendo de como você provisionou o dispositivo com a Atualização de Dispositivo) no arquivo de configuração executando o seguinte comando:

    sudo nano /etc/adu/du-config.json
    
  4. Configure o agente para funcionar como simulador. Execute o seguinte comando no dispositivo IoT para que o agente de Atualização de Dispositivo invoque o manipulador do simulador para processar uma atualização de pacote com APT ('microsoft/apt:1'):

    sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_simulator_1.so --update-type 'microsoft/apt:1'
    

    Para registrar e invocar o manipulador do simulador, use o seguinte formato, preenchendo os espaços reservados:

    sudo /usr/bin/AducIotAgent --register--content-handler <full path to the handler file> --update-type <update type name>

  5. Você precisará do arquivo sample-du-simulator-data.json do baixado Tutorial_Simulator.zip nos pré-requisitos.

    Abra o arquivo sample-du-simulator-data.json e copie o conteúdo para a área de transferência:

    nano sample-du-simulator-data.json
    

    Selecione o conteúdo do arquivo e pressione Ctrl+C. Pressione Ctrl+X para fechar o arquivo e não salvar as alterações.

    Execute o seguinte comando para criar e editar o du-simulator-data.json arquivo na pasta tmp:

    sudo nano /tmp/du-simulator-data.json
    

    Pressione Ctrl+V para colar o conteúdo no editor. Selecione Ctrl+X para salvar as alterações e, em seguida, Y.

    Alterar permissões:

    sudo chown adu:adu /tmp/du-simulator-data.json
    sudo chmod 664 /tmp/du-simulator-data.json
    

    Se /tmp não existir, então:

     sudo mkdir/tmp
     sudo chown root:root/tmp
     sudo chmod 1777/tmp
    
  6. Reinicie o agente de Atualização de Dispositivo executando o seguinte comando:

     sudo systemctl restart adu-agent
    

A Atualização de Dispositivo para o software Hub IoT do Azure está sujeita aos seguintes termos de licença:

Leia os termos de licença antes de usar o agente. A sua instalação e utilização constituem a sua aceitação destes termos. Se você não concordar com os termos de licença, não use o agente de Atualização de Dispositivo para o Hub IoT.

Observação

Após realizar o teste com o simulador, execute o seguinte comando para chamar o manipulador APT e atualizar pacotes remotamente:

# sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_apt_1.so --update-type 'microsoft/a pt:1'

Adicionar uma etiqueta ao dispositivo

  1. Entre no portal do Azure e vá para o hub IoT.

  2. Em Dispositivos no painel esquerdo, localize seu dispositivo IoT e vá para o dispositivo gêmeo ou módulo gêmeo.

  3. No módulo twin do agente de Atualização de Dispositivo, exclua todos os valores de tag de Atualização de Dispositivo existentes, configurando-os para nulo. Se estiver a usar a identidade do dispositivo com um agente de atualização, faça estas alterações no gémeo digital do dispositivo.

  4. Adicione um novo valor de tag de Atualização de Dispositivo, conforme mostrado:

        "tags": {
                "ADUGroup": "<CustomTagValue>"
                }
    

Importar a atualização

  1. Você vai precisar dos arquivos TutorialImportManifest_Sim.importmanifest.json e adu-update-image-raspberrypi3.swu a partir do Tutorial_Simulator.zip baixado, mencionados nos pré-requisitos. O arquivo de atualização é reutilizado a partir do tutorial do Raspberry Pi. Como a atualização neste tutorial é simulada, o conteúdo específico do arquivo não importa.

  2. Entre no portal do Azure e vá para seu hub IoT com a Atualização de Dispositivo. No painel esquerdo, em Gerenciamento Automático de Dispositivos, selecione Atualizações.

  3. Selecione a guia Atualizações .

  4. Selecione + Importar nova atualização.

  5. Selecione + Selecionar no contêiner de armazenamento. Selecione uma conta existente ou crie uma nova conta usando + Conta de armazenamento. Em seguida, selecione um contêiner existente ou crie um novo contêiner usando + Container. Esse contêiner será usado para preparar seus arquivos de atualização para importação.

    Observação

    Recomendamos que você use um novo contêiner sempre que importar uma atualização para evitar a importação acidental de arquivos de atualizações anteriores. Se você não usar um novo contêiner, certifique-se de excluir todos os arquivos do contêiner existente antes de concluir esta etapa.

    Captura de ecrã que mostra Contas de Armazenamento e Contentores.

  6. No seu contêiner, selecione Carregar e vá para os arquivos que você baixou na etapa 1. Depois de selecionar todos os seus arquivos de atualização, selecione Carregar. Em seguida, selecione o botão Selecionar para retornar à página Importar atualização .

    Captura de ecrã que mostra a seleção de ficheiros carregados.

    Esta captura de tela mostra a etapa de importação. Os nomes de arquivo podem não corresponder aos usados no exemplo.

  7. Na página Importar atualização, verifique os arquivos que devem ser importados. Em seguida, selecione Importar atualização para iniciar o processo de importação.

    Captura de tela que mostra Importar atualização.

  8. O processo de importação começa e a tela alterna para a seção Histórico de importação . Quando a coluna Status indicar que a importação foi bem-sucedida, selecione o cabeçalho Atualizações disponíveis . Você deve ver sua atualização importada na lista agora.

    Captura de tela que mostra o status do trabalho.

Saiba mais sobre como importar atualizações.

Criar um grupo de atualização

  1. Vá para a guia Grupos e implantações na parte superior da página.

    Captura de ecrã que mostra dispositivos não agrupados.

  2. Selecione Adicionar grupo para criar um novo grupo.

    Captura de ecrã que mostra a adição do grupo de dispositivos.

  3. Selecione uma tag do Hub IoT e uma classe de dispositivo na lista. Em seguida, selecione Criar grupo.

    Captura de ecrã que mostra a seleção de etiquetas.

  4. Depois de o grupo ser criado, o gráfico de conformidade de atualização e a lista de grupos são atualizados. O gráfico de conformidade de atualização mostra a contagem de dispositivos em vários estados de conformidade: Na última atualização, Novas atualizações disponíveis e Atualizações em andamento. Saiba mais sobre a conformidade de atualizações.

    Captura de tela que mostra a exibição de conformidade de atualização.

  5. Você deve ver seu grupo recém-criado e todas as atualizações disponíveis para os dispositivos no novo grupo. Se houver dispositivos que não atendam aos requisitos de classe de dispositivo do grupo, eles aparecerão em um grupo inválido correspondente. Para implantar a melhor atualização disponível para o novo grupo definido pelo usuário a partir desse modo de exibição, selecione Implantar ao lado do grupo.

Saiba mais sobre como adicionar tags e criar grupos de atualização.

Implantar a atualização

  1. Depois que o grupo for criado, você verá uma nova atualização disponível para seu grupo de dispositivos. Um link para a atualização deve estar em Melhor atualização. Talvez seja necessário atualizar uma vez. Saiba mais sobre a conformidade de atualização.

  2. Selecione o grupo-alvo selecionando o nome do grupo. Você é direcionado para Detalhes do grupo em Noções básicas do grupo.

    Captura de ecrã que mostra os detalhes do Grupo.

  3. Para iniciar a implantação, vá para a guia Implantação atual . Selecione o link de implantação ao lado da atualização desejada na seção Atualizações disponíveis . A melhor atualização disponível para um determinado grupo é indicada com um destaque Melhor.

    Captura de ecrã que mostra a seleção de uma atualização.

  4. Agende sua implantação para começar imediatamente ou no futuro. Em seguida, selecione Criar.

    Captura de ecrã que mostra Criar implantação.

  5. Em Detalhes da implantação, Status se transforma em Ativo. A atualização implantada está marcada com (a implantar).

    Captura de tela que mostra que a implantação está ativa.

  6. Veja o gráfico de conformidade para ver se a atualização está em andamento.

  7. Depois que o dispositivo for atualizado com êxito, você verá que o gráfico de conformidade e os detalhes de implantação foram atualizados para refletir o mesmo.

    Captura de tela que mostra que a atualização foi bem-sucedida.

Monitorar a implantação da atualização

  1. Selecione a guia Histórico de implantação na parte superior da página.

    Captura de tela que mostra o histórico de implantação.

  2. Selecione Detalhes ao lado da implantação que você criou.

    Captura de tela que mostra os detalhes da implantação.

  3. Selecione Atualizar para visualizar os detalhes de status mais recentes.

Agora concluiu com sucesso uma atualização de imagem de ponta a ponta, utilizando a Atualização de Dispositivo do IoT Hub, usando o agente de referência do simulador Ubuntu (18.04 x64).

Limpeza de recursos

Quando não for mais necessário, limpe sua conta de Atualização de Dispositivo, instância, hub IoT e dispositivo IoT.

Próximos passos