Compartilhar via


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

A Atualização de Dispositivo do Hub IoT do Azure é compatível com 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, já que não são apresentados os mesmos desafios que os pacotes e suas dependências. Devido à natureza atômica, também é possível adotar facilmente um modelo de failover A/B.

O tutorial apresenta as etapas para concluir uma atualização de ponta a ponta baseada em imagem usando a Atualização de Dispositivo para Hub IoT.

Neste tutorial, você aprenderá como:

  • Baixar e instalar uma imagem.
  • Adicionar uma marca ao seu dispositivo IoT.
  • Importar uma atualização.
  • Criar um grupo de dispositivos.
  • Implantar uma atualização de imagem.
  • Monitorar a implantação da atualização.

Pré-requisitos

Se você 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 chamado Tutorial_Simulator.zip de Ativos de Lançamento na última versão e descompacte-o.

Adicionar um dispositivo ao Hub IoT do Azure

Depois que o agente de Atualização de Dispositivo for executado em um dispositivo IoT, você deverá adicionar o dispositivo ao Hub IoT. No Hub IoT, uma cadeia de conexão será gerada para um dispositivo específico.

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

  2. Crie um novo dispositivo.

  3. No painel esquerdo, acesse 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ê é redirecionado à página Dispositivos, e o dispositivo que você criou deverá estar na lista. Selecione o dispositivo.

  7. Na exibiçã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 usá-los posteriormente nas etapas a seguir:

    Essa 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 do pacote de atualizações de dispositivo não depende do IoT Edge. No entanto, ele dependerá do daemon do Serviço de Identidade da IoT que será instalado com o IoT Edge (1.2.0 e posterior) para obter uma identidade e se conectar ao Hub IoT.

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

  2. Depois, instale 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) do dispositivo IoT no arquivo de configuração executando o comando a seguir:

    sudo nano /etc/adu/du-config.json
    
  4. Configure o agente para ser executado como um 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ço 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 Tutorial_Simulator.zip baixado 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 arquivo du-simulator-data.json 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, depois, Y.

    Altere as permissões:

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

    Se /tmp não existir:

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

     sudo systemctl restart adu-agent
    

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

Leia os termos da licença antes de usar o agente. A instalação e o uso confirmam sua aceitação desses termos. Caso não concorde com os termos de licença, não use o agente de Atualização de Dispositivo para Hub IoT.

Observação

Depois de testar com o simulador, execute o comando a seguir para invocar o manipulador APT e implantar atualizações de pacote over-the-air:

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

Adicionar uma marca ao seu dispositivo

  1. Entre no portal do Azure e acesse o hub IoT.

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

  3. No módulo gêmeo do módulo de agente de Atualização de Dispositivo, exclua os valores de marca de Atualização de Dispositivo existentes definindo-os como nulo. Se estiver usando a identidade do dispositivo com um agente de Atualização de Dispositivo, faça essas alterações no dispositivo gêmeo.

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

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

Importar a atualização

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

  2. Entre no portal do Azure e vá para o Hub IoT com a Atualização de Dispositivo. No painel esquerdo, em Gerenciamento Automático de Dispositivo, 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 usando + Conta de armazenamento. Em seguida, selecione um contêiner existente ou crie um contêiner usando + Contêiner. Esse contêiner será usado para preparar os arquivos de atualização para importação.

    Observação

    É recomendável usar um contêiner novo cada vez que você importar uma atualização para evitar a importação acidental de arquivos de atualizações anteriores. Se você não usar um contêiner novo, não deixe de excluir todos os arquivos do contêiner existente antes de concluir esta etapa.

    Captura de tela que mostra as contas de armazenamento e os contêineres.

  6. No contêiner, selecione Upload e navegue até os arquivos baixados na etapa 1. Após selecionar todos os arquivos de atualização, selecione Upload. Em seguida, selecione o botão Selecionar para retornar à página Importar atualização.

    Captura de tela que mostra a seleção de arquivos enviados.

    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, examine os arquivos a serem importados. Em seguida, selecione Importar atualização para iniciar o processo de importação.

    Captura de tela que mostra a atualização de importação.

  8. O processo de importação é iniciado e a tela é alterada 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. Agora a atualização importada deve estar presente na lista.

    Captura de tela que mostra o status do trabalho.

Saiba mais sobre como importar atualizações.

Criar um grupo de atualizações

  1. Acesse a guia Grupos e Implantações na parte superior da página.

    Captura de tela que mostra dispositivos desagrupados.

  2. Selecione Adicionar grupo para criar um novo grupo.

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

  3. Selecione uma marca do Hub IoT e a Classe de Dispositivo na lista. Em seguida, selecione Criar grupo.

    Captura de tela que mostra a seleção de marcas.

  4. Depois que o grupo tiver sido criado, a lista de gráficos e grupos de conformidade de atualizações será atualizada. O gráfico de conformidade da atualização mostra a contagem de dispositivos em vários estados de conformidade: Com a atualização mais recente, 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 da atualização.

  5. Você deve ver o grupo recém-criado e todas as atualizações disponíveis para os dispositivos do novo grupo. Se houver dispositivos que não atendem 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 deste modo de exibição, selecione Implantar ao lado do grupo.

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

Implantar a atualização

  1. Depois que o grupo for criado, você deverá ver uma nova atualização disponível para o grupo de dispositivos. Um link para a atualização deve estar em Melhor atualização. Talvez você precise atualizar novamente. Saiba mais sobre a conformidade das atualizações.

  2. Escolha o grupo de destino selecionando o nome do grupo. Você será direcionado para os Detalhes do grupoda faixa de opções em Noções básicas do grupo.

    Captura de tela que mostra detalhes do grupo.

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

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

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

    Captura de tela que mostra Criar uma implantação.

  5. Em Detalhes da implantação, o Status se torna Ativo. A atualização implantada é marcada com (implantando).

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

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

  7. Depois de atualizar seu dispositivo com êxito, você verá que o gráfico de conformidade e os detalhes da implantação atualizados refletem as mesmas informações.

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

Monitorar a implantação da atualização

  1. Selecione a guia Histórico de Implantações 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 criada.

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

  3. Selecione Atualizar para exibir os detalhes mais recentes do status.

Você acabou de concluir uma atualização de imagem de ponta a ponta com êxito usando a Atualização de Dispositivo para Hub IoT e o agente de referência do simulador do Ubuntu (18.04 x64).

Limpar recursos

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

Próximas etapas