Поделиться через


Руководство: Создание эмулированных данных устройства

Область применения:yes icon IoT Edge 1.1

Это важно

Дата окончания поддержки IoT Edge 1.1 была 13 декабря 2022 г. Проверьте жизненный цикл продукта Майкрософт , чтобы узнать, как поддерживается этот продукт, служба, технология или API. Дополнительные сведения об обновлении до последней версии IoT Edge см. в разделе "Обновление IoT Edge".

В этой статье мы используем данные обучения машинного обучения для имитации устройства, отправляющее данные телеметрии в Центр Интернета вещей Azure. Как указано в руководстве, в этом руководстве используются данные моделирования снижения двигателя Turbofan для имитации данных из набора двигателей самолетов для обучения и тестирования.

В нашем экспериментальном сценарии мы знаем, что:

  • Данные состоят из нескольких многовариантных временных рядов.
  • Каждый набор данных делится на подмножества обучения и тестирования.
  • Каждый временной ряд принадлежит разному двигателю.
  • Каждый двигатель имеет разной степени первоначальный износ и производственные различия.

В этом руководстве мы используем подмножество обучающих данных одного набора данных (FD003).

В действительности каждый механизм будет независимым устройством Интернета вещей. Если у вас нет коллекции турбовентиляторных двигателей, подключенных к Интернету, мы создадим программный аналог этих устройств.

Симулятор — это программа C#, которая использует API Центра Интернета вещей для программной регистрации виртуальных устройств в Центре Интернета вещей. Затем мы считываем данные для каждого устройства из подмножества данных, предоставленного НАСА, и отправим их в центр Интернета вещей с помощью имитированного устройства Интернета вещей. Весь код для этой части руководства можно найти в каталоге DeviceHarness репозитория.

Проект DeviceHarness — это проект .NET Core, написанный на C#, состоящий из четырех классов:

  • Программа: Точка входа для выполнения, которая отвечает за обработку пользовательского ввода и общую координацию.
  • TrainingFileManager: Отвечает за чтение и анализ выбранного файла данных.
  • CycleData: Представляет одну строку данных в файле, преобразованном в формат сообщения.
  • TurbofanDevice: Отвечает за создание IoT-устройства, соответствующего одному устройству (временной метке), в данных и передачу данных в IoT Hub.

Задачи, описанные в этой статье, должны занять около 20 минут.

Реальным аналогом работы на этом этапе, скорее всего, будет выполнение разработчиками устройств и разработчиками облачных решений.

В этом разделе руководства вы узнаете, как:

  • Включите внешний проект в среду разработки.
  • Используйте пример проекта DeviceHarness для создания имитированных данных устройства Интернета вещей.
  • Просмотр созданных данных в Центре Интернета вещей.

Предпосылки

Эта статья является частью серии руководств по использованию Машинного обучения Azure в IoT Edge. Каждая статья в серии основана на работе, приведенной в предыдущей статье. Если вы перешли сразу к этой статье, посетите первую статью в серии.

Настройка Visual Studio Code и сборка проекта DeviceHarness

  1. Откройте сеанс удаленного рабочего стола на виртуальной машине разработки.

  2. В Visual Studio code откройте папку C:\source\IoTEdgeAndMlSample\DeviceHarness .

  3. Так как вы используете расширения на этом компьютере в первый раз, некоторые расширения будут обновляться и устанавливать их зависимости. Возможно, вам будет предложено обновить расширение. В этом случае выберите "Перезагрузить окно".

    Если ошибки OmniSharp отображаются в окне вывода, необходимо удалить расширение C#.

  4. Вам будет предложено добавить необходимые ресурсы для DeviceHarness. Нажмите кнопку "Да" , чтобы добавить их.

    • Уведомление может занять несколько секунд.
    • Если вы пропустили это уведомление, проверьте значок колокола в правом нижнем углу.

    Всплывающее окно расширения VS Code

  5. Выберите "Восстановить", чтобы восстановить зависимости пакета.

    Запрос на восстановление VS Code

    Если вы не получаете эти уведомления, закройте Visual Studio Code, удалите папки bin и obj C:\source\IoTEdgeAndMlSample\DeviceHarness, откройте Visual Studio Code и снова откройте папку DeviceHarness.

  6. Убедитесь, что среда настроена правильно, запустив сборку с помощью комбинации клавиш Ctrl + Shift + B или в Терминале> выбрав Запустить задачу сборки.

  7. Вам будет предложено выбрать задачу сборки для выполнения. Выберите Сборка.

  8. Сборка выполняется и выводит сообщение об успешном выполнении.

    Сообщение о завершении сборки

  9. Вы можете сделать эту сборку задачей сборки по умолчанию, выбрав Терминал>Настроить задачу сборки по умолчанию... и выбрав Сборка в подсказке.

Подключение к Центру Интернета вещей и запуск DeviceHarness

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

Вход в Azure через Visual Studio Code

  1. Войдите в подписку Azure в Visual Studio Code, Ctrl + Shift + P открыв палитру команд или просмотрите>палитру команд.

  2. Найдите команду Azure: Войти.

    Откроется окно браузера и появится запрос на ввод учетных данных. При перенаправлении на страницу успешного выполнения вы можете закрыть браузер.

Подключитесь к вашему IoT-хабу и получите строку подключения к хабу

  1. В нижней части обозревателя Visual Studio Code выберите панель Интернета вещей Azure для ее расширения.

  2. В развернутом кадре щелкните "Выбрать Центр Интернета вещей".

  3. При появлении запроса выберите подписку Azure и центр Интернета вещей.

  4. Щелкните ... справа от Центра Интернета вещей Azure для получения дополнительных действий. Выберите "Копировать строку подключения Центра Интернета вещей".

    Копирование строки подключения Центра Интернета вещей

Запуск проекта DeviceHarness

  1. Выберите "Вид терминала",> чтобы открыть терминал Visual Studio Code.

    Если запрос не отображается, нажмите клавишу ВВОД.

  2. Введите dotnet run в терминале.

  3. Когда вас попросят ввести строку подключения для IoT Hub, вставьте строку подключения, скопированную в предыдущем разделе.

  4. В окне устройств Центра Интернета вещей Azure нажмите кнопку обновления.

    Обновление списка устройств Центра Интернета вещей

  5. Обратите внимание, что устройства добавляются в Центр Интернета вещей и что устройства отображаются зеленым цветом, чтобы указать, что данные отправляются через это устройство. После отправки сообщений в Центр Интернета вещей устройства отключаются и отображаются синим цветом.

  6. Вы можете просматривать сообщения, отправленные в концентратор, щелкнув правой кнопкой мыши любое устройство и выбрав "Начать мониторинг встроенной конечной точки события". Сообщения будут отображаться в области вывода в Visual Studio Code.

  7. Остановите мониторинг, щелкнув внутри области выходных данных Центра Интернета вещей Azure и выбрав Остановить мониторинг встроенной конечной точки события.

  8. Позвольте приложению завершить выполнение, это займет несколько минут.

Проверка действия Центра Интернета вещей

Данные, отправленные DeviceHarness, пошли в центр Интернета вещей, где можно проверить на портале Azure.

  1. Откройте портал Azure и перейдите к центру Интернета вещей, созданному для этого руководства.

  2. В меню слева в разделе "Мониторинг" выберите "Метрики".

  3. На странице определения диаграммы щелкните выпадающий список метрик, прокрутите его вниз и выберите Маршрутизация: данные, доставленные в хранилище. На диаграмме должен отображаться скачок, когда данные были перенаправлены в хранилище.

    Диаграмма показывает пик, когда данные переданы в хранилище

Проверка данных в службе хранилища Azure

Только что отправленные в Центр Интернета вещей данные были перенаправлены в контейнер хранилища, созданный в предыдущей статье. Давайте рассмотрим данные в нашем хранилище данных.

  1. Войдите в свою учетную запись хранения на портале Azure.

  2. В навигаторе учетной записи хранения выберите Storage Explorer (предварительная версия).

  3. В обозревателе хранилища выберите контейнеры объектов, затем devicedata.

  4. В области содержимого щелкните папку с именем IoT-хаба, затем выберите год, месяц, день и час. Вы увидите несколько папок, представляющих минуты записи данных.

    Просмотр папок в хранилище BLOB

  5. Щелкните одну из этих папок, чтобы найти файлы данных с меткой 00 и 01 , соответствующие секции.

  6. Файлы записываются в формате Avro . Дважды щелкните один из этих файлов, чтобы открыть другую вкладку браузера и частично отобразить данные. Если вам будет предложено открыть файл в программе, вы можете выбрать VS Code и правильно отобразить его.

  7. Сейчас не нужно пытаться считывать или интерпретировать данные; Мы сделаем это в следующей статье.

Очистите ресурсы

Это руководство является частью набора, в котором каждая статья основывается на работе, выполняемой в предыдущих. Подождите с очисткой ресурсов, пока не завершите последний урок.

Дальнейшие шаги

В этой статье мы использовали проект .NET Core для создания набора виртуальных устройств Интернета вещей и отправки данных через центр Интернета вещей и в контейнер службы хранилища Azure. Этот проект имитирует реальный сценарий, в котором физические устройства Интернета вещей отправляют данные в Центр Интернета вещей и передаются в курированное хранилище. Эти данные включают в себя чтение датчиков, операционные параметры, сигналы сбоя и режимы и т. д. После сбора достаточного количества данных мы используем его для обучения моделей, которые прогнозируют оставшуюся полезную жизнь (RUL) для устройства. Мы продемонстрируем это машинное обучение в следующей статье.

Перейдите к следующей статье, чтобы обучить модель машинного обучения с данными.