Exercício – Conectar e transmitir dados dos Gêmeos Digitais do Azure para ativos de turbina eólica

Concluído

Um Serviço do Azure SignalR foi exposto como parte do modelo do ARM que você implantou. Esse serviço e a configuração associada permitem que você se conecte aos Gêmeos Digitais do Azure. Criamos um pipeline de dados para recuperar dados de gêmeos digitais, abstraídos do aplicativo cliente que roda em realidade misturada.

Visão geral do Serviço do Azure SignalR

O Azure SignalR Service simplifica o processo de adição da funcionalidade Web em tempo real aos aplicativos por HTTP. Essa funcionalidade em tempo real permite que o serviço envie por push atualizações de conteúdo a clientes conectados, como um aplicativo móvel ou Web de página única. Como resultado, os clientes são atualizados sem a necessidade de sondar o servidor nem enviar novas solicitações HTTP para atualizações. Qualquer cenário que exija enviar dados por push do servidor para o cliente em tempo real pode usar o Serviço do Azure SignalR. Os recursos tradicionais em tempo real, que geralmente exigem a sondagem de um servidor, também podem usar o Serviço do Azure SignalR.

Você pode integrar facilmente o Serviço do Azure SignalR com outros serviços do Azure, o que abre outras possibilidades de cenários. Por exemplo, o Azure Functions pode usar a API REST para enviar notificações por push ao Serviço do Azure SignalR, que enviará os dados por push aos clientes conectados em tempo real. O Serviço do Azure SignalR, usado junto com hub IoT, pode habilitar a transmissão de dados de sensor em tempo real aos clientes conectados para dar suporte a cenários de monitoramento em tempo real.

Muitas vezes, cenários em tempo real têm fluxos de dados de alta frequência e grandes quantidades de conexões simultâneas entre o cliente e o servidor. Eles exigem uma configuração de infraestrutura não trivial para ativar a funcionalidade em escala. Configurar essa infraestrutura em escala é difícil. A configuração geralmente requer uma lógica específica do aplicativo em várias camadas de rede. O Serviço do Azure SignalR cuida desses problemas para que você possa se concentrar na lógica do aplicativo que proporciona experiências conectadas em tempo real. Você pode escalar a funcionalidade em tempo real dinamicamente, pagando apenas pelo que usa. O serviço também herda as funcionalidades do Serviço do Azure SignalR para conexões persistentes em vários transportes.

Uma ampla variedade de setores utilizou o Serviço do Azure SignalR para qualquer tipo de aplicativo que requer atualizações de conteúdo em tempo real. Aqui estão alguns exemplos de cenários adequados para usar o Serviço do Azure SignalR:

  • Atualizações de dados de alta frequência – jogos, votação, enquete e leilão
  • Painéis e monitoramento: painel da empresa, dados do mercado financeiro, atualização instantânea de vendas, placar de líderes de jogos para vários jogadores e monitoramento de IoT
  • Localização no mapa em tempo real: acompanhamento logístico, acompanhamento do status de entrega, atualizações de status de transporte e aplicativos de GPS
  • Anúncios direcionados em tempo real: ofertas e anúncios por push em tempo real personalizados e anúncios interativos
  • Aplicativos colaborativos: coautoria, aplicativos de quadro de comunicações e softwares de reunião de equipe
  • Notificações por push: alertas de rede social, email, jogos e viagens
  • Transmissão em tempo real: transmissão de áudio/vídeo ao vivo, tradução e legendagem ao vivo e transmissão de eventos/notícias
  • Dispositivos conectados e IoT: métricas de IoT em tempo real, controle remoto, status em tempo real e rastreamento de localização
  • Automação: gatilho em tempo real de eventos upstream

Para o seu caso de uso de turbinas eólicas, a camada de comunicação entre os dados das turbinas eólicas dos Gêmeos Digitais do Azure e o seu dispositivo de realidade misturada usa o Serviço do Azure SignalR e um cliente SignalR inserido no aplicativo de realidade misturada.

Para expor os dados ao aplicativo cliente por meio dos Gêmeos Digitais do Azure, você precisa se conectar ao Serviço do Azure SignalR. O aplicativo de realidade misturada que você está criando implementa um cliente SignalR para se conectar ao Serviço do SignalR. Estabelecer a comunicação entre o cliente SignalR e o Serviço do Azure SignalR exige que o cliente invoque a função negotiate no Serviço do SignalR.

Configure o DeviceSimulator com seus parâmetros de conexão dos Gêmeos Digitais do Azure e os detalhes de autenticação capturados no exercício anterior.

Obter as credenciais do aplicativo

  1. Abra DeviceSimulator.sln no Visual Studio e configure o DeviceSimulator com o nome do host do tipo de recurso dos Gêmeos Digitais do Azure criado pelo modelo do ARM.

  2. Abra o arquivo de texto Azure_config_settings.txt criado no último exercício que contém os principais parâmetros de configuração dos Gêmeos Digitais do Azure usando um editor de texto. Como alternativa, se a sessão do PowerShell estiver ativa, procure a saída do comando get-content.

  3. No arquivo Azure_config_settings.txt ou na saída do comando get-content no PowerShell, localize o par chave/valor para a chave adtHostName e copie o valor. Ele deve ser semelhante a:

    https://myprojadtxxxxxxxxxx.api.eus.digitaltwins.azure.net
    

    Captura de tela da interface de linha de comando executando o prompt de comando get-content.

  4. Na solução DeviceSimulator do Visual Studio, abra o arquivo AzureIoTHub.cs no editor clicando duas vezes no arquivo do Gerenciador de Soluções. Cole o valor da sua chave/par adtHostName copiada da Etapa 2 na variável de cadeia de caracteres adtInstanceUrl.

    Captura de tela da solução Simulador de Dispositivo com o arquivo Hub IoT do Azure cs aberto e valores de nome do host e URL da instância adicionados.

Configurar o simulador de dispositivos com a cadeia de conexão primária

Configure o DeviceSimulator com a cadeia de conexão primária do Hub IoT que o modelo do ARM criou.

Importante

Este módulo inclui etapas para conectar um dispositivo usando uma assinatura de acesso compartilhado, também chamada de autenticação por chave simétrica. Este método de autenticação é conveniente para testes e avaliações, mas autenticar um dispositivo usando certificados X.509 é uma abordagem mais segura. Para saber mais, consulte Melhores práticas de segurança> em Conexão de segurança.

  1. No arquivo Azure_config_settings.txt ou na saída do comando get-content no PowerShell, localize o par chave/valor para a chave connectionString e copie o valor. Ele deve ser semelhante a:

    HostName=myprojHubxxxxxxxxxx.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey= xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”
    
  2. Na solução DeviceSimulator do Visual Studio, abra o arquivo AzureIoTHub.cs no editor e cole o valor de connectionString, copiado na etapa anterior, na variável de cadeia de caracteres iotHubConnectionString.

    Captura de tela da solução Simulador de Dispositivo com o arquivo Hub IoT do Azure cs aberto e o valor da cadeia de conexão do Hub IoT adicionado.

Configurar o simulador de dispositivos com chaves de autenticação

Configure o DeviceSimulator com as chaves de autenticação que o modelo do ARM criou.

  1. Abra o arquivo de texto AppCredentials.txt criado no exercício anterior.

  2. Na solução DeviceSimulator do Visual Studio, abra o arquivo PropUpdater.cs no editor. Copie e cole os GUIDs (identificadores globais exclusivos) do arquivo de texto para o arquivo .cs. Use os seguintes mapeamentos das variáveis .cs na saída de dados JSON no arquivo de texto:

    AppCredentials.txt PropUpdater.cs
    appId clientId
    password clientSecret
    locatário tenantId

    Captura de tela da solução Simulador de Dispositivo com o arquivo PropUpdater.cs aberto e valores de cliente, segredo e ID de locatário adicionados.

  3. Selecione Arquivo>Salvar tudo para salvar seu trabalho no Visual Studio.

Conecte seus Gêmeos Digitais do Azure pré-fabricados no Unity aos gêmeos digitais para que você possa receber dados telemétricos simulados do DeviceSimulator.

Adicionar a conexão dos Gêmeos Digitais do Azure pré-fabricada

Adicione o ativo pré-fabricado de conexão dos Gêmeos Digitais do Azure à Cena do Unity e configure-o.

  1. Retorne ao projeto do Unity.

  2. Selecione o objeto de jogo ADTConnection na Hierarquia. Se ele não estiver na hierarquia, arraste o ativo Pré-fabricado Ativos>ADTPrefabs>ADTConnection para a hierarquia de cena.

    Captura de tela da Hierarquia do Unity com a cena principal realçada.

  3. Abra o arquivo de texto que você criou no último exercício, Azure_config_settings.txt, em um editor de texto. O arquivo contém os principais parâmetros de configuração do Gêmeos Digitais do Azure. Como alternativa, se a sessão do PowerShell estiver ativa, procure a saída do comando get-content.

  4. No arquivo Azure_config_settings.txt ou na saída do comando get-content no PowerShell, localize o par chave/valor para a chave signalRNegotiatePath e copie o valor. Ele deve ser semelhante a:

    https://myprojfuncappxxxxxxxxxx.azurewebsites.net/api/negotiate
    
  5. Adicione esse valor ao parâmetro Url em Manipulador de Dados do ADT (Script) com a URL da Função obtida na Etapa 1. Inclua tudo no URL até e incluindo …/api. Não inclua a última barra invertida ou a palavra negociar.

    Captura de tela do editor do Unity com o pré-fabricado de conexão dos Gêmeos Digitais do Azure selecionado e o script do manipulador de dados ADT adicionado.

  6. Salve a cena.

Agora que os serviços do Azure estão configurados e os ponteiros apropriados estão em sua Cena do Unity, você pode criar uma IU (interface do usuário) para visualizar os dados operacionais.