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.
Na portal do Azure, inicie a Atualização de Dispositivo para Hub IoT.
Crie um novo dispositivo.
No painel esquerdo, acesse Dispositivos. Em seguida, selecione Novo.
Em ID do Dispositivo, insira um nome para o dispositivo. Verifique se a caixa de seleção Gerar chaves automaticamente está marcada.
Selecione Salvar.
Agora, você é redirecionado à página Dispositivos, e o dispositivo que você criou deverá estar na lista. Selecione o dispositivo.
Na exibição do dispositivo, selecione o ícone Copiar ao lado de Cadeia de conexão primária.
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
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.
Depois, instale pacotes .deb do agente de Atualização de Dispositivo.
sudo apt-get install deviceupdate-agent deliveryoptimization-plugin-apt
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
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>
Você precisará do arquivo
sample-du-simulator-data.json
doTutorial_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
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
Entre no portal do Azure e acesse o hub IoT.
Em Dispositivos no painel esquerdo, localize o seu dispositivo IoT e acesse o dispositivo gêmeo ou o módulo gêmeo.
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.
Adicione um novo valor de marca da Atualização de Dispositivo, conforme mostrado:
"tags": { "ADUGroup": "<CustomTagValue>" }
Importar a atualização
Você precisará dos arquivos
TutorialImportManifest_Sim.importmanifest.json
eadu-update-image-raspberrypi3.swu
doTutorial_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.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.
Selecione a guia Atualizações.
Selecione + Importar nova atualização.
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.
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.
Esta captura de tela mostra a etapa de importação. Os nomes de arquivo podem não corresponder aos usados no exemplo.
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.
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.
Saiba mais sobre como importar atualizações.
Criar um grupo de atualizações
Acesse a guia Grupos e Implantações na parte superior da página.
Selecione Adicionar grupo para criar um novo grupo.
Selecione uma marca do Hub IoT e a Classe de Dispositivo na lista. Em seguida, selecione Criar grupo.
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.
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
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.
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.
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.
Agende sua implantação para iniciar imediatamente ou no futuro. Em seguida, selecione Criar.
Em Detalhes da implantação, o Status se torna Ativo. A atualização implantada é marcada com (implantando).
Exiba o gráfico de conformidade para ver se a atualização está em andamento.
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.
Monitorar a implantação da atualização
Selecione a guia Histórico de Implantações na parte superior da página.
Selecione Detalhes ao lado da implantação criada.
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.