Упражнение — подключение и потоковая передача данных цифрового двойника 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 и сведения о проверке подлинности, захваченные в предыдущем упражнении.
Получить учетные данные приложения
Откройте DeviceSimulator.sln в Visual Studio и настройте
DeviceSimulator
имя узла для типа ресурса Azure Digital Twins, созданного шаблоном ARM.Откройте текстовый файл Azure_config_settings.txt , созданный в последнем упражнении, который содержит ключевые параметры конфигурации Azure Digital Twins с помощью текстового редактора. Кроме того, если сеанс PowerShell остается активным, найдите выходные данные из команды
get-content
.В файле Azure_config_settings.txt или из выходных
get-content
данных команды в PowerShell найдите пару "ключ-значение" дляadtHostName
ключа и скопируйте значение. Это должно выглядеть примерно так:https://myprojadtxxxxxxxxxx.api.eus.digitaltwins.azure.net
В решении Visual Studio DeviceSimulator откройте файл AzureIoTHub.cs в редакторе, дважды щелкнув файл из Обозреватель решений. Вставьте значение ключа
adtHostName
или пары, скопированное из шага 2, в переменную строки adtInstanceUrl .
Настройка симулятора устройства с помощью основного строка подключения
DeviceSimulator
Настройте основной строка подключения для Центр Интернета вещей созданного шаблона ARM.
Внимание
Этот модуль включает шаги по подключению устройства с помощью подписанного URL-адреса, также называемого проверкой подлинности симметричного ключа. Этот метод проверки подлинности удобнее для тестирования и оценки, но проверка подлинности устройства с помощью сертификатов X.509 является более безопасным подходом. Дополнительные сведения см. в разделе "Рекомендации > по обеспечению безопасности подключений".
В файле Azure_config_settings.txt или из выходных
get-content
данных команды в PowerShell найдите пару "ключ-значение" дляconnectionString
ключа и скопируйте значение. Это должно выглядеть примерно так:HostName=myprojHubxxxxxxxxxx.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey= xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”
В решении Visual Studio
DeviceSimulator
откройте файл AzureIoTHub.cs в редакторе и вставьтеconnectionString
значение, скопированное на предыдущем шаге, в переменную строки iotHubConnectionString.
Настройка симулятора устройства с помощью ключей проверки подлинности
Настройте DeviceSimulator с помощью ключей проверки подлинности, созданных шаблоном ARM.
Откройте текстовый файл AppCredentials.txt, созданный в предыдущем упражнении.
В решении Visual Studio DeviceSimulator откройте файл PropUpdater.cs в редакторе. Скопируйте и вставьте глобальные уникальные идентификаторы (GUID) из текстового файла в файл .cs . Используйте следующие сопоставления из переменных .cs с выходными данными JSON в текстовом файле:
AppCredentials.txt PropUpdater.cs appId clientId password clientSecret tenant tenantId Нажмите кнопку "Сохранить все">, чтобы сохранить работу в Visual Studio.
Подключите префаб Azure Digital Twins в Unity к цифровым двойникам, чтобы получить имитированные данные телеметрии из .DeviceSimulator
Добавление префаб подключения Azure Digital Twins
Добавьте ресурс предварительной проверки подключения Azure Digital Twins в сцену Unity и настройте его.
Вернитесь в проект Unity.
ADTConnection
Выберите объект игры в иерархии. Если она отсутствует в иерархии, перетащите >ресурс adTPrefabs>ADTConnection в иерархию сцен.Откройте текстовый файл, созданный в последнем упражнении, Azure_config_settings.txt в текстовом редакторе. Файл содержит ключевые параметры конфигурации Azure Digital Twins. Кроме того, если сеанс PowerShell остается активным, найдите выходные данные из команды
get-content
.В файле Azure_config_settings.txt или из выходных
get-content
данных команды в PowerShell найдите пару "ключ-значение" дляsignalRNegotiatePath
ключа и скопируйте значение. Это должно выглядеть примерно так:https://myprojfuncappxxxxxxxxxx.azurewebsites.net/api/negotiate
Добавьте это значение в параметр URL-адреса в обработчике данных ADT (скрипт) с URL-адресом функции, полученным на шаге 1. Включите все в URL-адрес до и в том числе
…/api
. Не включайте последнюю обратную косую черту или слово переговоров.Сохраните сцену.
Теперь, когда службы Azure настроены и соответствующие указатели находятся в сцене Unity, можно создать пользовательский интерфейс для визуализации данных операций.