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 sua funcionalidade. 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 de nível de 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 sudo permissões.

    • Nos dispositivos principais do Windows, crie um arquivo chamadoC:\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 seguinte comando para usar o GNU nano para criar o arquivo.

    sudo nano /home/ggc_user/virtual_battery.json

    Copie o seguinte JSON no arquivo.

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

    1. No menu de navegação AWS IoT Greengrassdo console, escolha Componentes.

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

    3. Na página com.example.BatteryAwareHelloWorld, escolha Implantar.

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

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

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

    7. Na página Configurar componentes com.example.BatteryAwareHelloWorld, selecione e faça o seguinte:

      1. Escolha Configurar componente.

      2. No com.example.BatteryAwareHelloWorld modal Configurar, em Atualização de configuração, em Configuração para mesclar, insira a seguinte atualização de configuração.

        { "BatteryThreshold": 70 }
      3. Escolha Confirmar para fechar o modal e, em seguida, escolha 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. Notificar componentes é selecionado por padrão quando você cria uma nova implantação.

    9. Na página Review, escolha Deploy.

      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 é executado 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ê deve 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, a implantação talvez ainda não tenha sido 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 registros 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 type comando 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 AWS IoT Greengrassdo console, escolha Implantações.

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

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

    4. No modal Revise deployment, escolha Revise deployment.

    5. Escolha Avançar em cada etapa e, em seguida, escolha Implantar.

  5. Execute o comando a seguir para visualizar novamente os registros do componente 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ê deve 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 sudo permissões.

    • Nos dispositivos principais do Windows, edite o arquivo chamadoC:\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 seguinte comando para usar o GNU nano para criar o arquivo.

    sudo nano /home/ggc_user/virtual_battery.json

    Altere o nível da bateria para80.

    { "battery_level": 80 }
  7. Execute o comando a seguir para visualizar novamente os registros do componente 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ê deve 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.