Criar uma aplicação de alto nível
Esta secção descreve como criar, empacotar e implementar uma aplicação de alto nível do Azure Sphere.
Estas instruções utilizam o HelloWorld_HighLevelApp aplicação de exemplo como exemplo.
Pré-requisitos
- Ligar o dispositivo do Azure Sphere ao seu computador
- Instalar o Azure Sphere
Preparar o dispositivo para desenvolvimento e depuração
Antes de poder criar uma aplicação de exemplo no seu dispositivo do Azure Sphere ou desenvolver novas aplicações para o mesmo, tem de ativar o desenvolvimento e o sideload. Por predefinição, os dispositivos do Azure Sphere estão "bloqueados"; ou seja, não permitem que as aplicações em desenvolvimento sejam carregadas a partir de um computador e não permitem a depuração de aplicações. Preparar o dispositivo para sideload remove esta restrição.
O comando az sphere device enable-development configura o dispositivo para aceitar aplicações para depuração, carrega o servidor de depuração para o dispositivo e atribui o dispositivo a um grupo de dispositivos que não permite atualizações de aplicações na cloud. Durante o desenvolvimento e depuração de aplicações, deve deixar o dispositivo neste grupo para que as atualizações da aplicação na cloud não substituam a aplicação em desenvolvimento.
Certifique-se de que o dispositivo do Azure Sphere está ligado ao computador e de que o computador está ligado à Internet.
Abra uma interface de linha de comandos com o PowerShell, a Linha de Comandos do Windows ou a shell de comandos do Linux.
Introduza o seguinte comando:
az sphere device enable-development --resource-group <ResourceGroupName> --catalog <CatalogName> --device <DeviceIdValue>
Deverá ver um resultado semelhante ao seguinte:
Getting device capability configuration for application development. Downloading device capability configuration for device ID '<device ID>'. Successfully downloaded device capability configuration. Successfully wrote device capability configuration file 'C:\Users\user\AppData\Local\Temp\tmpD732.tmp'. Setting device group ID 'a6df7013-c7c2-4764-8424-00cbacb431e5' for device with ID '<device ID>'. Successfully disabled over-the-air updates. Enabling application development capability on attached device. Applying device capability configuration to device. Successfully applied device capability configuration to device. The device is rebooting. Installing debugging server to device. Deploying 'C:\Program Files (x86)\Microsoft Azure Sphere SDK\DebugTools\gdbserver.imagepackage' to the attached device. Image package 'C:\Program Files (x86)\Microsoft Azure Sphere SDK\DebugTools\gdbserver.imagepackage' has been deployed to the attached device. Application development capability enabled. Successfully set up device '<device ID>' for application development, and disabled over-the-air updates. Command completed successfully in 00:00:38.3299276.
Se o comando az sphere device enable-development falhar, veja Resolver problemas do Azure Sphere para obter ajuda.
Criar e implementar a aplicação no Visual Studio com a depuração
Certifique-se de que o dispositivo está ligado ao PC por USB. No menu Definir item de arranque , selecione Aplicação do Azure Sphere (HLCore), em que Aplicação do Azure Sphere é o nome da sua aplicação de alto nível atual ou prima F5.
Se lhe for pedido para criar o projeto, selecione Sim. O Visual Studio compila a aplicação, cria um pacote de imagem, faz o sideload para o quadro e inicia-o no modo de depuração. O sideload significa que a aplicação é fornecida diretamente a partir do PC através de uma ligação com fios, em vez de ser fornecida através da cloud.
Tenha em atenção o ID da imagem do pacote de imagem na saída Ver>Apresentação deSaída> de: Resultado da compilação. Irá utilizar o ID da imagem mais tarde no Tutorial: Criar uma implementação na cloud.
Por predefinição , a janela Saída mostra o resultado da Saída do Dispositivo. Para ver mensagens do depurador, selecione Depurar no menu pendente Mostrar saída de: . Também pode inspecionar a desmontagem, registos ou memória do programa através do menu Depurar>o Windows .
Criar e implementar a aplicação no Visual Studio sem depuração
Certifique-se de que o dispositivo está ligado ao PC por USB. No menu Depurar , selecione Iniciar sem Depurar ou prima Ctrl+F5.
Se lhe for pedido para criar o projeto, selecione Sim. O Visual Studio compila a aplicação, cria um pacote de imagem, faz o sideload para o quadro e inicia-o. O sideload significa que a aplicação é fornecida diretamente a partir do PC através de uma ligação com fios, em vez de ser fornecida através da cloud.
Por predefinição , a janela Saída mostra o resultado da Saída do Dispositivo.
Criar e implementar a aplicação no Visual Studio Code com a depuração
Prima F5 para compilar e depurar o projeto. Se o projeto não tiver sido criado anteriormente ou se os ficheiros tiverem sido alterados e a reconstrução for necessária, o Visual Studio Code compilará o projeto antes do início da depuração.
Aguarde vários segundos para que o Visual Studio Code crie a aplicação, crie um pacote de imagem, implemente-o no quadro e inicie-o no modo de depuração. Verá atualizações de estado no painel Saída ao longo do caminho.
Primeiro, o CMake determina se a aplicação precisa de ser criada. Em caso afirmativo, o foco muda para a janela de saída, que apresenta a saída de CMake/Build.
Em seguida, o painel Saída mostra o resultado à medida que o pacote de imagem é implementado no dispositivo. Por fim, a Consola de Depuração recebe o foco e mostra a saída do depurador.
Criar e implementar a aplicação no Visual Studio Code sem depuração
Certifique-se de que o dispositivo está ligado ao PC por USB. No menu Executar , selecione Iniciar sem Depurar ou prima Ctrl+F5 para criar e executar o projeto. Se o projeto não tiver sido criado anteriormente ou se os ficheiros tiverem sido alterados e a reconstrução for necessária, o Visual Studio Code criará o projeto.
Aguarde vários segundos para que o Visual Studio Code crie a aplicação, crie um pacote de imagem, implemente-o no quadro e inicie-o. Verá atualizações de estado no painel Saída ao longo do caminho.
Primeiro, o CMake determina se a aplicação precisa de ser criada. Em caso afirmativo, o foco muda para a janela de saída, que apresenta a saída de CMake/Build.
Em seguida, a janela de saída mostra o resultado do azsphere à medida que implementa o pacote de imagem no dispositivo. A aplicação é iniciada automaticamente depois de ser implementada no dispositivo.
Criar a aplicação
Para criar a sua aplicação, terá de encontrar as ferramentas, cabeçalhos e bibliotecas de compilação corretos ( coletivamente denominados sysroot) no seu computador. O SDK do Azure Sphere é fornecido com vários sysroots para que as aplicações possam visar diferentes conjuntos de API, conforme descrito em Versão do runtime da aplicação, sysroots e APIs Beta. Os sysroots são instalados na pasta de instalação do SDK do Azure Sphere em Sysroots.
Crie ou navegue para o diretório que irá conter os ficheiros a serem gerados durante o processo de compilação.
Se a sua aplicação depender de outra aplicação, marque as aplicações como parceiros nos respetivos ficheiros app_manifest.md.
Adicione ou atualize o ficheiro de CMakeLists.txt da sua aplicação para chamar as funções CMake do Azure Sphere conforme necessário.
No diretório de compilação do projeto, na linha de comandos, execute CMake com os seguintes parâmetros:
cmake --preset <preset-name> <source-path>
--preset <preset-name>
O nome predefinido da configuração da compilação, conforme definido em CMakePresets.json.
--build <cmake-path>
O diretório binário que contém a cache CMake. Por exemplo, se executar o CMake num exemplo do Azure Sphere, o comando build será
cmake --build out/ARM-Debug
.<source-path>
O caminho do diretório que contém os ficheiros de origem da aplicação de exemplo. No exemplo, o repositório de exemplos do Azure Sphere foi transferido para um diretório chamado AzSphere.
Os parâmetros CMake são separados por espaços. O caráter de continuação da linha (^ para a linha de comandos do Windows, \ para a linha de comandos do Linux ou ' para o PowerShell) pode ser utilizado para legibilidade, mas não é necessário.
Os exemplos seguintes mostram os comandos CMake da Hello World aplicação de alto nível.
Execute Ninja para criar a aplicação e criar o ficheiro de pacote de imagem:
ninja -C out/ARM-Debug
Ninja coloca a aplicação resultante e os ficheiros .imagepackage no diretório especificado.
Também pode invocar Ninja através de CMake com o seguinte comando:
cmake --build out/<binary-dir>
Defina
<binary-dir>
como o diretório binário que contém a cache CMake. Por exemplo, se executar o CMake num exemplo do Azure Sphere, o comando build serácmake --build out/ARM-Debug
.
Implementar a aplicação
Certifique-se de que o seu dispositivo tem a capacidade appDevelopment para que possa fazer sideload da aplicação e certifique-se de que o servidor de depuração está presente. Utilize o az sphere device enable-development
comando, se necessário.
Se o seu dispositivo já estiver a executar uma ou mais aplicações, elimine-as.
az sphere device sideload delete
Tenha em atenção que este comando elimina todas as aplicações no dispositivo. Se já tiver implementado uma RTApp que seja um parceiro na aplicação de alto nível, utilize o
--component-id
parâmetro para especificar a aplicação a eliminar. Pode encontrar o ID do componente da aplicação no respetivo ficheiro app_manifest.json.Carregue o pacote de imagem para o seu dispositivo ao executar o comando az sphere device sideload deploy e especificar o pacote de imagem. Por exemplo:
az sphere device sideload deploy --image-package C:\Users\LocalSamples\HelloWorld\HelloWorld_HighLevelApp\out\ARM-Debug\HelloWorld_HighLevelApp.imagepackage
A sua aplicação deve começar a ser executada.
Mais tarde, pode parar e reiniciar a aplicação com os az sphere device app stop --component-id <component-ID>
comandos e az sphere device app start --component-id <component ID>
.