Compartilhar via


Tutorial: Concluir uma atualização de proxy usando a Atualização de Dispositivo para Hub IoT do Azure

Se você ainda não tiver feito isso, examine Usando as atualizações de proxy com a Atualização de Dispositivo para o Hub IoT do Azure.

Configurar um dispositivo de teste ou uma máquina virtual

Este tutorial usa uma VM (máquina virtual) do Ubuntu Server 18.04 LTS como exemplo.

Instalar o Agente da Atualização de Dispositivo e as dependências

  1. Registre packages.microsoft.com no repositório de pacotes APT:

    sudo apt-get update
    
    sudo apt install curl
    
    curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ~/microsoft-prod.list
    
    sudo cp ~/microsoft-prod.list /etc/apt/sources.list.d/
    
    curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > ~/microsoft.gpg
    
    sudo cp ~/microsoft.gpg /etc/apt/trusted.gpg.d/
    
    sudo apt-get update
    
  2. Instale o deviceupdate-agent no dispositivo IoT. Baixe o arquivo Debian mais recente de atualização de dispositivo em packages.microsoft.com:

    sudo apt-get install deviceupdate-agent
    

    Opcionalmente, copie o arquivo Debian baixado para a VM de teste. Se estiver usando o PowerShell em seu computador, execute o seguinte comando do shell:

      scp <path to the .deb file> tester@<your vm's ip address>:~
    

    Em seguida, acesse sua VM remotamente e execute o seguinte comando do shell na pasta base:

          #go to home folder 
          cd ~
          #install latest Device Update agent
          sudo apt-get install ./<debian file name from the previous step>
    
  3. Vá para o Hub IoT do Azure e copie a cadeia de conexão primária do módulo de Atualização de Dispositivo do dispositivo IoT. Substitua qualquer valor padrão para o campo connectionData pela cadeia de conexão primária no arquivo du-config.json:

       sudo nano /etc/adu/du-config.json  
    

    Observação

    Você pode copiar a cadeia de conexão primária para o dispositivo, mas é recomendável usar a cadeia de caracteres para o módulo Atualização de Dispositivo. Para obter informações sobre como configurar o módulo, consulte Provisionamento do Agente de Atualização de Dispositivo.

  4. Verifique se /etc/adu/du-diagnostics-config.json contém as configurações corretas para a coleta de log. Por exemplo:

    {
      "logComponents":[
        {
          "componentName":"adu",
           "logPath":"/var/log/adu/"
        },
        {
          "componentName":"do",
          "logPath":"/var/log/deliveryoptimization-agent/"
        }
      ],
      "maxKilobytesToUploadPerLogPath":50
    }
    
  5. Reiniciar o agente da Atualização de Dispositivo:

    sudo systemctl restart adu-agent
    

Componentes de simulação de instalação

Para fins de teste e demonstração, criaremos os seguintes componentes fictícios no dispositivo:

  • Três motores
  • Duas câmeras
  • "hostfs"
  • "rootfs"

Importante

A configuração de componente anterior baseia-se na implementação de uma extensão de enumerador de componente de exemplo chamada libcontoso-component-enumerator.so. Ele também requer esse arquivo de dados de inventário de componente simulado: usr/local/contoso-devices/components-inventory.json.

  1. Copie a pasta de demonstração para o diretório base na VM de teste. Em seguida, execute o seguinte comando para copiar os arquivos necessários para os locais certos:

    `~/demo/tools/reset-demo-components.sh` 
    

    O reset-demo-components.sh comando segue as seguintes etapas em seu nome:

    1. Ele copia components-inventory.json e o adiciona à pasta /usr/local/contoso-devices.

    2. Ele copia a extensão do enumerador de componentes contoso (libcontoso-component-enumerator.so) da pasta Ativos e a adiciona à pasta /var/lib/adu/extensions/sources.

    3. Ele registra a extensão:

      sudo /usr/bin/AducIotAgent -E /var/lib/adu/extensions/sources/libcontoso-component-enumerator.so
      
  2. Exiba e registre a versão do software dos componentes atuais usando o comando a seguir para configurar a VM a fim de dar suporte às atualizações de proxy:

    ~/demo/show-demo-components.sh
    

Importar uma atualização de exemplo

Se você ainda não tiver feito isso, crie uma conta e uma instância de Atualização de Dispositivo, incluindo a configuração de um Hub IoT. Em seguida, inicie o procedimento a seguir.

  1. Na versão mais recente da Atualização de Dispositivo, em Ativos, baixe os manifestos de importação de atualizações de proxy e imagens para atualizações de proxy.

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

  3. Selecione a guia Atualizações.

  4. Selecione + Importar nova atualização.

  5. Selecione + Selecionar do contêiner de armazenamento e escolha sua conta de Armazenamento e o contêiner.

    Captura de tela que mostra o botão para selecionar a importação de um contêiner de armazenamento.

  6. Selecione Carregar para adicionar os arquivos que você baixou na etapa 1.

  7. Carregue o manifesto de importação pai, o manifesto de importação filho e os arquivos de conteúdo para o contêiner.

    O exemplo a seguir mostra os arquivos de exemplo carregados para as câmeras de atualização conectadas a um dispositivo aspirador inteligente. Ele também inclui um script de pré-instalação para desligar as câmeras antes da atualização over-the-air.

    No exemplo, o manifesto de importação pai é contoso.Virtual-Vacuum-virtual-camera.1.4.importmanifest.json. O manifesto de importação filho com detalhes para a atualização da câmera é Contoso.Virtual-Vacuum.3.3.importmanifest.json. Observe que ambos os nomes de arquivo de manifesto seguem o formato necessário e terminam com .importmanifest.json.

    Captura de tela que mostra arquivos de exemplo carregados para atualizar câmeras conectadas a um dispositivo de aspirador de pó inteligente.

  8. Escolha Selecionar.

  9. A interface do usuário agora mostra a lista de arquivos que serão importados para a Atualização de Dispositivo. Selecione Importar atualização.

    Captura de tela que mostra os arquivos listados e o botão para importar uma atualização.

  10. O processo de importação é iniciado, e a tela é alterada para a seção Importar histórico. Selecione Atualizar para exibir o progresso até que o processo de importação seja concluído. Dependendo do tamanho da atualização, a importação pode terminar em alguns minutos ou demorar mais.

  11. Quando a coluna Status indicar que a importação foi bem-sucedida, selecione a guia Atualizações Disponíveis. Você deve ver a atualização importada na lista agora.

    Captura de tela que mostra a atualização importada adicionada à lista.

Saiba mais sobre a importação de atualizações.

Criar grupo de atualizações

  1. Acesse a guia Grupos e Implantações na parte superior da página. Captura de tela de dispositivos desagrupados.

  2. Selecione o botão “Adicionar grupo” para criar um grupo. Captura de tela da adição do grupo de dispositivos.

  3. Selecione uma marca de Hub IoT e Classe de Dispositivo na lista e, em seguida, selecione Criar grupo. Captura de tela da seleção de marca.

  4. Depois que o grupo for criado, você verá que a lista de gráficos e grupos de conformidade de atualização será atualizada. O gráfico de conformidade da atualização mostra a contagem de dispositivos em vários estados de conformidade: em 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 da 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. É possível implantar a melhor atualização disponível no grupo novo definido pelo usuário dessa exibição clicando no botão "implantar" ao lado do grupo.

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

Implantar atualização

  1. Após criar o grupo, você verá uma nova atualização disponível para o grupo de dispositivos junto a um link para a atualização em Melhor Atualização (talvez seja necessário Atualizar uma vez). Saiba mais sobre a conformidade das atualizações.

  2. Selecione o grupo de destino clicando no nome do grupo. Você será direcionado para os detalhes do grupo em Noções básicas do grupo.

Detalhes do grupo

  1. Para iniciar a implantação, acesse a guia de implantação Atual. Clique no link implantar ao lado da atualização desejada na seção de Atualizações disponíveis. A melhor atualização disponível para um determinado grupo será indicada com um "Melhor" realçado.

Selecionar atualização

  1. Agende sua implantação para iniciar imediatamente ou no futuro e, em seguida, selecione Criar.

Criar implantação

  1. O status em detalhes da Implantação deve se tornar Ativo e a atualização implantada deve ser marcada com "(implantando)".

Implantação ativa

  1. Exiba o gráfico de conformidade. Será possível ver que a atualização está em andamento.

  2. Depois de atualizar seu dispositivo com êxito, será possível conferir o gráfico de conformidade e a atualização dos detalhes da implantação para refletir as mesmas informações.

    Atualização realizada com êxito

Monitorar uma implantação de atualização

  1. Selecione a guia histórico de Implantações na parte superior da página.

    Histórico de implantação

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

    Detalhes de implantação

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

Agora você concluiu uma atualização de proxy de ponta a ponta bem-sucedida usando a Atualização de Dispositivo para Hub IoT.

Limpar os recursos

Quando não forem mais necessários, limpe a conta da atualização de dispositivo, a instância, o Hub IoT e o dispositivo IoT.

Próximas etapas

Você pode usar os seguintes tutoriais para uma demonstração simples da Atualização de Dispositivo para Hub IoT: