Руководство. Экспорт данных из Azure IoT Central и визуализация аналитических сведений в Power BI
В двух предыдущих руководствах вы создали и настроили приложение IoT Central с помощью шаблона приложения Аналитика магазина — оформление заказа. В этом руководстве вы настроите приложение IoT Central для экспорта данных телеметрии, собранных с устройств. Затем с помощью Power BI вы создадите настраиваемую панель мониторинга для диспетчера магазинов, чтобы визуализировать аналитические данные, полученные из данных телеметрии.
В этом руководстве описано следующее:
- Настройка приложения IoT Central для экспорта данных телеметрии в концентратор событий.
- Использование Logic Apps для отправки данных из концентратора событий в набор данных потоковой передачи Power BI.
- Создание панели мониторинга Power BI для визуализации данных в наборе данных потоковой передачи.
Необходимые компоненты
Для работы с этим учебником необходимы указанные ниже компоненты.
- Изучение двух предыдущих руководств, Создание приложения аналитики в магазине в Azure IoT Central и Настройка панели мониторинга и управление устройствами в Azure IoT Central.
- Учетная запись Power BI. Если у вас нет учетной записи Power BI, зарегистрируйтесь для получения бесплатной пробной версии Power BI Pro, прежде чем начинать работу.
Создание или изменение группы ресурсов
Перед созданием концентратора событий и приложения логики нужно создать группу ресурсов для управления ими. Группа ресурсов должна находиться в том же расположении, что и ваше приложение IoT Central Аналитика магазина — оформление заказа. Чтобы создать группу ресурсов:
- Войдите на портал Azure.
- В левой области навигации выберите Группы ресурсов. Нажмите кнопку Добавить.
- В поле Подписка выберите имя подписки Azure, которая использовалась для создания приложения IoT Central.
- В поле "Имя группы ресурсов" введите анализ розничного магазина.
- В поле Регион выберите тот же регион, который использовался для приложения IoT Central.
- Выберите Review + Create (Просмотреть и создать).
- На странице Отзыв и создание выберите Создать.
Теперь в вашей подписке есть группа ресурсов с именем retail-store-analysis.
Создание концентратора событий
Прежде чем можно будет настроить приложение мониторинга розничной торговли для экспорта данных телеметрии, нужно создать концентратор событий для получения экспортированных данных. Ниже показано, как создать концентратор событий.
- На портале Azure выберите Создать ресурс в левой верхней части экрана.
- В поле Поиск по Marketplace введите Центры событий и нажмите клавишу ВВОД.
- На странице Центры событий выберите Создать.
- На странице "Создание пространства имен" выполните следующие действия.
- Введите уникальное имя для пространства имен, например ваше_имя-retail-store-analysis. Система проверит, доступно ли это имя.
- Выберите ценовую категорию Базовый.
- Выберите ту же подписку, которая использовалась для создания приложения IoT Central.
- Выберите группу ресурсов retail-store-analysis.
- Выберите то же расположение, которое использовалось для приложения IoT Central.
- Нажмите кнопку создания. Подготовка ресурсов для системы может занять несколько минут.
- На портале перейдите к группе ресурсов retail-store-analysis. Дождитесь завершения развертывания. Для обновления состояния развертывания может потребоваться выбрать элемент Обновить. Вы также можете проверить состояние создания пространства имен концентратора событий в разделе Уведомления.
- В группе ресурсов retail-store-analysis выберите Пространство имен Центров событий. Откроется домашняя страница для вашего пространства имен Центров событий на портале.
Вам потребуется строка подключения с разрешениями на отправку для подключения из IoT Central. Чтобы создать строка подключения, выполните приведенные действия.
- В пространстве имен Центров событий в портал Azure выберите политики общего доступа. Список политик включает политику RootManageSharedAccessKey по умолчанию.
- Выберите Добавить.
- Введите SendPolicy в качестве имени политики, выберите "Отправить" и нажмите кнопку "Создать".
- Выберите SendPolicy в списке политик.
- Запишите значение строки-источника Подключение ion. Он используется при настройке назначения экспорта в IoT Central.
Вам потребуется строка подключения с разрешениями на управление и прослушивание для подключения к концентратору событий из приложения логики. Чтобы получить строка подключения:
- В пространстве имен Центров событий в портал Azure выберите политики общего доступа. Список политик включает политику RootManageSharedAccessKey по умолчанию.
- В списке политик выберите RootManageSharedAccessKey.
- Запишите значение строки-источника Подключение ion. Его можно использовать при настройке приложения логики для получения данных телеметрии из концентратора событий.
Теперь у вас есть пространство имен Центров событий, вы можете создать концентратор событий для использования с приложением IoT Central:
- На домашней странице Пространство имен Центров событий портала выберите + Концентратор событий.
- На странице Создание концентратора событий введите store-telemetry в качестве имени, а затем выберите Создать.
Теперь у вас есть концентратор событий, который можно использовать при настройке экспорта данных из приложения IoT Central:
Настройка экспорта данных
Теперь, когда у вас есть концентратор событий, вы можете настроить приложение Аналитика магазина — оформление заказа для экспорта данных телеметрии с подключенных устройств. Следующие действия демонстрируют, как настроить экспорт.
- Войдите в приложение IoT Central Аналитика магазина — оформление заказа.
- В левой области щелкните Экспорт данных.
- Выберите + Новый экспорт.
- Введите экспорт телеметрии в качестве имени экспорта.
- Выберите данные телеметрии в качестве типа данных для экспорта.
- В разделе "Назначения" выберите создать новую.
- Введите концентратор событий хранилища данных в качестве имени назначения.
- В качестве типа назначения выберите Центры событий Azure.
- Выберите строку Подключение ion в качестве типа авторизации.
- Вставьте строка подключения для SendPolicy, сохраненного при создании концентратора событий.
- Введите данные телеметрии магазина в качестве концентратора событий.
- Нажмите кнопку "Создать" и "Сохранить".
- На странице экспорта телеметрии дождитесь изменения состояния экспорта на "Работоспособный".
Экспорт данных может занять несколько минут, после чего начнется отправка телеметрии в концентратор событий. Состояние экспорта можно просмотреть на странице экспорта данных.
Создание наборов данных Power BI
Панель мониторинга Power BI отображает данные из приложения для мониторинга розничной торговли. В этом решении в качестве источника данных для панели мониторинга Power BI используются наборы данных потоковой передачи Power BI. В этом разделе вы определите схему наборов данных потоковой передачи, чтобы приложение логики могло пересылать данные из концентратора событий. Ниже показано, как создать два набора данных потоковой передачи для датчиков состояния окружающей среды и один набор данных потоковой передачи для датчика присутствия.
Выполните вход в учетную запись Power BI.
Выберите Рабочие области, а затем — Создать рабочую область.
На странице Создание рабочей области введите Аналитика магазина — оформление заказа в поле Имя рабочей области. Выберите Сохранить.
На странице рабочей области выберите +Создать > набор данных потоковой передачи.
На странице Создать набор данных для потоковой передачи выберите API, а затем нажмите кнопку Далее.
Введите Датчик зоны 1 в поле Имя набора данных.
Введите три значения из потока в следующей таблице.
Имя значения Тип значения Метка времени Дата/время Влажность Число Температура Число Включите Анализ исторических данных.
Выберите Создать и затем Готово.
Создайте еще один набор данных потоковой передачи с именем Датчик зоны 2 с теми же схемой и параметрами, что и у набора данных потоковой передачи Датчик зоны 1.
Теперь у вас есть два набора данных потоковой передачи. Приложение логики направляет данные телеметрии из двух датчиков окружающей среды, подключенных к аналитике в магазине, проверка out приложения к этим двум наборам данных:
В этом решении используется по одному набору данных потоковой передачи для каждого датчика, так как невозможно применить фильтры к данным потоковой передачи в Power BI.
Кроме того, нужен набор данных потоковой передачи для данных телеметрии присутствия:
На странице рабочей области выберите "Создать > набор данных потоковой передачи".
На странице Создать набор данных для потоковой передачи выберите API, а затем нажмите кнопку Далее.
Введите Датчик присутствия в поле Имя набора данных.
Введите пять значений из потока в следующей таблице.
Имя значения Тип значения Метка времени Дата/время Длина очереди 1 Число Длина очереди 2 Число Продолжительность пребывания 1 Число Продолжительность пребывания 2 Число Включите Анализ исторических данных.
Выберите Создать и затем Готово.
Теперь у вас есть третий набор данных потоковой передачи, в котором хранятся значения с имитированного датчика присутствия. Этот датчик сообщает о длине очереди на двух кассах в магазине и о том, как долго клиенты ожидают в этих очередях:
Создание приложения логики
В этом решении приложение логики считывает данные телеметрии из концентратора событий, анализирует их и направляет в созданные наборы данных потоковой передачи Power BI.
Прежде чем создавать приложение логики, вам понадобятся идентификаторы устройств для двух датчиков RuuviTag, которые вы подключили к приложению IoT Central в руководстве Создание приложения аналитики в магазине в Azure IoT Central:
- Войдите в приложение IoT Central Аналитика магазина — оформление заказа.
- В левой области выберите Устройства. Затем выберите RuuviTag.
- Запишите идентификаторы устройств. На следующем снимке экрана идентификаторы: 8r6vyiv1x и 1rvfk4ymk6z:
Ниже показано, как создать приложение логики на портале Azure:
- Войдите на портал Azure и выберите Создать ресурс в левой верхней части экрана.
- В поле Поиск по Marketplace введите Приложение логики и нажмите клавишу ВВОД.
- На странице Приложение логики выберите Создать.
- На странице создания:
- Введите уникальное имя для приложения логики, например ваше_имя-retail-store-analysis.
- Выберите ту же подписку, которая использовалась для создания приложения IoT Central.
- Выберите группу ресурсов retail-store-analysis.
- Выберите тип в качестве потребления.
- Выберите то же расположение, которое использовалось для приложения IoT Central.
- Нажмите кнопку создания. Подготовка ресурсов для системы может занять несколько минут.
- На портале Azure перейдите к новому приложению логики.
- На странице Конструктор Logic Apps прокрутите вниз и выберите Пустое приложение логики.
- В поле Поиск соединителей и триггеров введите Центры событий.
- В поле Триггеры выберите When events are available in Event Hub (При наличии событий в концентраторе событий).
- Введите данные телеметрии Магазина в качестве имени Подключение ion.
- Выберите ключ доступа в качестве типа проверки подлинности.
- Вставьте в концентратор событий строка подключения для политики RootManageSharedAccessKey, о чем вы ранее заметили, и нажмите кнопку "Создать".
- В действии " Когда события доступны в действии Концентратора событий":
- В поле Имя концентратора событий выберите store-telemetry.
- В поле Тип содержимого выберите application/json.
- В поле Интервал укажите значение 3, а в поле Частота — секунды.
- Щелкните Сохранить, чтобы сохранить приложение логики.
Чтобы добавить логику в структуру приложения логики, выберите Представление кода:
Замените
"actions": {},
приведенным ниже кодом JSON. Затем замените два заполнителя[YOUR RUUVITAG DEVICE ID 1]
и[YOUR RUUVITAG DEVICE ID 2]
идентификаторами двух устройств RuuviTag. Вы записали эти идентификаторы ранее:"actions": { "Initialize_Device_ID_variable": { "inputs": { "variables": [ { "name": "DeviceID", "type": "String" } ] }, "runAfter": {}, "type": "InitializeVariable" }, "Parse_Telemetry": { "inputs": { "content": "@triggerBody()?['ContentData']", "schema": { "properties": { "deviceId": { "type": "string" }, "enqueuedTime": { "type": "string" }, "telemetry": { "properties": { "DwellTime1": { "type": "number" }, "DwellTime2": { "type": "number" }, "count1": { "type": "integer" }, "count2": { "type": "integer" }, "humidity": { "type": "number" }, "temperature": { "type": "number" } }, "type": "object" }, "templateId": { "type": "string" } }, "type": "object" } }, "runAfter": { "Initialize_Device_ID_variable": [ "Succeeded" ] }, "type": "ParseJson" }, "Set_Device_ID_variable": { "inputs": { "name": "DeviceID", "value": "@body('Parse_Telemetry')?['deviceId']" }, "runAfter": { "Parse_Telemetry": [ "Succeeded" ] }, "type": "SetVariable" }, "Switch_by_DeviceID": { "cases": { "Occupancy": { "actions": {}, "case": "Occupancy" }, "Zone 2 environment": { "actions": {}, "case": "[YOUR RUUVITAG DEVICE ID 2]" }, "Zone_1_environment": { "actions": {}, "case": "[YOUR RUUVITAG DEVICE ID 1]" } }, "default": { "actions": {} }, "expression": "@variables('DeviceID')", "runAfter": { "Set_Device_ID_variable": [ "Succeeded" ] }, "type": "Switch" } },
Выберите Сохранить, а затем выберите Конструктор, чтобы просмотреть визуальную версию добавленной логики:
Выберите Switch by DeviceID (Переключить по идентификатору устройства), чтобы развернуть действие. Затем выберите Zone 1 environment (Среда зоны 1) и Добавить действие.
В соединителях поиска и действиях введите строки в набор данных.
Выберите строку Power BI Add rows to a dataset action.
Выберите Войти и следуйте инструкциям на экране, чтобы войти в учетную запись Power BI.
После завершения входа в действии Добавить строки в набор данных сделайте следующее.
- Выберите Аналитика магазина — оформление заказа в качестве рабочей области.
- Выберите Датчик зоны 1 в качестве набора данных.
- Выберите RealTimeData в качестве таблицы.
- Выберите Добавить новый параметр, а затем выберите поля Метка времени, Влажность и Температура.
- Выберите поле метки времени и выберите enqueuedTime из списка динамического содержимого.
- Выберите поле Влажность, а затем выберите Подробнее рядом с элементом Parse Telemetry (Анализ телеметрии). Затем выберите влажность.
- Выберите поле Температура, а затем выберите Подробнее рядом с элементом Parse Telemetry (Анализ телеметрии). Затем выберите температуру.
Выберите Сохранить, чтобы сохранить изменения. Действие Zone 1 environment (Среда зоны 1) выглядит, как на следующем снимке экрана.
Выберите действие Zone 2 environment (Среда зоны 2) и Добавить действие.
В соединителях поиска и действиях введите строки в набор данных.
Выберите строку Power BI Add rows to a dataset action.
В действии Добавить строки в набор данных 2 сделайте следующее.
- Выберите Аналитика магазина — оформление заказа в качестве рабочей области.
- Выберите Датчик зоны 2 в качестве набора данных.
- Выберите RealTimeData в качестве таблицы.
- Выберите Добавить новый параметр, а затем выберите поля Метка времени, Влажность и Температура.
- Выберите поле метки времени и выберите enqueuedTime из списка динамического содержимого.
- Выберите поле Влажность, а затем выберите Подробнее рядом с элементом Parse Telemetry (Анализ телеметрии). Затем выберите влажность.
- Выберите поле Температура, а затем выберите Подробнее рядом с элементом Parse Telemetry (Анализ телеметрии). Затем выберите температуру.
Выберите Сохранить, чтобы сохранить изменения.
Выберите действие "Заполнение" и нажмите кнопку "Добавить действие".
В соединителях поиска и действиях введите строки в набор данных.
Выберите строку Power BI Add rows to a dataset action.
В действии "Добавить строки в набор данных 3 ":
- Выберите Аналитика магазина — оформление заказа в качестве рабочей области.
- Выберите датчик заполнения в качестве набора данных.
- Выберите RealTimeData в качестве таблицы.
- Выберите "Добавить новый параметр", а затем выберите метку времени, длину очереди 1, длину очереди 2, время ожидания 1 и время ожидания 2.
- Выберите поле метки времени и выберите enqueuedTime из списка динамического содержимого.
- Выберите поле Queue Length 1 (Длина очереди 1), а затем выберите Подробнее рядом с элементом Parse Telemetry (Анализ телеметрии). Выберите count1.
- Выберите поле Queue Length 2 (Длина очереди 2), а затем выберите Подробнее рядом с элементом Parse Telemetry (Анализ телеметрии). Выберите count2.
- Выберите поле Dwell Time 1 (Время ожидания 1), а затем выберите Подробнее рядом с элементом Parse Telemetry (Анализ телеметрии). Затем выберите DwellTime1.
- Выберите поле Dwell Time 2 (Время ожидания 2), а затем выберите Подробнее рядом с элементом Parse Telemetry (Анализ телеметрии). Затем выберите DwellTime2.
Выберите Сохранить, чтобы сохранить изменения. Действие "Заполнение" выглядит следующим образом:
Приложение логики запускается автоматически. Чтобы просмотреть состояние каждого запуска, перейдите на страницу обзора для приложения логики в портал Azure и выберите журнал запусков. Выберите "Обновить" , чтобы обновить список запусков.
Создание панели мониторинга Power BI
Теперь данные телеметрии передаются из приложения IoT Central через концентратор событий. Затем приложение логики анализирует сообщения концентратора событий и добавляет их в набор данных для потоковой передачи Power BI. Теперь можно создать панель мониторинга Power BI для визуализации этих данных телеметрии.
- Выполните вход в учетную запись Power BI.
- Выберите аналитику рабочих областей > в магазине — проверка out.
- Выберите +Создать > панель мониторинга.
- Введите Аналитика магазинов в качестве имени панели мониторинга и выберите Создать.
Добавление графиков
Добавьте четыре плитки графика, чтобы отобразить показания температуры и влажности с двух датчиков состояния окружающей среды. При создании этих плиток используйте информацию из следующей таблицы. Чтобы добавить каждую плитку, начните с нажатия кнопки "Изменить > добавление плитки". Выберите Пользовательские данные потоковой передачи и нажмите кнопку Далее.
Параметр | Диаграмма 1 | Диаграмма 2 | Диаграмма 3 | Диаграмма 4 |
---|---|---|---|---|
Набор данных | Датчик зоны 1 | Датчик зоны 1 | Датчик зоны 2 | Датчик зоны 2 |
Тип визуализации | График | График | График | График |
Axis | Метка времени | Метка времени | Метка времени | Метка времени |
Values | Температура | Влажность | Температура | Влажность |
Time window (Временное окно) | 60 минут | 60 минут | 60 минут | 60 минут |
Заголовок | Температура (1 час) | Влажность (1 час) | Температура (1 час) | Влажность (1 час) |
Подзаголовок | Зона 1 | Зона 1 | Зона 2 | Зона 2 |
На следующем снимке экрана показаны параметры для первой диаграммы.
Добавление карточек для отображения данных об окружающей среде
Добавьте четыре плитки карточки, чтобы отобразить актуальные показания температуры и влажности с двух датчиков состояния окружающей среды. При создании этих плиток используйте информацию из следующей таблицы. Чтобы добавить каждую плитку, начните с нажатия кнопки "Изменить > добавление плитки". Выберите Пользовательские данные потоковой передачи и нажмите кнопку Далее.
Параметр | Карточка 1 | Карточка 2 | Карточка 3 | Карточка 4 |
---|---|---|---|---|
Набор данных | Датчик зоны 1 | Датчик зоны 1 | Датчик зоны 2 | Датчик зоны 2 |
Тип визуализации | Карточка | Карточка | Карточка | Карточка |
Поля | Температура | Влажность | Температура | Влажность |
Заголовок | Температура (F) | Влажность (%) | Температура (F) | Влажность (%) |
Подзаголовок | Зона 1 | Зона 1 | Зона 2 | Зона 2 |
На следующем снимке экрана показаны параметры для первой карточки.
Добавление плиток для отображения данных о присутствии на кассе
Добавьте четыре плитки карточки, чтобы отобразить длину очереди и время ожидания для двух касс в магазине. При создании этих плиток используйте информацию из следующей таблицы. Чтобы добавить каждую плитку, начните с нажатия кнопки "Изменить > добавление плитки". Выберите Пользовательские данные потоковой передачи и нажмите кнопку Далее.
Параметр | Карточка 1 | Карточка 2 | Карточка 3 | Карточка 4 |
---|---|---|---|---|
Набор данных | Датчик присутствия | Датчик присутствия | Датчик присутствия | Датчик присутствия |
Тип визуализации | Гистограмма с группировкой | Гистограмма с группировкой | Показатели | Показатели |
Axis | Метка времени | Метка времени | Неприменимо | Неприменимо |
Значение | Продолжительность пребывания 1 | Продолжительность пребывания 2 | Длина очереди 1 | Длина очереди 2 |
Time window (Временное окно) | 60 минут | 60 минут | Неприменимо | Неприменимо |
Заголовок | Время ожидания | Время ожидания | Длина очереди | Длина очереди |
Подзаголовок | Касса 1 | Касса 2 | Касса 1 | Касса 2 |
Измените размеры и расположение плиток на панели мониторинга, как на следующем снимке экрана.
Вы можете добавить некоторые графические ресурсы для дальнейшей настройки панели мониторинга:
Очистка ресурсов
Если вы закончили работу с приложением IoT Central, его можно удалить, войдите в приложение и перейдите на страницу "Управление " в разделе "Приложение ".
Если вы хотите сохранить приложение, но при этом сократить соответствующие затраты, отключите экспорт данных, используемый для отправки данных телеметрии в концентратор событий.
Вы можете удалить концентратор событий и приложение логики на портале Azure, удалив группу ресурсов retail-store-analysis.
Вы можете удалить панель мониторинга и наборы данных Power BI, удалив рабочую область на странице параметров Power BI для этой рабочей области.