Etapa 4: implantar e testar o componente em um dispositivo principal - AWS IoT Greengrass

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Etapa 4: implantar e testar o componente em um dispositivo principal

Nesta seção, você implanta o componente no dispositivo principal para testar a funcionalidade dele. No dispositivo principal, você cria o arquivo virtual do nível da bateria para imitar uma bateria real. Em seguida, você cria implantações adicionais e observa os arquivos de log do componente no dispositivo principal para ver o componente adiar e confirmar as atualizações.

Para implantar e testar o componente Hello World que adia as atualizações
  1. Use um editor de texto para criar um arquivo virtual do nível da bateria. Este arquivo imita uma bateria real.

    • Nos dispositivos principais do Linux, crie um arquivo chamado /home/ggc_user/virtual_battery.json. Execute o editor de texto com permissões sudo.

    • Nos dispositivos principais do Windows, crie um arquivo chamado C:\Users\ggc_user\virtual_battery.json. Execute o editor de texto como administrador.

    Por exemplo, em um sistema baseado em Linux, você pode executar o comando a seguir para usar o GNU nano para criar o arquivo.

    sudo nano /home/ggc_user/virtual_battery.json

    Copie o JSON a seguir no arquivo.

    { "battery_level": 50 }
  2. Implante o componente Hello World no dispositivo principal. Faça o seguinte:

    1. No menu de navegação do console do AWS IoT Greengrass, selecione Componentes.

    2. Na página Componentes, escolha a guia Meus componentes e, em seguida, escolha com.example.BatteryAwareHelloWorld.

    3. No com.example.BatteryAwareHelloWorldpágina, escolha Implantar.

    4. Em Adicionar à implantação, escolha uma implantação existente para revisar ou opte por criar uma nova e, em seguida, escolha Avançar.

    5. Se você criar uma nova implantação, escolha o dispositivo principal ou grupo de objetos de destino para ela. Na página Especificar destino, em Destino de implantação, escolha um dispositivo principal ou grupo de objetos e, depois, Avançar.

    6. Na página Selecionar componentes, verifique se o com.example.BatteryAwareHelloWorldo componente está selecionado, escolha Avançar.

    7. Na página Configurar componentes, selecione com.example.BatteryAwareHelloWorlde, em seguida, faça o seguinte:

      1. Escolha Configurar componente.

      2. No Configure com.example.BatteryAwareHelloWorldmodal, em Atualização de configuração, em Configuração a ser mesclada, insira a seguinte atualização de configuração.

        { "BatteryThreshold": 70 }
      3. Selecione Confirmar para fechar o modal e, em seguida, Avançar.

    8. Na página Confirmar configurações avançadas, na seção Políticas de implantação, em Política de atualização de componentes, confirme se a opção Notificar componentes está selecionada. A opção Notificar componentes é selecionada por padrão quando você cria uma nova implantação.

    9. Na página Pré-visualizar, escolha Implantar.

      A implantação pode levar até um minuto para ser concluída.

  3. O software AWS IoT Greengrass Core salva o stdout dos processos dos componentes em arquivos de log na logs pasta. Execute o comando a seguir para verificar se o componente Hello World executa e imprime mensagens de status.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/com.example.BatteryAwareHelloWorld.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log
    PowerShell
    gc C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log -Tail 10 -Wait

    Você verá mensagens semelhantes ao exemplo a seguir.

    Hello, World! Battery level (50) is below threshold (70), so the component will defer updates.
    nota

    Se o arquivo não existir, talvez a implantação ainda não esteja concluída. Se o arquivo não existir em 30 segundos, a implantação provavelmente falhou. Isso pode ocorrer se o dispositivo principal não tiver permissão para baixar os artefatos do componente do bucket do S3, por exemplo. Execute o comando a seguir para visualizar o arquivo de log do software AWS IoT Greengrass principal. Esse arquivo inclui logs do serviço de implantação do dispositivo principal do Greengrass.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\greengrass.log

    O comando type grava o conteúdo do arquivo no terminal. Execute esse comando várias vezes para observar as alterações no arquivo.

    PowerShell
    gc C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  4. Crie uma nova implantação no dispositivo principal para verificar se o componente adia a atualização. Faça o seguinte:

    1. No menu de navegação do console do AWS IoT Greengrass, selecione Implantações.

    2. Escolha a implantação que você criou ou revisou anteriormente.

    3. Na página da implantação, escolha Revisar.

    4. No modal Revisar implantação, selecione Revisar implantação.

    5. Selecione Avançar em cada etapa e depois Implantar.

  5. Execute o comando a seguir para visualizar os logs do componente novamente e verificar se ele adia a atualização.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/com.example.BatteryAwareHelloWorld.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log
    PowerShell
    gc C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log -Tail 10 -Wait

    Você verá mensagens semelhantes ao exemplo a seguir. O componente adia a atualização por 30 segundos, então o componente imprime essa mensagem repetidamente.

    Deferred update for deployment 50722a95-a05f-4e2a-9414-da80103269aa.
  6. Use um editor de texto para editar o arquivo virtual do nível da bateria e alterar o nível da bateria para um valor acima do limite, para que a implantação possa continuar.

    • Nos dispositivos principais do Linux, edite o arquivo chamado /home/ggc_user/virtual_battery.json. Execute o editor de texto com permissões sudo.

    • Nos dispositivos principais do Windows, edite o arquivo chamado C:\Users\ggc_user\virtual_battery.json. Execute o editor de texto como administrador.

    Por exemplo, em um sistema baseado em Linux, você pode executar o comando a seguir para usar o GNU nano para criar o arquivo.

    sudo nano /home/ggc_user/virtual_battery.json

    Altere o nível da bateria para 80.

    { "battery_level": 80 }
  7. Execute o seguinte comando para visualizar os logs do componente novamente e verificar se ele reconhece a atualização.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/com.example.BatteryAwareHelloWorld.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log
    PowerShell
    gc C:\greengrass\v2\logs\com.example.BatteryAwareHelloWorld.log -Tail 10 -Wait

    Você verá mensagens semelhantes aos exemplos a seguir.

    Hello, World! Battery level (80) is above threshold (70), so the component will acknowledge updates. Acknowledged update for deployment f9499eb2-4a40-40a7-86c1-c89887d859f1.