Exercício - Ligue a sua máquina de café simulada à aplicação

Concluído

Para validar seu cenário antes de conectar um dispositivo físico, use um simulador de dispositivo que implemente os comportamentos definidos no modelo de dispositivo.

Lembre-se de que, no exemplo de máquinas de café habilitadas para IoT, você conectará um simulador de máquina de café ao IoT Central para monitorar telemetria, como temperatura e umidade da água, observar o estado da máquina, definir a temperatura ideal, receber o status da garantia e enviar comandos.

Aqui, você simulará um dispositivo com um aplicativo C# e o conectará ao aplicativo Azure IoT Central.

Illustration that shows a Coffee machine.

Adicionar a máquina de café ao IoT Central

Primeiro, registre o dispositivo:

  1. No seu aplicativo IoT Central, navegue até Dispositivos e, em seguida, + Novo.
  2. No formulário Criar um novo dispositivo, altere o ID do dispositivo para ccm-001 e Nome do dispositivo para Máquina de café conectada - 001. Certifique-se de que Modelo de dispositivo é Não atribuído e Simular este dispositivo é Não e, em seguida, selecione Criar.

O dispositivo Connected Coffee Machine - 001 agora aparece na lista de dispositivos com um status de Registrado e modelo Não atribuído. Na unidade anterior, examinamos o código do aplicativo C# e confirmamos que o ID do modelo é enviado ao provisionar o dispositivo. Isso permite que o IoT Central atribua o modelo de dispositivo correto na primeira vez que o dispositivo se conectar.

Obter informações da ligação

Para executar o aplicativo C#, você precisa dos seguintes valores de configuração:

  1. Selecione Máquina de café conectada - 001 na lista de dispositivos para visualizar os detalhes do dispositivo.

  2. Selecione Conectar para abrir o painel Grupos de conexões de dispositivo.

  3. Mantenha esta página aberta ou tome nota dos valores Âmbito de identificação, ID do dispositivo e Chave primária.

    Screenshot that shows device connection information.

Use o Azure Cloud Shell para definir as variáveis de ambiente usadas pelo aplicativo C#.

export ID_SCOPE=<The ID scope you made a note of previously>
export DEVICE_ID=<The Device ID you made a note of previously>
export DEVICE_KEY=<The Primary key you made a note of previously>

Imprima as variáveis de ambiente e confirme se elas estão definidas corretamente.

printenv ID_SCOPE DEVICE_ID DEVICE_KEY

Criar um aplicativo C#

As etapas a seguir mostram como criar um aplicativo cliente que implementa o simulador de dispositivo da máquina de café.

Gorjeta

Neste exercício, você cria o aplicativo C# no Azure Cloud Shell para não precisar instalar nada em sua máquina local.

  1. Execute o seguinte comando no Azure Cloud Shell para criar uma pasta coffee-maker e navegue para a mesma:

    mkdir ~/coffee-maker
    cd ~/coffee-maker
    
  2. Execute o seguinte comando no Cloud Shell para baixar os arquivos de origem em sua coffee-maker pasta:

    wget https://raw.githubusercontent.com/Azure-Samples/iot-central-docs-samples/main/monitor-manage-device-with-iotcentral/CoffeeMaker-csharp.csproj
    wget https://raw.githubusercontent.com/Azure-Samples/iot-central-docs-samples/main/monitor-manage-device-with-iotcentral/CoffeeMaker.cs
    wget https://raw.githubusercontent.com/Azure-Samples/iot-central-docs-samples/main/monitor-manage-device-with-iotcentral/Parameters.cs
    wget https://raw.githubusercontent.com/Azure-Samples/iot-central-docs-samples/main/monitor-manage-device-with-iotcentral/Program.cs
    
  3. Execute o seguinte comando no Cloud Shell para iniciar a aplicação:

    dotnet run
    
  4. Verifique se a aplicação é iniciada na janela do Cloud Shell om a mensagem Dispositivo ligado com êxito ao Azure IoT Central juntamente com as mensagens Envio de telemetria:.

Parabéns! A aplicação está a funcionar e comunica com o IoT Central!

Verifique o seu trabalho

Agora já trabalhou com a aplicação Azure IoT Central e ligou a máquina de café ao Azure IoT Central. Você está no caminho certo para começar a monitorar e gerenciar sua máquina de café remota. Aqui, você leva um momento para validar sua configuração e conexão usando o modelo Máquina de café conectada que você definiu anteriormente. Atualize a temperatura ideal no formulário Propriedades, execute comandos para atualizar o estado da máquina e veja a telemetria da sua máquina de café ligada.

Atualizar as propriedades para sincronizar a sua aplicação com a máquina de café

Utilize o formulário Propriedades definido no modelo de dispositivo para enviar dados de configuração para a máquina de café a partir da aplicação.

  1. Navegue para a página Dispositivos na aplicação Azure IoT Central.

  2. Selecione ccm-001 na lista de dispositivos para visualizar os detalhes do dispositivo.

  3. Selecione Propriedades para ver o formulário.

  4. Introduza 95 como a temperatura ideal. Em seguida, selecione Guardar.

Quando a propriedade é alterada, a propriedade é marcada como Pendente: agora na interface do usuário até que a máquina de café reconheça a alteração de configuração. A propriedade é então marcada como Aceito: agora.

Nota

Atualizações com êxito na definição indicam que há fluxo de dados e validam a ligação. As medidas de telemetria irão responder à atualização da temperatura ideal.

Atualizar as propriedades da cloud

Utilize o formulário Propriedades definido no modelo de dispositivo para atualizar os dados de configuração da máquina de café.

  1. Navegue para a página Dispositivos na aplicação Azure IoT Central.

  2. Selecione ccm-001 na lista de dispositivos para visualizar os detalhes do dispositivo.

  3. Selecione Propriedades para ver o formulário.

  4. Digite 99 como a temperatura máxima (°C) da cafeteira e 92 como a temperatura mínima (°C) da cafeteira. Em seguida, selecione Guardar.

As propriedades da nuvem não são sincronizadas com o dispositivo, elas só existem no aplicativo IoT Central.

Executar comandos na máquina de café

Navegue para a página Comandos do dispositivo para o exercício seguinte. Para validar a configuração dos comandos, execute remotamente os comandos na máquina de café a partir do IoT Central. Se os comandos tiverem êxito, as mensagens de confirmação são enviadas novamente da máquina de café.

  1. Comece a preparar remotamente ao selecionar Executar.

    A máquina de café arranca se estas três condições forem satisfeitas:

    • Chávena detetada
    • Não está em manutenção
    • Ainda não está a preparar

    Nota

    Quando tiver iniciado a preparação com êxito, o estado da máquina é alterado para A preparar, como indicado na página Telemetria.

    Procure mensagens de confirmação no registo da consola da máquina de café simulada.

    Set up the device client.
    Device successfully connected to Azure IoT Central
    - Set handler for "SetMaintenanceMode" command.
    - Set handler for "StartBrewing" command.
    - Set handler to receive "OptimalTemperature" updates.
    - Update "DeviceWarrantyExpired" reported property on the initial startup.
     * Property: Update - { "DeviceWarrantyExpired": True } is Completed.
    Telemetry send: Temperature: 97ºC Humidity: 25.4% Cup Detected: Y Brewing: N Maintenance Mode: N
    Telemetry send: Temperature: 94.3ºC Humidity: 22.4% Cup Detected: Y Brewing: N Maintenance Mode: N
     * Property: Received - { "OptimalTemperature": 95°C }.
     * Property: Update - {"OptimalTemperature ": 95°C } is InProgress.
    Telemetry send: Temperature: 96.2ºC Humidity: 53.5% Cup Detected: N Brewing: N Maintenance Mode: N
     * Property: Update - {"OptimalTemperature ": 95°C } is Completed.
    Telemetry send: Temperature: 95.9ºC Humidity: 35.3% Cup Detected: N Brewing: N Maintenance Mode: N
    Telemetry send: Temperature: 96.4ºC Humidity: 75.5% Cup Detected: N Brewing: N Maintenance Mode: N
     * Start brewing command received
    Telemetry send: Temperature: 94.2ºC Humidity: 86.3% Cup Detected: Y Brewing: Y Maintenance Mode: N
    Telemetry send: Temperature: 94.8ºC Humidity: 85.4% Cup Detected: Y Brewing: Y Maintenance Mode: N
    Telemetry send: Temperature: 96.7ºC Humidity: 93.7% Cup Detected: Y Brewing: Y Maintenance Mode: N
    
  2. Defina o modo de manutenção ao selecionar Executar na página Comandos. A máquina de café será configurada para manutenção se ainda não estiver no modo de manutenção.

    Procure mensagens de confirmação no registo da consola da máquina de café.

    Nota

    Tal como na vida real, quando o técnico passa a máquina para o modo offline para executar as reparações necessárias antes de a passar novamente para o modo online, a máquina de café continua a manter-se no modo de manutenção até que o código do cliente seja reiniciado.

    Set up the device client.
    Device successfully connected to Azure IoT Central
    - Set handler for "SetMaintenanceMode" command.
    - Set handler for "StartBrewing" command.
    - Set handler to receive "OptimalTemperature" updates.
    - Update "DeviceWarrantyExpired" reported property on the initial startup.
     * Property: Update - { "DeviceWarrantyExpired": False } is Completed.
    Telemetry send: Temperature: 96.8ºC Humidity: 39.2% Cup Detected: Y Brewing: N Maintenance Mode: N
    Telemetry send: Temperature: 96.8ºC Humidity: 57.7% Cup Detected: Y Brewing: N Maintenance Mode: N
    Telemetry send: Temperature: 97.2ºC Humidity: 45.2% Cup Detected: Y Brewing: N Maintenance Mode: N
     * Maintenance command received
    Telemetry send: Temperature: 96ºC Humidity: 54.7% Cup Detected: Y Brewing: N Maintenance Mode: Y
    Telemetry send: Temperature: 95.6ºC Humidity: 22.1% Cup Detected: Y Brewing: N Maintenance Mode: Y
    Telemetry send: Temperature: 95.3ºC Humidity: 92% Cup Detected: Y Brewing: N Maintenance Mode: Y
     * Start brewing command received
     - Warning: The device is in maintenance mode.
    Telemetry send: Temperature: 94.5ºC Humidity: 85.5% Cup Detected: Y Brewing: N Maintenance Mode: Y
    Telemetry send: Temperature: 96.9ºC Humidity: 62.7% Cup Detected: Y Brewing: N Maintenance Mode: Y
    Telemetry send: Temperature: 97.6ºC Humidity: 47.3% Cup Detected: Y Brewing: N Maintenance Mode: Y
    

Ver a telemetria da máquina de café

Navegue para a página Telemetria da máquina de café. Definiu esta página quando criou o modelo de dispositivo:

Screenshot that shows the Telemetry page for the connected coffee machine device template.

Importante

É recomendável que você execute o aplicativo C# não mais do que 60 minutos ou mais, para evitar que o aplicativo envie notificações/e-mails indesejados. Parar a aplicação quando não está a trabalhar no módulo também evita que esgote a quota de mensagens diária. Você pode adicionar um sinalizador para definir o tempo de execução do aplicativo: dotnet run -n [TimeInSeconds].