Упражнение — подключение и потоковая передача данных цифрового двойника Azure к активам ветряных турбин

Завершено

Служба Azure SignalR был предоставлен в рамках развернутого шаблона ARM. Эта служба и связанная настройка позволяют подключаться к Azure Digital Twins. Мы создали конвейер данных для получения данных из цифровых двойников, который абстрагируется от клиентского приложения, работающего в смешанной реальности.

обзор Служба Azure SignalR

Azure SignalR — это служба, которая позволяет в реальном времени и без усилий добавлять в приложения веб-функции по протоколу HTTP. Функции, работающие в реальном времени, позволяют службе отправлять обновления содержимого в подключенные клиенты, например одностраничные веб-приложения и мобильные приложения. В результате клиенты обновляются без необходимости опрашивать сервер или отправлять новые HTTP-запросы на обновления. Любой сценарий, требующий отправки данных с сервера на клиент в режиме реального времени, может использовать Служба Azure SignalR. Традиционные функции в режиме реального времени, которые часто требуют опроса с сервера, также могут использовать Служба Azure SignalR.

Вы можете легко интегрировать Служба Azure SignalR с другими службами Azure, что открывает другие возможные сценарии. Например, Функции Azure может использовать REST API для отправки push-уведомлений в Служба Azure SignalR, которая затем отправляет данные в подключенные клиенты в режиме реального времени. Служба Azure SignalR, используемый с Центр Интернета вещей, позволяет передавать данные датчика в режиме реального времени подключенным клиентам для поддержки сценариев мониторинга в режиме реального времени.

Сценарии реального времени часто сопровождаются высокочастотными потоками данных и большим количеством одновременных подключений между клиентом и сервером. Им требуется нетривиальная настройка инфраструктуры для получения функциональных возможностей и выполнения в большом масштабе. Настройка этой инфраструктуры в масштабе является сложной. Обычно для конфигурации требуется логика для конкретного приложения на различных сетевых уровнях. Служба Azure SignalR обрабатывает эти проблемы, чтобы сосредоточиться на логике приложения, которая обеспечивает возможности подключения в режиме реального времени. Вы можете динамически масштабировать функциональность в реальном времени, платя только за то, что используете. Служба также наследует Служба Azure SignalR возможности постоянных подключений по различным транспортам.

Широкий спектр отраслей использовал Служба Azure SignalR для любого типа приложения, требующего обновления содержимого в режиме реального времени. Ниже приведены некоторые примеры, которые хорошо использовать Служба Azure SignalR:

  • Обновления данных высокой частоты: игры, голосование, опрос и аукцион
  • Панели мониторинга и мониторинг: информационная панель компании, данные финансового рынка, мгновенное обновление продаж, панель лидеров игр с несколькими игроками и мониторинг Интернета вещей
  • Расположение на карте в режиме реального времени: логистическое отслеживание, отслеживание состояния доставки, обновления состояния транспорта и приложения GPS
  • Целевая реклама в режиме реального времени: персонализированная реклама и предложения в режиме реального времени, а также интерактивная реклама
  • Приложения для совместной работы: совместное редактирование, приложения доски и программное обеспечение для собраний группы
  • Push-уведомления: социальные сети, электронная почта, игра и оповещения о путешествиях
  • Трансляция в режиме реального времени: трансляция аудио- и видеотрансляции, субтитры, перевод и трансляции и новости
  • Устройства Интернета вещей и подключенные устройства: метрики Интернета вещей в режиме реального времени, удаленное управление, состояние реального времени и отслеживание расположения
  • Автоматизация: триггер в режиме реального времени из событий вышестоящего потока

В случае использования ветряной турбины уровень связи между данными ветротурбины Azure Digital Twins и устройством смешанной реальности используется Служба Azure SignalR и клиент SignalR, внедренный в приложение смешанной реальности.

Чтобы предоставить данные клиентскому приложению с помощью Azure Digital Twins, необходимо подключиться к Служба Azure SignalR. Приложение смешанной реальности, которое вы создаете, реализует клиент SignalR для подключения к службе SignalR. Для установления связи между клиентом SignalR и службой Azure SignalR клиент должен вызвать negotiate функцию в службе SignalR.

DeviceSimulator Настройте параметры подключения Azure Digital Twins и сведения о проверке подлинности, захваченные в предыдущем упражнении.

Получить учетные данные приложения

  1. Откройте DeviceSimulator.sln в Visual Studio и настройте DeviceSimulator имя узла для типа ресурса Azure Digital Twins, созданного шаблоном ARM.

  2. Откройте текстовый файл Azure_config_settings.txt , созданный в последнем упражнении, который содержит ключевые параметры конфигурации Azure Digital Twins с помощью текстового редактора. Кроме того, если сеанс PowerShell остается активным, найдите выходные данные из команды get-content .

  3. В файле Azure_config_settings.txt или из выходных get-content данных команды в PowerShell найдите пару "ключ-значение" для adtHostName ключа и скопируйте значение. Это должно выглядеть примерно так:

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

    Снимок экрана интерфейса командной строки, запускающего командную строку get-content.

  4. В решении Visual Studio DeviceSimulator откройте файл AzureIoTHub.cs в редакторе, дважды щелкнув файл из Обозреватель решений. Вставьте значение ключа adtHostName или пары, скопированное из шага 2, в переменную строки adtInstanceUrl .

    Снимок экрана: решение симулятора устройств с добавленными значениями URL-адреса Центр Интернета вещей Azure cs и имени узла и URL-адреса экземпляра.

Настройка симулятора устройства с помощью основного строка подключения

DeviceSimulator Настройте основной строка подключения для Центр Интернета вещей созданного шаблона ARM.

Внимание

Этот модуль включает шаги по подключению устройства с помощью подписанного URL-адреса, также называемого проверкой подлинности симметричного ключа. Этот метод проверки подлинности удобнее для тестирования и оценки, но проверка подлинности устройства с помощью сертификатов X.509 является более безопасным подходом. Дополнительные сведения см. в разделе "Рекомендации > по обеспечению безопасности подключений".

  1. В файле Azure_config_settings.txt или из выходных get-content данных команды в PowerShell найдите пару "ключ-значение" для connectionString ключа и скопируйте значение. Это должно выглядеть примерно так:

    HostName=myprojHubxxxxxxxxxx.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey= xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”
    
  2. В решении Visual Studio DeviceSimulator откройте файл AzureIoTHub.cs в редакторе и вставьте connectionString значение, скопированное на предыдущем шаге, в переменную строки iotHubConnectionString.

    Снимок экрана: решение симулятора устройств с открытым Центр Интернета вещей строка подключения и добавленным значением Центр Интернета вещей Azure CS-файла.

Настройка симулятора устройства с помощью ключей проверки подлинности

Настройте DeviceSimulator с помощью ключей проверки подлинности, созданных шаблоном ARM.

  1. Откройте текстовый файл AppCredentials.txt, созданный в предыдущем упражнении.

  2. В решении Visual Studio DeviceSimulator откройте файл PropUpdater.cs в редакторе. Скопируйте и вставьте глобальные уникальные идентификаторы (GUID) из текстового файла в файл .cs . Используйте следующие сопоставления из переменных .cs с выходными данными JSON в текстовом файле:

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

    Снимок экрана: решение симулятора устройств с добавленными значениями идентификаторов PropUpdater.cs файла и клиента, секрета и идентификатора клиента.

  3. Нажмите кнопку "Сохранить все">, чтобы сохранить работу в Visual Studio.

Подключите префаб Azure Digital Twins в Unity к цифровым двойникам, чтобы получить имитированные данные телеметрии из .DeviceSimulator

Добавление префаб подключения Azure Digital Twins

Добавьте ресурс предварительной проверки подключения Azure Digital Twins в сцену Unity и настройте его.

  1. Вернитесь в проект Unity.

  2. ADTConnection Выберите объект игры в иерархии. Если она отсутствует в иерархии, перетащите >ресурс adTPrefabs>ADTConnection в иерархию сцен.

    Скриншот иерархии Unity с выделенной основной сценой.

  3. Откройте текстовый файл, созданный в последнем упражнении, Azure_config_settings.txt в текстовом редакторе. Файл содержит ключевые параметры конфигурации Azure Digital Twins. Кроме того, если сеанс PowerShell остается активным, найдите выходные данные из команды get-content .

  4. В файле Azure_config_settings.txt или из выходных get-content данных команды в PowerShell найдите пару "ключ-значение" для signalRNegotiatePath ключа и скопируйте значение. Это должно выглядеть примерно так:

    https://myprojfuncappxxxxxxxxxx.azurewebsites.net/api/negotiate
    
  5. Добавьте это значение в параметр URL-адреса в обработчике данных ADT (скрипт) с URL-адресом функции, полученным на шаге 1. Включите все в URL-адрес до и в том числе …/api. Не включайте последнюю обратную косую черту или слово переговоров.

    Снимок экрана редактора Unity с выбранным префабом подключения Azure Digital Twins и скриптом обработчика данных ADT.

  6. Сохраните сцену.

Теперь, когда службы Azure настроены и соответствующие указатели находятся в сцене Unity, можно создать пользовательский интерфейс для визуализации данных операций.