Carregar um pacote de imagens de aplicativo para teste

Durante o desenvolvimento, talvez seja necessário carregar um pacote de imagens no dispositivo do Azure Sphere para teste. Quando você cria um aplicativo com o Visual Studio ou Visual Studio Code IDE (ambiente de desenvolvimento integrado), o SDK empacota a imagem do aplicativo para você. Se você tiver acesso direto a um dispositivo do Azure Sphere, o SDK também poderá excluir aplicativos existentes que não estão marcados como parceiros, carregar o novo pacote de imagem no dispositivo, iniciá-lo e habilitar a depuração. Você também pode carregar um pacote de imagem diretamente da linha de comando.

Primeiro, você deve habilitar o recurso appDevelopment para o dispositivo e adicionar o dispositivo a um grupo de dispositivos que não dá suporte a atualizações de aplicativos de nuvem. Atribuir dispositivos a esse grupo garante que seus aplicativos sideload não sejam substituídos por implantações de nuvem. Para preparar seu dispositivo, use o comando az sphere device enable-development. Em seguida, você pode sideload da imagem.

Carregar e depurar um pacote de imagem da linha de comando

Para carregar o pacote de imagem da linha de comando, exclua todos os aplicativos existentes no dispositivo e carregue o novo.

Para parar e excluir todos os aplicativos no dispositivo:

az sphere device sideload delete

Para excluir um único aplicativo, adicione a opção --component-id, da seguinte maneira:

az sphere device sideload delete --component-id <ComponentID>

Em seguida, faça sideload do novo pacote de imagens:

az sphere device sideload deploy --image-package <imagepackagepath>

Substitua imagepackagepath pelo caminho para o pacote de imagem. Se você estiver usando o Visual Studio ou Visual Studio Code, poderá encontrar o pacote de imagem na subpasta bin\ARM\Debug ou bin\ARM\Release da pasta de projeto do aplicativo. Por padrão, o comando inicia o aplicativo depois de implantá-lo.

Para depurar o aplicativo, adicione o sinalizador --manual-start ao comando az sphere device sideload deploy para suprimir o início automático e inicie o aplicativo para depuração:

az sphere device sideload deploy --manual-start --image-package <imagepackagepath>
az sphere device app start --debug --component-id <ComponentID>

O comando exibe as portas de saída e depuração para aplicativos de alto nível:

   Output Port: 2342
   GDB Port: 2345

Marcar aplicativos como parceiros

Os aplicativos relacionados devem ser marcados como aplicativos parceiros. Há muitas situações em que você carregaria vários aplicativos, como um par de aplicativos de alto nível e em tempo real que se comunicam entre si. Marcar os aplicativos como parceiros impedirá que um seja excluído quando o segundo for carregado. Quando o Visual Studio e os IDEs Visual Studio Code sideload de um novo pacote de imagem, eles excluem todos os aplicativos existentes que não estão marcados como aplicativos parceiros.

Para marcar um aplicativo como parceiro usando o CMake no Visual Studio:

  1. Edite o arquivo launch.vs.json para o aplicativo.

  2. Adicione a seguinte linha:

    "partnerComponents": [ "<Component ID>" ]
    

    Substitua a ID do componente do aplicativo parceiro para <Component ID> e salve o arquivo. Você pode encontrar a ID do componente de cada aplicativo em seu arquivo app_manifest.json ou usando az sphere device image list-installed or az sphere device app show-status.

Para marcar um aplicativo como parceiro usando o CMake no Visual Studio Code:

  1. Edite o arquivo .vscode\launch.json para o aplicativo.

  2. Adicione a seguinte linha:

    "partnerComponents": [ "<Component ID>" ]
    

    Substitua a ID do componente do aplicativo parceiro para <Component ID> e salve o arquivo. Você pode encontrar a ID do componente de cada aplicativo em seu arquivo app_manifest.json ou usando az sphere device image list-installed or az sphere device app show-status.