Exercício – Implantar um aplicativo de alto nível no Azure Sphere

Concluído

Neste exercício, implantaremos um aplicativo de alto nível no Azure Sphere.

Etapa 1: Abrir o projeto de laboratório

  1. Iniciar o Visual Studio Code.

  2. No menu, clique em Arquivo e Abrir Pasta.

  3. Abra a pasta laboratório do Azure-Sphere.

  4. Abra a pasta Lab_2_Send_Telemetry_to_Azure_IoT.

  5. Clique em Selecionar Pasta ou no botão OK para abrir o projeto.

Etapa 2: Configurar o aplicativo do Azure Sphere

  1. No Visual Studio Code, abra o arquivo app_manifest.json. Os recursos que este aplicativo requer devem ser declarados na seção Capabilities.

  2. Atualize as propriedades de conexão do aplicativo do Hub IoT do Azure.

    • Atualize CmdArgs com o escopo da ID do DPS em IoT do Azure.
    • Atualize DeviceAuthentication com a ID do Locatário do Azure Sphere. Lembre-se de que esse é o valor numérico retornado pela execução do comando azsphere tenant show-selected.
  3. Atualize o AllowedConnections com o ponto de extremidade do serviço de provisionamento de dispositivo global, seu ponto de extremidade de DPS e seu ponto de extremidade do Hub IoT do Azure. Confira o exemplo abaixo para entender o formato correto desses pontos de extremidade.

  4. Você pode formatar o documento app_manifest.json clicando com o botão direito do mouse nele e selecionando Formatar Documento no menu de contexto.

  5. Examine seu arquivo manifest_app.json atualizado. Ele deve ser semelhante ao mostrado a seguir.

    {
        "SchemaVersion": 1,
        "Name": "AzureSphereIoTCentral",
        "ComponentId": "25025d2c-66da-4448-bae1-ac26fcdd3627",
        "EntryPoint": "/bin/app",
        "CmdArgs": [ "--ConnectionType", "DPS", "--ScopeID", "0ne0099999D" ],
        "Capabilities": {
            "Gpio": [
                "$NETWORK_CONNECTED_LED",
                "$LED_RED",
                "$LED_GREEN",
                "$LED_BLUE"
            ],
            "I2cMaster": [
                "$I2cMaster2"
            ],
            "PowerControls": [
                "ForceReboot"
            ],
            "AllowedConnections": [
                "global.azure-devices-provisioning.net",
                "<Your device provisioning service endpoint>",
                "<Your Azure IoT hub endpoint>"
            ],
            "DeviceAuthentication": "9d7e79eb-9999-43ce-9999-fa8888888894"
        },
        "ApplicationType": "Default"
    }
    
  6. Salve o arquivo app_manifest.json atualizado.

  7. IMPORTANTE. Copie o conteúdo do arquivo app_manifest.json para o Bloco de notas ou o editor de texto de sua escolha, pois você precisará dessas informações de configuração para os próximos laboratórios.

Etapa 3: Selecionar a configuração da placa de desenvolvedor

Esses laboratórios dão suporte a placas de desenvolvedor da Avnet e da Seeed Studio. Você precisa definir a configuração que corresponde à sua placa de desenvolvimento. A configuração padrão da placa de desenvolvedor é destinada ao Kit de Início do Azure Sphere da Avnet Revisão 1. Se você tiver essa placa, não precisará realizar nenhuma configuração adicional.

  1. Abra CMakeLists.txt.

  2. Adicione # ao início da linha set AVNET para desabilitá-la.

  3. Remova a marca de comentário do comando set que corresponde à sua placa de desenvolvimento do Azure Sphere.

    set(AVNET TRUE "AVNET Azure Sphere Starter Kit Revision 1 ")
    # set(AVNET_REV_2 TRUE "AVNET Azure Sphere Starter Kit Revision 2 ")
    # set(SEEED_STUDIO_RDB TRUE "Seeed Studio Azure Sphere MT3620 Development Kit (aka Reference Design Board or rdb)")
    # set(SEEED_STUDIO_MINI TRUE "Seeed Studio Azure Sphere MT3620 Mini Dev Board")
    
  4. Salve o arquivo. Isso vai gerar automaticamente o cache do CMake.

Etapa 4: Implantar o aplicativo no Azure Sphere

Iniciar o processo de build e implantação do aplicativo

  1. Abra main.c.

  2. Selecione CMake: [Depurar]: Pronto na barra de status do Visual Studio Code.

    The illustration shows CMake status.

  3. No Visual Studio Code, pressione F5 para compilar, implantar, iniciar e anexar o depurador remoto ao aplicativo que está agora executando o dispositivo do Azure Sphere.

  4. Tente definir um ponto de interrupção na função MeasureSensorHandler. A função será chamada a cada 5 segundos.

    Observação

    Saiba como definir pontos de interrupção com esse artigo sobre Depuração no Visual Studio Code.

Exibir saída do depurador

  1. Selecione a guia Saída do Visual Studio Code para exibir a saída das instruções Log_Debug no código.

    Dica

    Você pode abrir a guia de saída usando o atalho Ctrl + Shift + U do Visual Studio Code ou clicando na guia Saída.

  2. Você verá o dispositivo negociando a segurança e, em seguida, ele começará a enviar telemetria para o Hub IoT do Azure.

    Observação

    Talvez algumas mensagens de ERRO: falha ao criar o identificador IoTHub sejam exibidas. Essas mensagens ocorrem enquanto a conexão com o Hub IoT do Azure está sendo negociada.

Etapa 5: Comportamento esperado do dispositivo

Kit de início MT3620 do Azure Sphere Revisões 1 e 2

The illustration shows the Avnet Azure Sphere kit.

  • O LED da WLAN piscará a cada 5 segundos quando conectado ao Azure.

Kit de desenvolvimento MT3620 do Azure Sphere da Seeed Studio

The illustration shows the Seeed Studio Azure Sphere kit.

  • O LED da WLAN piscará a cada 5 segundos quando conectado ao Azure.

Mini Placa de Desenvolvimento MT3620 da Seeed Studio

The illustration shows the Seeed Studio Mini Azure Sphere kit.

  • O LED do usuário piscará a cada 5 segundos quando conectado ao Azure.

Etapa 6: Exibir a telemetria do dispositivo usando o Azure IoT Explorer

  1. Inicie o Azure IoT Explorer.

  2. Clique em Exibir dispositivos neste hub.

    The illustration shows how to select devices in this hub.

  3. Clique em seu dispositivo.

    O nome do dispositivo é sua ID de Dispositivo do Azure Sphere. Você pode exibir sua ID de dispositivo executando o comando a seguir na linha de comando do PowerShell do Windows ou no Terminal do Linux.

    azsphere device show-attached
    
  4. Clique em Componentes de IoT Plug and Play no menu lateral.

    The illustration shows how to select IoT Plug and Play components.

  5. Clique em Componente padrão.

    The illustration shows how to select the default component.

  6. Selecione Telemetria no menu.

    The illustration shows how to select telemetry.

  7. Clique no botão Iniciar.

  8. Clique em Mostrar eventos modelados para mapear o modelo de Plug and Play de IoT para a telemetria.

Fechar o Visual Studio Code

Agora, feche o Visual Studio Code.