Exercício - Conecte e transmita dados do Gêmeo Digital do Azure para ativos de turbinas eólicas

Concluído

Um Serviço SignalR do Azure foi exposto como parte do modelo ARM que você implantou. Este 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, que são abstraídos do aplicativo cliente que é executado em realidade mista.

Visão geral do Serviço Azure SignalR

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

Você pode integrar facilmente o Serviço SignalR do Azure com outros serviços do Azure, o que abre outros cenários possíveis. Por exemplo, o Azure Functions pode usar a API REST para enviar notificações por push para o Serviço Azure SignalR, que envia dados por push para clientes conectados em tempo real. O Serviço Azure SignalR, usado com o Hub IoT, pode permitir que dados de sensores em tempo real sejam transmitidos a clientes conectados para dar suporte a cenários de monitoramento em tempo real.

Os cenários em tempo real geralmente vêm com 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 colocar a funcionalidade em funcionamento em escala. Configurar essa infraestrutura em escala é difícil. A configuração geralmente requer lógica específica do aplicativo em várias camadas de rede. O Serviço Azure SignalR lida com esses problemas para que você possa se concentrar na lógica do aplicativo que oferece experiências conectadas em tempo real. Você pode dimensionar a funcionalidade em tempo real dinamicamente, pagando apenas pelo que usar. O serviço também herda os recursos do Serviço SignalR do Azure para conexões persistentes em vários transportes.

Uma grande variedade de setores usou o Serviço Azure SignalR para qualquer tipo de aplicativo que exija atualizações de conteúdo em tempo real. Aqui estão alguns exemplos que são bons para usar o Serviço Azure SignalR:

  • Atualizações de dados de alta frequência: jogos, votação, votação e leilão
  • Painéis e monitoramento: painel da empresa, dados do mercado financeiro, atualização instantânea de vendas, quadro de líderes de jogos multijogador e monitoramento de IoT
  • Localização em tempo real no mapa: rastreamento logístico, rastreamento de status de entrega, atualizações de status de transporte e aplicativos de GPS
  • Anúncios segmentados em tempo real: ofertas e anúncios push personalizados em tempo real e anúncios interativos
  • Aplicativos colaborativos: coautoria, aplicativos de quadro de comunicações e software de reunião de equipe
  • Notificações push: alertas de redes sociais, e-mail, jogos e viagens
  • Transmissão em tempo real: transmissão de áudio/vídeo ao vivo, legendas ao vivo, tradução e transmissão de eventos/notícias
  • IoT e dispositivos conectados: métricas de IoT em tempo real, controle remoto, status em tempo real e rastreamento de localização
  • Automação: gatilho em tempo real a partir de eventos upstream

Para seu caso de uso de turbina eólica, a camada de comunicação entre os dados da turbina eólica do Azure Digital Twins e seu dispositivo de realidade mista usa o Serviço SignalR do Azure e um cliente SignalR incorporado no aplicativo de realidade mista.

Para expor os dados ao seu aplicativo cliente usando o Azure Digital Twins, você precisa se conectar ao Serviço Azure SignalR. O aplicativo de realidade mista que você está criando implementa um cliente SignalR para se conectar ao serviço SignalR. Estabelecer comunicação entre o cliente SignalR e o serviço Azure SignalR requer que o cliente invoque a negotiate função no serviço SignalR.

Configure o seu DeviceSimulator com os parâmetros de conexão do Azure Digital Twins e os detalhes de autenticação capturados no exercício anterior.

Obter credenciais de aplicativo

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

  2. Abra o arquivo de texto Azure_config_settings.txt que você criou no último exercício que contém os principais parâmetros de configuração do Azure Digital Twins usando um editor de texto. Como alternativa, se a sessão do PowerShell permanecer 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 da adtHostName chave e copie o valor. Deve ser semelhante a:

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

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

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

    Captura de ecrã da solução Device Simulator com o ficheiro cs do Hub IoT do Azure aberto e os valores de URL do nome do anfitrião e da instância adicionados.

Configurar o simulador de dispositivo com cadeia de conexão primária

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

Importante

Este módulo inclui etapas para conectar um dispositivo usando uma assinatura de acesso compartilhado, também chamada de autenticação de chave simétrica. Esse 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 Práticas > recomendadas de segurança Segurança de conexão.

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

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

    Captura de ecrã da solução Device Simulator com o ficheiro cs do Hub IoT do Azure aberto e o valor acrescentado da cadeia de ligação do Hub IoT.

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

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

  1. Abra o arquivo de texto AppCredentials.txt que você criou no exercício anterior.

  2. Em sua solução Visual Studio DeviceSimulator , abra o arquivo de 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 para a saída de dados JSON em seu arquivo de texto:

    AppCredentials.txt PropUpdater.cs
    appId clientId
    password clientSecret
    tenant tenantId

    Captura de ecrã da solução Device Simulator com o ficheiro PropUpdater.cs aberto e os valores de ID de cliente, segredo e inquilino 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 de telemetria simulados do DeviceSimulator.

Adicionar a conexão pré-fabricada do Azure Digital Twins

Adicione o ativo pré-fabricado de conexão do Azure Digital Twins à sua cena Unity e configure.

  1. Volte ao seu projeto Unity.

  2. Selecione o objeto de ADTConnection jogo na Hierarquia. Se estiver faltando na sua hierarquia, arraste o ativo pré-fabricado Assets>ADTPrefabs>ADTConnection para sua hierarquia de cena.

    Captura de tela da Hierarquia Unity com a cena principal em destaque.

  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 Azure Digital Twins. Como alternativa, se a sessão do PowerShell permanecer 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 da signalRNegotiatePath chave e copie o valor. Deve ser semelhante a:

    https://myprojfuncappxxxxxxxxxx.azurewebsites.net/api/negotiate
    
  5. Adicione esse valor ao parâmetro Url em ADT Data Handler (Script) com a Function Url 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 Unity com a conexão pré-fabricada do Azure Digital Twins selecionada 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 dentro da sua cena Unity, você pode criar uma interface do usuário (UI) para visualizar os dados de operações.