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


Краткое руководство. Отправка данных телеметрии с устройства в Центр Интернета вещей и мониторинг ее с помощью Azure CLI

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

Prerequisites

  • Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
  • Azure CLI. Все команды можно выполнить в этом кратком руководстве с помощью Azure Cloud Shell, интерактивной оболочки CLI, которая выполняется в браузере или в приложении, например в терминале Windows. Если вы используете Cloud Shell, вам не нужно ничего устанавливать. Если вы предпочитаете использовать интерфейс командной строки локально, для этого краткого руководства требуется Azure CLI версии 2.36 или более поздней. Чтобы узнать версию, выполните команду az --version. Чтобы выполнить установку или обновление, см. сведения в статье Установка Azure CLI.

Войдите на портал Azure

Войдите на портал Azure.

Независимо от того, выполняется ли интерфейс командной строки локально или в Cloud Shell, откройте портал в браузере. Его можно использовать позже в этом кратком руководстве.

Запуск Cloud Shell

В этом разделе описано, как запустить экземпляр Azure Cloud Shell. Если вы используете интерфейс командной строки локально, перейдите к разделу "Подготовка двух сеансов CLI".

Чтобы запустить Cloud Shell, выполните следующие действия.

  1. Нажмите кнопку Cloud Shell в верхней правой строке меню на портале Azure.

    Кнопка Cloud Shell портала Azure

    Note

    Если вы используете Cloud Shell впервые, вам будет предложено создать хранилище, которое необходимо для использования Cloud Shell. Выберите подписку, чтобы создать учетную запись хранения и общую папку файлов Microsoft Azure.

  2. Выберите предпочитаемую среду CLI в раскрывающемся списке "Выбор среды ". В этом кратком руководстве используется среда Bash. Вы также можете использовать среду PowerShell .

    Note

    Для некоторых команд требуется другой синтаксис или форматирование в средах Bash и PowerShell . Дополнительные сведения см. в советах по использованию Azure CLI.

    Выбор среды CLI

Подготовка двух сеансов CLI

Затем подготовьте два сеанса Azure CLI. Если вы используете Cloud Shell, выполните эти сеансы на отдельных вкладках Cloud Shell. При использовании локального клиента CLI следует запускать отдельные экземпляры CLI. Используйте отдельные сеансы CLI для следующих задач:

  • Первый сеанс имитирует устройство Интернета вещей, которое взаимодействует с центром Интернета вещей.
  • Второй сеанс либо отслеживает устройство в первом сеансе, либо отправляет сообщения, команды и обновления свойств.

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

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

  • В первом сеансе CLI выполните команду az extension add . Эта команда добавляет расширение Microsoft Azure IoT для Azure CLI в оболочку CLI. Расширение IoT добавляет в Azure CLI команды, специфичные для IoT Hub, IoT Edge и службы подготовки устройств IoT (DPS).

    az extension add --name azure-iot
    

    После установки расширения Azure IOT его не нужно устанавливать повторно в сеансе Cloud Shell.

    Note

    В этой статье используется последняя версия расширения Azure IoT под названием azure-iot. Устаревшая версия называется azure-cli-iot-ext. Одновременно должна быть установлена только одна версия. Проверить установленные расширения можно с помощью команды az extension list.

    Используйте az extension remove --name azure-cli-iot-ext, чтобы удалить устаревшую версию расширения.

    Используйте az extension add --name azure-iot, чтобы добавить новую версию расширения.

    Чтобы узнать, какие расширения установлены в данный момент, используйте az extension list.

  • Откройте второй сеанс CLI. Если вы используете Cloud Shell в браузере, нажмите кнопку "Открыть новый сеанс ". При локальном использовании интерфейса командной строки откройте второй экземпляр ИНТЕРФЕЙСА командной строки.

    Открытие нового сеанса Cloud Shell

Создание Центра Интернета вещей

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

  1. В первом сеансе CLI выполните команду az group create , чтобы создать группу ресурсов. В следующей команде создается группа ресурсов с именем MyResourceGroup в расположении eastus.

    az group create --name MyResourceGroup --location eastus
    
  2. В первом сеансе CLI запустите команду Az PowerShell module iot hub create для создания IoT hub. Создание центра Интернета вещей занимает несколько минут.

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

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

Создание и мониторинг устройства

В этом разделе описано, как создать имитированное устройство в первом сеансе CLI. Имитированное устройство отправляет данные телеметрии устройства в Центр Интернета вещей. Во втором сеансе CLI вы отслеживаете события и данные телеметрии.

Чтобы создать и запустить имитированное устройство, выполните приведенные ниже действия.

  1. В первом сеансе CLI выполните команду az iot hub device-identity create. Эта команда создает симулированное удостоверение устройства.

    YourIotHubName. Замените этот заполнитель в следующем коде именем, выбранным для центра Интернета вещей.

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

    az iot hub device-identity create -d simDevice -n {YourIoTHubName} 
    
  2. В первом сеансе CLI выполните команду az iot device simulate . Эта команда запускает имитированное устройство. Устройство отправляет данные телеметрии в центр Интернета вещей и получает от него сообщения.

    YourIotHubName. Замените этот заполнитель в следующем коде именем, выбранным для центра Интернета вещей.

    az iot device simulate -d simDevice -n {YourIoTHubName}
    

Чтобы отслеживать устройство, выполните действия.

  1. Во втором сеансе CLI выполните команду az iot hub monitor-events . Эта команда постоянно отслеживает имитированное устройство. В выходных данных отображаются данные телеметрии, такие как события и состояние свойств, которые имитированное устройство отправляет в Центр Интернета вещей.

    YourIotHubName. Замените этот заполнитель в следующем коде именем, выбранным для центра Интернета вещей.

    az iot hub monitor-events --output table -p all -n {YourIoTHubName}
    

    Снимок экрана: мониторинг событий на имитированном устройстве.

  2. После мониторинга имитированного устройства во втором сеансе CLI нажмите клавиши CTRL+C, чтобы остановить мониторинг. Сохраните второй сеанс CLI открытым для использования в последующих шагах.

Отправка сообщения с помощью интерфейса командной строки

В этом разделе вы отправляете сообщение на имитированное устройство.

  1. В первом сеансе CLI убедитесь, что имитированное устройство по-прежнему запущено. Если устройство остановлено, выполните следующую команду, чтобы перезапустить ее:

    YourIotHubName. Замените этот заполнитель в следующем коде именем, выбранным для центра Интернета вещей.

    az iot device simulate -d simDevice -n {YourIoTHubName}
    
  2. Во втором сеансе CLI выполните команду az iot device c2d-message send. Эта команда отправляет облачное сообщение на устройство из вашего центра Интернета вещей в имитированное устройство. Сообщение содержит строку и две пары "ключ-значение".

    YourIotHubName. Замените этот заполнитель в следующем коде именем, выбранным для центра Интернета вещей.

    az iot device c2d-message send -d simDevice --data "Hello World" --props "key0=value0;key1=value1" -n {YourIoTHubName}
    

    При необходимости можно отправлять сообщения из облака на устройство с помощью портала Azure. Чтобы отправить сообщения через портал Azure, перейдите на страницу обзора центра Интернета вещей, выберите устройства Интернета вещей, выберите имитированное устройство и выберите "Сообщение на устройство".

  3. В первом сеансе CLI убедитесь, что имитированное устройство получило сообщение.

    Снимок экрана: имитированное устройство, получающее сообщение.

Вызов метода устройства с помощью ИНТЕРФЕЙСА командной строки

В этом разделе вы вызываете прямой метод на имитированном устройстве.

  1. Как и ранее, убедитесь, что имитированное устройство в первом сеансе CLI запущено. В противном случае перезапустите его.

  2. Во втором сеансе CLI выполните команду az iot hub invoke-device-method . В этом примере для устройства нет существующего метода. Команда вызывает пример имени метода на имитированном устройстве и возвращает полезные данные.

    YourIotHubName. Замените этот заполнитель в следующем коде именем, выбранным для центра Интернета вещей.

    az iot hub invoke-device-method --mn MySampleMethod -d simDevice -n {YourIoTHubName}
    
  3. В первом сеансе CLI убедитесь, что выходные данные показывают вызов метода.

    Снимок экрана: имитированное устройство, отображающее выходные данные после вызова метода.

Обновление свойств устройства с помощью интерфейса командной строки

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

  1. Как и ранее, убедитесь, что имитированное устройство в первом сеансе CLI запущено. В противном случае перезапустите его.

  2. Во втором сеансе CLI выполните команду az iot hub device-twin update . Эта команда обновляет свойства до требуемого состояния двойника устройства на Центре Интернета вещей, соответствующего имитированному устройству. В этом случае команда задает примеры свойств условия температуры.

    Important

    Если вы используете PowerShell в оболочке CLI, используйте версию команды PowerShell в следующем коде. PowerShell требует экранировать символы в данных JSON.

    YourIotHubName. Замените этот заполнитель в следующем коде именем, выбранным для центра Интернета вещей.

    az iot hub device-twin update -d simDevice --desired '{"conditions":{"temperature":{"warning":98, "critical":107}}}' -n {YourIoTHubName}
    
    az iot hub device-twin update -d simDevice --desired '{\"conditions\":{\"temperature\":{\"warning\":98, \"critical\":107}}}' -n {YourIoTHubName}
    
  3. В первой сессии CLI убедитесь, что симулируемое устройство выводит обновление свойства.

    Снимок экрана, показывающий, как обновить свойства устройства.

  4. Во втором сеансе CLI выполните команду az iot hub device-twin show . Эта команда сообщает об изменениях свойств устройства.

    YourIotHubName. Замените этот заполнитель в следующем коде именем, выбранным для центра Интернета вещей.

    az iot hub device-twin show -d simDevice --query properties.reported -n {YourIoTHubName}
    

    Снимок экрана: обновленные свойства двойника устройства.

Просмотр метрик обмена сообщениями на портале

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

Чтобы визуализировать метрики обмена сообщениями на портале Azure, выполните следующие действия.

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

  2. Выберите ссылку в созданном центре Интернета вещей. На портале отображается обзорная страница для хаба.

  3. Выберите Метрики в левой области вашего IoT Hub.

    Метрики обмена сообщениями Центра Интернета вещей

  4. В поле "Область" введите имя центра Интернета вещей.

  5. В поле пространство имен метрик выберите стандартные метрики IoT Hub.

  6. В поле "Метрика " выберите общее количество использованных сообщений.

  7. Наведите указатель мыши на область временной шкалы, в которой устройство отправило сообщения. Общее количество сообщений в момент времени отображается в левом нижнем углу временной шкалы.

    Просмотр метрик Центра Интернета вещей Azure

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

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

Если вам больше не нужны ресурсы Azure, созданные в этом кратком руководстве, можно использовать Azure CLI для их удаления.

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

Important

Удаление группы ресурсов — процесс необратимый. Группа ресурсов и все содержащиеся в ней ресурсы будут навсегда удалены. Будьте внимательны, чтобы случайно не удалить не ту группу ресурсов или не те ресурсы.

Чтобы удалить группу ресурсов по имени:

  1. Выполните команду az group delete . Эта команда удаляет группу ресурсов, центр Интернета вещей и созданную регистрацию устройства.

    az group delete --name MyResourceGroup
    
  2. Выполните команду az group list , чтобы подтвердить удаление группы ресурсов.

    az group list
    

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

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

Если вы разработчик устройства, рекомендуемый следующий шаг — просмотреть краткое руководство по телеметрии, использующее пакет SDK для устройств Интернета вещей Azure для C. При необходимости ознакомьтесь с одним из доступных кратких руководств по телеметрии Центра Интернета вещей Azure на предпочитаемом языке или пакете SDK.

Чтобы узнать, как управлять симулируемым устройством из серверного приложения, перейдите к следующему краткому руководству.