Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:
IoT Edge 1.5
Внимание
IoT Edge 1.5 LTS — это поддерживаемый выпуск. IoT Edge 1.4 LTS достиг срока окончания службы 12 ноября 2024 года. Если вы используете более ранний выпуск, ознакомьтесь с Update IoT Edge.
В этом руководстве вы создадите задание Azure Stream Analytics на портале Azure и развернете его как модуль IoT Edge без дополнительного кода.
В этом руководстве вы узнаете, как:
- Создайте задание Azure Stream Analytics для обработки данных на периферии.
- Подключите новое задание Azure Stream Analytics с другими модулями IoT Edge.
- Разверните задание Azure Stream Analytics на устройство IoT Edge через портал Azure.
В этом руководстве модуль Stream Analytics вычисляет среднюю температуру в течение скользящего 30-секундного окна. Когда среднее значение достигает 70, модуль отправляет оповещение о том, что устройство будет принимать меры. В данном случае действие заключается в сбросе симулированного датчика температуры. В рабочей среде вы можете использовать эту функцию для отключения компьютера или принятия профилактических мер, когда температура достигает опасных уровней.
Зачем использовать Azure Stream Analytics в IoT Edge?
Многие решения Интернета вещей используют службы аналитики, чтобы получать аналитические сведения о данных по мере того, как они попадают в облако с устройств Интернета вещей. Используя Azure IoT Edge, вы перемещаете логику Azure Stream Analytics на само устройство. Обработка потоков телеметрии на краю уменьшает объем отправленных данных и время, необходимое для реагирования на полезные аналитические сведения. Azure IoT Edge и Azure Stream Analytics интегрируются, чтобы упростить разработку рабочих процессов.
Azure Stream Analytics использует структурированный синтаксис запросов для анализа данных в облаке и на устройствах IoT Edge. Дополнительные сведения см. в документации Azure Stream Analytics.
Предварительные условия
Если у вас нет учетной записи Azure, создайте учетную запись free перед началом работы.
Устройство Azure IoT Edge.
Выполните действия, описанные в кратком руководстве по Linux или Windows, чтобы использовать виртуальную машину Azure в качестве устройства IoT Edge.
Бесплатный или стандартный уровень IoT Hub в Azure.
Создание задания Azure Stream Analytics
В этом разделе описано, как создать задание Azure Stream Analytics, которое:
- Получает данные с устройства IoT Edge.
- Запрашивает данные телеметрии для значений за пределами заданного диапазона.
- Выполняет действия на устройстве IoT Edge на основе результатов запроса.
Создание учетной записи хранилища
Когда вы создаете задание Azure Stream Analytics для запуска на устройстве IoT Edge, необходимо сохранить это, чтобы устройство могло получить к нему доступ. Вы можете использовать существующую учетную запись Azure Storage или создать новую.
На портале Azure перейдите к Создать ресурс > Хранилище > учетная запись хранилища.
Чтобы создать учетную запись хранения, введите следующие значения:
Поле значение Подписка Выберите ту же подписку, что и ваш IoT-хаб. Группа ресурсов Используйте одну и ту же группу ресурсов для всех тестовых ресурсов для кратких руководств и учебных пособий по IoT Edge. Например, IoTEdgeResources. Имя. Введите уникальное имя учетной записи хранения. Расположение Выберите расположение рядом с вами. Сохраните значения по умолчанию для других полей и нажмите кнопку "Проверить и создать".
Просмотрите параметры и нажмите кнопку "Создать".
Создайте новую работу
На портале Azure выберите:
- Создайте ресурс
- Интернет вещей из меню слева
- Введите Stream Analytics в строке поиска, чтобы найти его в Azure Marketplace
- Выберите Создать, затем задание Stream Analytics из меню.
Укажите следующие значения, чтобы создать новое задание Stream Analytics:
Поле значение Имя. Укажите имя задания. Например, IoTEdgeJob. Подписка Выберите ту же подписку, что и ваш IoT-хаб. Группа ресурсов Используйте одну и ту же группу ресурсов для всех тестовых ресурсов, создаваемых в процессе кратких руководств и учебников IoT Edge. Например, ресурс с именем IoTEdgeResources. Область/регион Выберите расположение рядом с вами. Среда размещения Выберите Edge. Этот параметр позволяет развернуть устройство IoT Edge вместо облака. Выберите Review + create.
Подтвердите параметры, а затем нажмите кнопку "Создать".
Настройте задание
После создания задания Stream Analytics на портале Azure настройте его с помощью input, output и query для выполнения данных, проходящих через него.
В этом разделе показано, как создать задание, которое получает данные температуры от устройства IoT Edge. Он анализирует данные в скользящей 30-секундной окне. Если средняя температура в этом временном интервале превышает 70 градусов, задание отправляет оповещение на устройство IoT Edge.
Примечание.
Вы указываете, откуда приходят и куда направляются данные в следующем разделе, Configure IoT Edge settings, при развертывании задания.
Настройка входных и выходных данных
Перейдите к заданию Stream Analytics на портале Azure.
В разделе топологии задания выберите "Входные данные", а затем нажмите кнопку "Добавить входные данные".
Выберите Edge Hub из раскрывающегося списка.
Если вы не видите в списке параметр Edge Hub , возможно, вы создали задание Stream Analytics в качестве размещенного в облаке задания. Попробуйте создать новое задание и убедитесь, что вы выбрали Edge в качестве среды размещения.
В панели новых данных введите температуру в качестве псевдонима входных данных.
Сохраните значения по умолчанию для других полей и нажмите Сохранить.
В разделе топология задания выберите "Выходные данные", а затем нажмите кнопку "Добавить".
Выберите Edge Hub в раскрывающемся списке.
На панели Новые выходные данные введите alert как псевдоним выходных данных.
Сохраните значения по умолчанию для других полей и нажмите Сохранить.
Создание запроса
В разделе Топология задания выберите Запрос.
Замените текст по умолчанию следующим запросом:
SELECT 'reset' AS command INTO alert FROM temperature TIMESTAMP BY timeCreated GROUP BY TumblingWindow(second,30) HAVING Avg(machine.temperature) > 70В этом запросе SQL-код отправляет команду сброса в систему оповещения, если средняя температура машины в 30-секундном окне достигает 70 градусов. Команда сброса предварительно запрограммирована в датчик как действие.
Выберите Сохранить запрос.
Настройка параметров IoT Edge
Чтобы развернуть задание Stream Analytics на устройстве IoT Edge, свяжите задание Azure Stream Analytics с учетной записью хранения. При развертывании задания определение задания экспортируется в учетную запись хранения в виде контейнера.
В службе Stream Analytics в меню "Параметры " выберите параметры учетной записи хранения.
Выберите параметр Выбрать Хранилище BLOB-объектов/ADLS 2-го поколения из ваших подписок.
Учетная запись хранения Azure автоматически отображается на странице. Если вы не видите его, убедитесь, что вы создайте хранилище. Если необходимо выбрать хранилище, отличное от указанного в поле учетной записи хранения , выберите его в раскрывающемся меню.
Нажмите кнопку "Сохранить", если вы внесли какие-либо изменения.
Развертывание задания
Теперь вы готовы развернуть задание Azure Stream Analytics на устройстве IoT Edge.
В этом разделе вы используете мастер Set Modules в портале Azure для создания манифеста развертывания . Манифест развертывания — это JSON-файл, описывающий все модули, которые развертываются на устройстве. В манифесте также показаны реестры контейнеров, которые хранят образы модулей, как следует управлять модулями и как модули могут взаимодействовать друг с другом. Устройство IoT Edge извлекает манифест развертывания из IoT Hub, а затем использует сведения в нем для развертывания и настройки всех назначенных модулей.
В рамках работы с этим руководством вы развернете два модуля. Первый — это модуль SimulatedTemperatureSensor, имитирующий датчик температуры и влажности. Второе — ваше задание Stream Analytics. Модуль датчика предоставляет поток данных, которые анализирует запрос задания.
На портале Azure перейдите к центру Интернета вещей.
Выберите Devices в меню управления Device и выберите устройство IoT Edge, чтобы открыть его.
Щелкните Set modules (Настроить модули).
Если вы уже развертывали модуль SimulatedTemperatureSensor на этом устройстве, его параметры могут заполниться автоматически. Если это не так, добавьте модуль со следующими шагами:
- Выберите + Добавить и выберите модуль IoT Edge.
- В поле имени введите SimulatedTemperatureSensor.
- В поле URI изображения введите mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.5.
- Оставьте другие параметры по умолчанию и нажмите кнопку "Добавить".
Добавьте задание Azure Stream Analytics Edge, выполнив следующие действия.
- Выберите + Добавить и выберите модуль Azure Stream Analytics.
- Выберите вашу подписку и Azure Stream Analytics задачу Edge, которую вы создали.
- Нажмите Сохранить.
Когда вы сохраните изменения, сведения о задании Stream Analytics публикуются в созданном контейнере хранилища.
После завершения развертывания надстройки Stream Analytics убедитесь, что на странице наборов модулей появится два новых модуля.
Выберите Review + create. Появляется манифест развертывания.
Нажмите кнопку "Создать".
На странице "Задать модули" устройства через несколько минут вы увидите модули, перечисленные и запущенные. Обновите страницу, если вы не видите модули или подождите несколько минут, а затем снова обновите ее.
Общие сведения о двух новых модулях
На вкладке Настройка модулей вашего устройства выберите имя модуля Stream Analytics, чтобы открыть страницу Обновить модуль IoT Edge. Здесь можно обновить параметры.
На вкладке Settings есть URI Image URI который указывает на стандартное изображение Azure Stream Analytics. Этот один образ используется для каждого модуля Stream Analytics, который развертывается на устройстве IoT Edge.
На вкладке Module Twin Settings отображается json, определяющее свойство Azure Stream Analytics (ASA) с именем ASAJobInfo. Значение этого свойства указывает на определение задания в вашем контейнере хранилища. Это свойство определяет настройку образа Stream Analytics по конкретным параметрам задания.
По умолчанию модуль Stream Analytics получает то же имя, что и базовое задание для него. Вы можете изменить имя модуля на этой странице, но это не обязательно.
Выберите "Применить", если вы внесли изменения, или "Отмена", если не внесли никаких изменений.
Назначение маршрутов модулям
На странице
Задать модули на устройстве: ваше-имя-устройства , выберите Далее: маршруты .На вкладке Routes вы определяете, как сообщения передаются между модулями и IoT Hub. Сообщения создаются с помощью пар имен и значений.
Добавьте имена и значения маршрутов с парами, показанными в следующей таблице. Заменяйте вхождения
{moduleName}именем модуля Azure Stream Analytics. Этот модуль должен иметь то же имя, которое отображается в списке модулей устройства на странице модулей Set, как показано на портале Azure.Имя. значение телеметрияВОблако FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstreamуведомленияНаОблако FROM /messages/modules/{moduleName}/* INTO $upstreamоповещения для сброса FROM /messages/modules/{moduleName}/* INTO BrokeredEndpoint("/modules/SimulatedTemperatureSensor/inputs/control")telemetryToAsa FROM /messages/modules/SimulatedTemperatureSensor/* INTO BrokeredEndpoint("/modules/{moduleName}/inputs/temperature")Маршруты, объявленные здесь, определяют поток данных через устройство IoT Edge. Данные телеметрии из SimulatedTemperatureSensor отправляются в IoT Hub и на вход temperature, который был настроен в задании Stream Analytics. Выходные сообщения alert отправляются в IoT Hub и в модуль SimulatedTemperatureSensor, чтобы запустить команду сброса.
Нажмите кнопку "Далее": проверка и создание.
На вкладке Просмотр + создание можно увидеть, как предоставленные в мастере данные преобразуются в манифест развертывания JSON.
После завершения проверки манифеста нажмите кнопку "Создать ", чтобы завершить настройку модуля.
Просмотреть данные
Перейдите на устройство IoT Edge, чтобы увидеть взаимодействие между модулем Azure Stream Analytics и модулем SimulatedTemperatureSensor.
Примечание.
Если вы используете виртуальную машину для устройства, используйте Azure Cloud Shell для прямого доступа ко всем Azure прошедшим проверку подлинности службам.
Проверьте выполнение всех модулей в Docker.
iotedge listПросмотрите все системные журналы и данные метрик. Замените {moduleName} именем модуля Azure Stream Analytics:
iotedge logs -f {moduleName}Посмотрите, как команда сброса влияет на СимулированныйДатчикТемпературы, просмотрев журналы датчиков.
iotedge logs SimulatedTemperatureSensorВы увидите, что температура компьютера постепенно повышается в течение 30 секунд, пока не достигнет 70 градусов. Затем модуль Stream Analytics активирует сброс, и температура компьютера уменьшается до 21 градуса.
Очистка ресурсов
Если вы хотите продолжить работу со следующей рекомендуемой статьей, сохраните созданные ресурсы и конфигурации и их повторное использование. Вы также можете использовать то же IoT Edge устройство, что и тестовое устройство.
В противном случае удалите локальные конфигурации и Azure ресурсы, используемые в этой статье, чтобы избежать расходов.
Удаление ресурсов Azure
Отменить удаление Azure ресурсов и групп ресурсов невозможно. Будьте внимательны, чтобы случайно не удалить не ту группу ресурсов или не те ресурсы. Если вы создали IoT Hub внутри существующей группы ресурсов с ресурсами, которые нужно сохранить, удалите только сам IoT Hub ресурс, а не группу ресурсов.
Чтобы удалить ресурсы:
- Войдите на портал Azure, а затем выберите группы Resource.
- Выберите имя группы ресурсов, содержащей IoT Edge тестовые ресурсы.
- Просмотрите список ресурсов, содержащихся в группе ресурсов. Если вы хотите удалить их все, щелкните Удалить группу ресурсов. Если вы хотите удалить только некоторые из них, выберите каждый ресурс, чтобы удалить их по отдельности.
Следующие шаги
В этом руководстве вы настроили задание Azure Stream Analytics для анализа данных с устройства IoT Edge. Модуль Azure Stream Analytics загружается на устройство IoT Edge для обработки и реагирования на увеличение температуры локально и отправляет агрегированный поток данных в облако. Чтобы узнать, как Azure IoT Edge поможет вам создать дополнительные решения, перейдите к следующему руководству.
Разработка модулей Azure IoT Edge с помощью Visual Studio Code.