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

Просмотреть код

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

Необходимые компоненты

Это краткое руководство подходит для Windows, Linux и Raspberry Pi. Оно протестировано в следующих версиях ОС и устройств:

  • Windows 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) версии 10, работающей в Raspberry Pi 3 Модель B+

Установите на компьютере разработки следующие компоненты, за исключением случаев, указанных для Raspberry Pi.

  • Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
  • Git.
  • Обозреватель Интернета вещей Azure: кроссплатформенная программа на базе графического пользовательского интерфейса для мониторинга Интернета вещей Azure и управления им. Если вы используете в качестве платформы разработки Raspberry Pi, рекомендуем установить обозреватель IoT на другом компьютере. Если вы не хотите устанавливать обозреватель IoT, для выполнения тех же действий можно использовать Azure CLI.
  • Azure CLI. В этом кратком руководстве описаны два варианта выполнения команд Azure CLI:
    • Azure Cloud Shell — интерактивная оболочка CLI, которая работает в браузере. Этот вариант предпочтителен, так как не нужно ничего устанавливать. Если вы впервые используете Cloud Shell, войдите на портал Azure. Выполните действия, описанные в статье "Начало работы с Azure Cloud Shell", чтобы запустить Cloud Shell и выбрать среду Bash.
    • Azure CLI также можно запустить на локальном компьютере. Если интерфейс командной строки Azure уже установлен, запустите az upgrade, чтобы обновить интерфейс командной строки и расширения до текущей версии. Чтобы установить Azure CLI, ознакомьтесь с разделом Установка Azure CLI. Если вы используете Raspberry Pi в качестве платформы разработки, рекомендуется использовать Azure Cloud Shell или установить Azure CLI на другом компьютере.

Установите необходимые компоненты для операционной системы.

ОС Linux или Raspberry Pi

Для выполнения действий из этого краткого руководства в ОС Linux или Raspberry Pi, установите следующее программное обеспечение:

Установите GCC, Git, CMake и необходимые зависимости с помощью apt-get команды:

sudo apt-get update
sudo apt-get install -y git cmake build-essential curl libcurl4-openssl-dev libssl-dev uuid-dev

Проверьте версию CMake 3.13 или выше, а версия GCC4.4.7 или выше.

cmake --version
gcc --version

Windows

Чтобы завершить работу с этим кратким руководством в Windows, установите Visual Studio 2022 и добавьте необходимые компоненты для разработки C и C++.

  1. Для новых пользователей установите Visual Studio (Community, Professional или Enterprise) 2022. Скачайте выпуск, который требуется установить, и запустите установщик.

    Примечание.

    Для существующих пользователей Visual Studio 2022 выберите "Пуск Windows", введите Visual Studio Installer, запустите установщик и нажмите кнопку "Изменить".

  2. На вкладке Рабочие нагрузки установщика выберите рабочую нагрузку Разработка классических приложений на C++.
  3. Запустите установку.

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

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

Чтобы создать центр Интернета вещей и группу ресурсов, выполните следующие действия:

  1. Запустите Azure CLI:

    • При использовании Cloud Shell нажмите кнопку Попробовать в командах интерфейса командной строки, чтобы запустить Cloud Shell в разделенном окне браузера. Или можно открыть Cloud Shell в отдельной вкладке браузера.
    • Если вы используете Azure CLI локально, откройте консоль, например Windows CMD, PowerShell или Bash, и войдите в Azure CLI.

    Чтобы выполнить команды CLI в оставшейся части этого краткого руководства, скопируйте синтаксис команды, вставьте его в окно Cloud Shell или консоль CLI, отредактируйте значения переменных, после чего нажмите клавишу ВВОД.

  2. Запустите az extension add, чтобы установить или обновить расширение azure-iot до текущей версии.

    az extension add --upgrade --name azure-iot
    
  3. Выполните команду az group create, чтобы создать группу ресурсов. В следующей команде создается группа ресурсов с именем MyResourceGroup в расположении eastus.

    Примечание.

    При необходимости можно задать альтернативное расположение. Чтобы отобразить доступные расположения, выполните команду az account list-locations. В рамках работы с этим учебником используется eastus, как показано в примере команды.

    az group create --name MyResourceGroup --location eastus
    
  4. Создайте Центр Интернета вещей с помощью команды az iot hub create. Создание Центра Интернета вещей может занять несколько минут.

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

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

    Совет

    После создания Центра Интернета вещей вы будете использовать Azure IoT Explorer для взаимодействия с Центром Интернета вещей в оставшейся части этого краткого руководства. Обозреватель Интернета вещей — это приложение с графическим интерфейсом, которое позволяет подключаться к существующему Центру Интернета вещей и добавлять устройства, управлять ими и отслеживать их. Дополнительные сведения см. в статье Установка и использование обозревателя Интернета вещей Azure. При необходимости вы можете продолжить использовать команды интерфейса командной строки.

Настройка IoT Explorer

В оставшейся части этого краткого руководства вы используете IoT Explorer для регистрации устройства в Центре Интернета вещей, просмотра свойств устройства и телеметрии, а также для отправки команд на устройство. В этом разделе вы настраиваете IoT Explorer для подключения к только что созданному Центру Интернета вещей и для чтения моделей plug and play из общедоступного репозитория моделей.

Примечание.

Также вы можете зарегистрировать устройство с помощью Azure CLI. Используйте команду az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} для регистрации нового устройства и az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} для получения первичной строки подключения для устройства. Записав строку подключения устройства, вы можете сразу перейти к запуску примера устройства.

Для добавления подключения к Центру Интернета вещей:

  1. Выполните команду az iot hub connection-string show, чтобы получить строку подключения для вашего центра Интернета вещей.

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  2. Скопируйте строку подключения без окружающих кавычек.

  3. В Azure IoT Explorer выберите Центры Интернета вещей Azure в меню слева, после чего выберите + Добавить подключение.

  4. Вставьте строку подключения в поле Строка подключения.

  5. Выберите Сохранить.

    Снимок экрана для добавления подключения в IoT Explorer

  6. Если соединение установлено, IoT Explorer переключается на представление Устройства.

Чтобы добавить публичный репозиторий моделей:

  1. В IoT Explorer выберите Дом, чтобы вернуться в главный экран.

  2. В меню слева выберите Настройки IoT Plug and Play, после чего выберите + Добавить и в раскрывающемся меню выберите Публичный репозиторий.

  3. Запись для общедоступного репозитория моделей отображается по адресу https://devicemodels.azure.com.

    Снимок экрана для добавления общедоступного репозитория моделей в IoT Explorer

  4. Выберите Сохранить.

Регистрация устройства

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

Для регистрации устройства:

  1. На главном экране в IoT Explorer выберите Центры Интернета вещей.

  2. Должно отобразиться ранее добавленное подключение. Выберите Просмотреть устройства в этом концентраторе под свойствами подключения.

  3. Выберите + Новый и введите идентификатор вашего устройства; например, mydevice. Остальные свойства оставьте без изменений.

  4. Нажмите кнопку создания.

    Снимок экрана с удостоверением устройства Explorer Интернета вещей Azure

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

Запуск примера устройства

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

Сборка примера

  1. Откройте новую консоль, чтобы установить пакет SDK для устройств Центра Интернета вещей Azure, использующих C, и запустить пример кода. В Windows нажмите кнопку Пуск, введите Командная строка разработчика для VS 2019 и откройте консоль. Для ОС Linux и Raspberry Pi откройте терминал для команд Bash.

    Примечание.

    Если вы используете локальную установку Azure CLI, у вас могут быть открыты два окна консоли. Обязательно введите команды, приведенные в этом разделе, в открытой консоли, а не той, которая использовалась для CLI.

  2. Перейдите в локальную папку, в которую хотите клонировать пример репозитория.

  3. Клонируйте пакет SDK для устройств Центра Интернета вещей Azure, использующих C, на локальный компьютер.

    git clone https://github.com/Azure/azure-iot-sdk-c.git
    
  4. Перейдите в корневую папку пакета SDK и выполните следующую команду, чтобы обновить зависимости.

    cd azure-iot-sdk-c
    git submodule update --init
    

    Эта операция занимает несколько минут.

  5. Выполните следующие команды, чтобы создать пакет SDK и примеры:

    cmake -Bcmake -Duse_prov_client=ON -Dhsm_type_symm_key=ON -Drun_e2e_tests=OFF
    cmake --build cmake
    
  6. Задайте следующие переменные среды, чтобы устройство могло подключаться к Интернету вещей Azure.

    • Задайте переменную среды с именем IOTHUB_DEVICE_CONNECTION_STRING. В качестве значения переменной укажите строку подключения устройства, сохраненную при работе с предыдущим разделом.
    • Задайте переменную среды с именем IOTHUB_DEVICE_SECURITY_TYPE. В качестве значения переменной используйте строку литерала connectionString.

    CMD

    set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
    set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
    

    Примечание.

    В Windows CMD строковые значения для каждой переменной не берутся в кавычки.

    Bash

    export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
    export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
    

Выполнение кода

  1. Выполните пример кода с помощью соответствующей команды в консоли.

    CMD

    cmake\iothub_client\samples\pnp\pnp_temperature_controller\Debug\pnp_temperature_controller.exe
    

    Bash

    cmake/iothub_client/samples/pnp/pnp_temperature_controller/pnp_temperature_controller
    

    Примечание.

    В этом примере кода используется технология Azure IoT Plug and Play, которая позволяет интегрировать интеллектуальные устройства в решения без какой-либо настройки вручную. По умолчанию большинство примеров в этой документации используют IoT Plug and Play. Дополнительные сведения о преимуществах технологии IoT Plug and Play, а также о сценариях ее использования или неприменимости см. в статье Общие сведения об IoT Plug and Play.

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

Просмотр телеметрии

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

Чтобы просмотреть телеметрию в службе Explorer Интернета вещей Azure:

  1. В своем центре Интернета вещей в обозревателе Интернета вещей щелкните Просмотреть устройства в этом концентраторе, а затем выберите в списке свое устройство.

  2. В меню слева для своего устройства выберите Телеметрия.

  3. Подтвердите, что для параметра Использовать встроенный концентратор событий задано значение Да, а затем щелкните Начать.

  4. Просматривайте телеметрию, когда устройство отправляет сообщения в облако.

    Снимок экрана телеметрии устройства в IoT Explorer

  5. Выберите Стоп, чтобы прекратить прием событий.

Для чтения данных телеметрии, отправляемых отдельными компонентами устройств, можно использовать функции Plug and Play в обозревателе Интернета вещей. Например, контроллер температуры, описанный в этом кратком руководстве, связан с двумя термостатами: thermostat1 и thermostat2. Чтобы увидеть температуру, отправляемую thermostat1:

  1. На своем устройстве в обозревателе Интернета вещей в меню слева выберите Компоненты IoT Plug and Play. Затем в списке компонентов выберите thermostat1.

  2. В области компонентов thermostat1 в меню вверху выберите Телеметрия.

  3. В области Телеметрия выполните действия, которые вы выполнили ранее. Убедитесь, что для параметра Использовать встроенный концентратор событий задано значение Да, а затем щелкните Начать.

Чтобы использовать Azure CLI для просмотра телеметрии устройства:

  1. Выполните команду az iot hub monitor-events, чтобы начать мониторинг событий, отправляемых с устройства в центр Интернета вещей. Используйте имена, которые вы создали ранее в Интернете вещей Azure для своего устройства и Центра Интернета вещей Azure.

    az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
    
  2. Сведения о подключении и данные телеметрии отображаются в консоли.

    Starting event monitor, filtering on device: mydevice, use ctrl-c to stop...
    event:
      component: ''
      interface: dtmi:com:example:TemperatureController;1
      module: ''
      origin: mydevice
      payload: '{"workingSet":1251}'
    
    event:
      component: thermostat1
      interface: dtmi:com:example:TemperatureController;1
      module: ''
      origin: mydevice
      payload: '{"temperature":22.00}'
    

Просмотреть код

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

Необходимые компоненты

Это краткое руководство подходит для Windows, Linux и Raspberry Pi. Оно протестировано в следующих версиях ОС и устройств:

  • Windows 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) версии 10, работающей в Raspberry Pi 3 Модель B+

Установите на компьютере разработки следующие компоненты, за исключением случаев, указанных для Raspberry Pi.

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

  • Git.

  • Пакет SDK для .NET Core 3.1. Обязательно установите пакет SDK для .NET, а не только среду выполнения. Чтобы проверить версию пакета SDK для .NET и среду выполнения, установленные на компьютере, выполните команду dotnet --info.

    • Для Windows и Linux (кроме Raspberry Pi) следуйте инструкциям по установке пакета SDK для .NET Core 3.1 для своей платформы.
    • Если вы используете Raspberry Pi, вам нужно выполнить инструкции по установке пакета SDK вручную. Это связано с тем, что в Debian диспетчер пакетов поддерживает установку пакета SDK для .NET только для архитектуры x64.
  • Обозреватель Интернета вещей Azure: кроссплатформенная программа на базе графического пользовательского интерфейса для мониторинга Интернета вещей Azure и управления им. Если вы используете в качестве платформы разработки Raspberry Pi, рекомендуем установить обозреватель IoT на другом компьютере. Если вы не хотите устанавливать обозреватель IoT, для выполнения тех же действий можно использовать Azure CLI.

  • Azure CLI. В этом кратком руководстве доступны два варианта выполнения команд Azure CLI.

    • Azure Cloud Shell — интерактивная оболочка CLI, которая работает в браузере. Этот вариант предпочтителен, так как не нужно ничего устанавливать. Если вы впервые используете Cloud Shell, войдите на портал Azure. Выполните действия, описанные в статье "Начало работы с Azure Cloud Shell", чтобы запустить Cloud Shell и выбрать среду Bash.
    • Azure CLI также можно запустить на локальном компьютере. Если интерфейс командной строки Azure уже установлен, запустите az upgrade, чтобы обновить интерфейс командной строки и расширения до текущей версии. Чтобы установить Azure CLI, ознакомьтесь с разделом Установка Azure CLI. Если вы используете Raspberry Pi в качестве платформы разработки, рекомендуется использовать Azure Cloud Shell или установить Azure CLI на другом компьютере.

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

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

Чтобы создать центр Интернета вещей и группу ресурсов, выполните следующие действия:

  1. Запустите Azure CLI:

    • При использовании Cloud Shell нажмите кнопку Попробовать в командах интерфейса командной строки, чтобы запустить Cloud Shell в разделенном окне браузера. Или можно открыть Cloud Shell в отдельной вкладке браузера.
    • Если вы используете Azure CLI локально, откройте консоль, например Windows CMD, PowerShell или Bash, и войдите в Azure CLI.

    Чтобы выполнить команды CLI в оставшейся части этого краткого руководства, скопируйте синтаксис команды, вставьте его в окно Cloud Shell или консоль CLI, отредактируйте значения переменных, после чего нажмите клавишу ВВОД.

  2. Запустите az extension add, чтобы установить или обновить расширение azure-iot до текущей версии.

    az extension add --upgrade --name azure-iot
    
  3. Выполните команду az group create, чтобы создать группу ресурсов. В следующей команде создается группа ресурсов с именем MyResourceGroup в расположении eastus.

    Примечание.

    При необходимости можно задать альтернативное расположение. Чтобы отобразить доступные расположения, выполните команду az account list-locations. В рамках работы с этим учебником используется eastus, как показано в примере команды.

    az group create --name MyResourceGroup --location eastus
    
  4. Создайте Центр Интернета вещей с помощью команды az iot hub create. Создание Центра Интернета вещей может занять несколько минут.

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

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

    Совет

    После создания Центра Интернета вещей вы будете использовать Azure IoT Explorer для взаимодействия с Центром Интернета вещей в оставшейся части этого краткого руководства. Обозреватель Интернета вещей — это приложение с графическим интерфейсом, которое позволяет подключаться к существующему Центру Интернета вещей и добавлять устройства, управлять ими и отслеживать их. Дополнительные сведения см. в статье Установка и использование обозревателя Интернета вещей Azure. При необходимости вы можете продолжить использовать команды интерфейса командной строки.

Настройка IoT Explorer

В оставшейся части этого краткого руководства вы используете IoT Explorer для регистрации устройства в Центре Интернета вещей, просмотра свойств устройства и телеметрии, а также для отправки команд на устройство. В этом разделе вы настраиваете IoT Explorer для подключения к только что созданному Центру Интернета вещей и для чтения моделей plug and play из общедоступного репозитория моделей.

Примечание.

Также вы можете зарегистрировать устройство с помощью Azure CLI. Используйте команду az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} для регистрации нового устройства и az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} для получения первичной строки подключения для устройства. Записав строку подключения устройства, вы можете сразу перейти к запуску примера устройства.

Для добавления подключения к Центру Интернета вещей:

  1. Выполните команду az iot hub connection-string show, чтобы получить строку подключения для вашего центра Интернета вещей.

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  2. Скопируйте строку подключения без окружающих кавычек.

  3. В Azure IoT Explorer выберите Центры Интернета вещей Azure в меню слева, после чего выберите + Добавить подключение.

  4. Вставьте строку подключения в поле Строка подключения.

  5. Выберите Сохранить.

    Снимок экрана для добавления подключения в IoT Explorer

  6. Если соединение установлено, IoT Explorer переключается на представление Устройства.

Чтобы добавить публичный репозиторий моделей:

  1. В IoT Explorer выберите Дом, чтобы вернуться в главный экран.

  2. В меню слева выберите Настройки IoT Plug and Play, после чего выберите + Добавить и в раскрывающемся меню выберите Публичный репозиторий.

  3. Запись для общедоступного репозитория моделей отображается по адресу https://devicemodels.azure.com.

    Снимок экрана для добавления общедоступного репозитория моделей в IoT Explorer

  4. Выберите Сохранить.

Регистрация устройства

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

Для регистрации устройства:

  1. На главном экране в IoT Explorer выберите Центры Интернета вещей.

  2. Должно отобразиться ранее добавленное подключение. Выберите Просмотреть устройства в этом концентраторе под свойствами подключения.

  3. Выберите + Новый и введите идентификатор вашего устройства; например, mydevice. Остальные свойства оставьте без изменений.

  4. Нажмите кнопку создания.

    Снимок экрана с удостоверением устройства Explorer Интернета вещей Azure

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

Запуск примера устройства

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

  1. Откройте новую консоль, например Windows CMD, PowerShell или Bash. На следующих этапах эта консоль будет использоваться для установки пакета SDK для Node.js и работы с примером кода Node.js.

    Примечание.

    Если вы используете локальную установку Azure CLI, у вас могут быть открыты два окна консоли. Обязательно введите команды, приведенные в этом разделе, в открытой консоли, а не той, которая использовалась для CLI.

  2. Клонируйте пакет SDK Microsoft Azure IoT для C# (.NET) на локальный компьютер:

    git clone https://github.com/Azure/azure-iot-sdk-csharp.git
    
  3. Перейдите к каталогу с примерами:

    Windows

    cd azure-iot-sdk-csharp\iothub\device\samples\solutions\PnpDeviceSamples\TemperatureController
    

    ОС Linux или Raspberry Pi

    cd azure-iot-sdk-csharp/iothub/device/samples/solutions/PnpDeviceSamples/TemperatureController
    
  4. Установите пакет SDK Интернета вещей Azure для C# и необходимые зависимости:

    dotnet restore
    

    Эта команда позволяет установить необходимые зависимости в соответствии с файлом TemperatureController.csproj.

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

    • Задайте переменную среды с именем IOTHUB_DEVICE_CONNECTION_STRING. В качестве значения переменной укажите строку подключения устройства, сохраненную при работе с предыдущим разделом.
    • Задайте переменную среды с именем IOTHUB_DEVICE_SECURITY_TYPE. В качестве значения переменной используйте строку литерала connectionString.

    CMD (Windows)

    set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
    set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
    

    Примечание.

    В Windows CMD строковые значения для каждой переменной не берутся в кавычки.

    PowerShell

    $env:IOTHUB_DEVICE_CONNECTION_STRING='<your connection string here>'
    $env:IOTHUB_DEVICE_SECURITY_TYPE='connectionString'
    

    Bash

    export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
    export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
    
  6. Запустите пример кода:

    dotnet run
    

    Примечание.

    В этом примере кода используется технология Azure IoT Plug and Play, которая позволяет интегрировать интеллектуальные устройства в решения без какой-либо настройки вручную. По умолчанию большинство примеров в этой документации используют IoT Plug and Play. Дополнительные сведения о преимуществах технологии IoT Plug and Play, а также о сценариях ее использования или неприменимости см. в статье Общие сведения об IoT Plug and Play.

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

Просмотр телеметрии

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

Чтобы просмотреть телеметрию в службе Explorer Интернета вещей Azure:

  1. В своем центре Интернета вещей в обозревателе Интернета вещей щелкните Просмотреть устройства в этом концентраторе, а затем выберите в списке свое устройство.

  2. В меню слева для своего устройства выберите Телеметрия.

  3. Подтвердите, что для параметра Использовать встроенный концентратор событий задано значение Да, а затем щелкните Начать.

  4. Просматривайте телеметрию, когда устройство отправляет сообщения в облако.

    Снимок экрана телеметрии устройства в IoT Explorer

  5. Выберите Стоп, чтобы прекратить прием событий.

Для чтения данных телеметрии, отправляемых отдельными компонентами устройств, можно использовать функции Plug and Play в обозревателе Интернета вещей. Например, контроллер температуры, описанный в этом кратком руководстве, связан с двумя термостатами: thermostat1 и thermostat2. Чтобы увидеть температуру, отправляемую thermostat1:

  1. На своем устройстве в обозревателе Интернета вещей в меню слева выберите Компоненты IoT Plug and Play. Затем в списке компонентов выберите thermostat1.

  2. В области компонентов thermostat1 в меню вверху выберите Телеметрия.

  3. В области Телеметрия выполните действия, которые вы выполнили ранее. Убедитесь, что для параметра Использовать встроенный концентратор событий задано значение Да, а затем щелкните Начать.

Чтобы использовать Azure CLI для просмотра телеметрии устройства:

  1. Выполните команду az iot hub monitor-events, чтобы начать мониторинг событий, отправляемых с устройства в центр Интернета вещей. Используйте имена, которые вы создали ранее в Интернете вещей Azure для своего устройства и Центра Интернета вещей Azure.

    az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
    
  2. Сведения о подключении и данные телеметрии отображаются в консоли.

    Starting event monitor, filtering on device: mydevice, use ctrl-c to stop...
    event:
      component: thermostat1
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 39.8
    
    event:
      component: thermostat2
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 36.7
    
  3. Выберите CTRL+C, чтобы завершить мониторинг.

Просмотреть код

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

Необходимые компоненты

Это краткое руководство подходит для Windows, Linux и Raspberry Pi. Оно протестировано в следующих версиях ОС и устройств:

  • Windows 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) версии 10, работающей в Raspberry Pi 3 Модель B+

Установите на компьютере разработки следующие компоненты, за исключением случаев, указанных для Raspberry Pi.

  • Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
  • Git.
  • Обозреватель Интернета вещей Azure: кроссплатформенная программа на базе графического пользовательского интерфейса для мониторинга Интернета вещей Azure и управления им. Если вы используете в качестве платформы разработки Raspberry Pi, рекомендуем установить обозреватель IoT на другом компьютере. Если вы не хотите устанавливать обозреватель IoT, для выполнения тех же действий можно использовать Azure CLI.
  • Azure CLI. В этом кратком руководстве описаны два варианта выполнения команд Azure CLI:
    • Azure Cloud Shell — интерактивная оболочка CLI, которая работает в браузере. Этот вариант предпочтителен, так как не нужно ничего устанавливать. Если вы впервые используете Cloud Shell, войдите на портал Azure. Выполните действия, описанные в статье "Начало работы с Azure Cloud Shell", чтобы запустить Cloud Shell и выбрать среду Bash.
    • Azure CLI также можно запустить на локальном компьютере. Если интерфейс командной строки Azure уже установлен, запустите az upgrade, чтобы обновить интерфейс командной строки и расширения до текущей версии. Чтобы установить Azure CLI, ознакомьтесь с разделом Установка Azure CLI. Если вы используете Raspberry Pi в качестве платформы разработки, рекомендуется использовать Azure Cloud Shell или установить Azure CLI на другом компьютере.

Установите необходимые компоненты для операционной системы.

Windows

Для выполнения действий из этого краткого руководства установите в ОС Windows следующее программное обеспечение:

  • Пакет SDK для Java SE: версия 8 или более поздняя версия. Пакеты JDK Java 8 (LTS) для различных платформ можно скачать в разделе Скачивание сборок Zulu для OpenJDK. В установщике выберите параметр Добавить в путь.

  • Apache Maven 3. После извлечения файла в локальную папку добавьте полный путь к папке Maven /bin в переменную среды Windows PATH.

ОС Linux или Raspberry Pi

Для выполнения действий из этого краткого руководства в ОС Linux или Raspberry Pi, установите следующее программное обеспечение:

Примечание.

Действия, описанные в этом разделе, основаны на дистрибутивах Linux Ubuntu/Debian. (ОС Raspberry Pi основана на Debian.) Если вы используете другой дистрибутив Linux, вам нужно будет изменить эти действия соответствующим образом.

  • OpenJDK (Пакет разработки Open Java) 8 или более поздней версии. Проверить, какая версия Java установлена в вашей системе, можно с помощью команды java -version. Убедитесь, что установлен JDK, а не только среда выполнения Java (JRE).

    1. Чтобы установить для вашей системы OpenJDK, введите следующие команды:

      Чтобы установить для вашей системы версию OpenJDK по умолчанию (OpenJDK 11 для Ubuntu 20.04 и ОС Raspberry Pi 10 на момент написания статьи):

      sudo apt update
      sudo apt install default-jdk
      

      Кроме того, можно указать версию JDK для установки. Например:

      sudo apt update
      sudo apt install openjdk-8-jdk
      
    2. Если в системе установлено несколько версий Java, можно использовать следующие команды для настройки стандартных (автоматических) версий Java и компилятора Java.

      update-java-alternatives --list          #list the Java versions installed
      sudo update-alternatives --config java   #set the default Java version
      sudo  update-alternatives --config javac #set the default Java compiler version
      
    3. Установите переменную среды JAVA_HOME в путь установки JDK. (Обычно это версионный подкаталог в каталоге /usr/lib/jvm.)

      export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
      

      Внимание

      Эта команда задает переменную JAVA_HOME в текущей среде оболочки. Мы рекомендуем добавить команду в файл ~/.bashrc или /etc/profile, чтобы она была доступна при каждом открытии новой оболочки.

    4. Проверьте версию установленного пакета JDK (и JRE) Java, соответствие версии компилятора Java версии JDK, а также правильность установки переменной среды JAVA_HOME.

      java -version
      javac -version
      echo $JAVA_HOME
      
  • Apache Maven 3. Проверить, какая версия Maven установлена в вашей системе, можно с помощью команды mvn --version.

    1. Чтобы установить Maven, введите следующие команды:

      sudo apt-get update
      sudo apt-get install maven
      
    2. Выполните следующую команду для проверки установки.

      mvn --version
      

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

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

Чтобы создать центр Интернета вещей и группу ресурсов, выполните следующие действия:

  1. Запустите Azure CLI:

    • При использовании Cloud Shell нажмите кнопку Попробовать в командах интерфейса командной строки, чтобы запустить Cloud Shell в разделенном окне браузера. Или можно открыть Cloud Shell в отдельной вкладке браузера.
    • Если вы используете Azure CLI локально, откройте консоль, например Windows CMD, PowerShell или Bash, и войдите в Azure CLI.

    Чтобы выполнить команды CLI в оставшейся части этого краткого руководства, скопируйте синтаксис команды, вставьте его в окно Cloud Shell или консоль CLI, отредактируйте значения переменных, после чего нажмите клавишу ВВОД.

  2. Запустите az extension add, чтобы установить или обновить расширение azure-iot до текущей версии.

    az extension add --upgrade --name azure-iot
    
  3. Выполните команду az group create, чтобы создать группу ресурсов. В следующей команде создается группа ресурсов с именем MyResourceGroup в расположении eastus.

    Примечание.

    При необходимости можно задать альтернативное расположение. Чтобы отобразить доступные расположения, выполните команду az account list-locations. В рамках работы с этим учебником используется eastus, как показано в примере команды.

    az group create --name MyResourceGroup --location eastus
    
  4. Создайте Центр Интернета вещей с помощью команды az iot hub create. Создание Центра Интернета вещей может занять несколько минут.

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

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

    Совет

    После создания Центра Интернета вещей вы будете использовать Azure IoT Explorer для взаимодействия с Центром Интернета вещей в оставшейся части этого краткого руководства. Обозреватель Интернета вещей — это приложение с графическим интерфейсом, которое позволяет подключаться к существующему Центру Интернета вещей и добавлять устройства, управлять ими и отслеживать их. Дополнительные сведения см. в статье Установка и использование обозревателя Интернета вещей Azure. При необходимости вы можете продолжить использовать команды интерфейса командной строки.

Настройка IoT Explorer

В оставшейся части этого краткого руководства вы используете IoT Explorer для регистрации устройства в Центре Интернета вещей, просмотра свойств устройства и телеметрии, а также для отправки команд на устройство. В этом разделе вы настраиваете IoT Explorer для подключения к только что созданному Центру Интернета вещей и для чтения моделей plug and play из общедоступного репозитория моделей.

Примечание.

Также вы можете зарегистрировать устройство с помощью Azure CLI. Используйте команду az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} для регистрации нового устройства и az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} для получения первичной строки подключения для устройства. Записав строку подключения устройства, вы можете сразу перейти к запуску примера устройства.

Для добавления подключения к Центру Интернета вещей:

  1. Выполните команду az iot hub connection-string show, чтобы получить строку подключения для вашего центра Интернета вещей.

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  2. Скопируйте строку подключения без окружающих кавычек.

  3. В Azure IoT Explorer выберите Центры Интернета вещей Azure в меню слева, после чего выберите + Добавить подключение.

  4. Вставьте строку подключения в поле Строка подключения.

  5. Выберите Сохранить.

    Снимок экрана для добавления подключения в IoT Explorer

  6. Если соединение установлено, IoT Explorer переключается на представление Устройства.

Чтобы добавить публичный репозиторий моделей:

  1. В IoT Explorer выберите Дом, чтобы вернуться в главный экран.

  2. В меню слева выберите Настройки IoT Plug and Play, после чего выберите + Добавить и в раскрывающемся меню выберите Публичный репозиторий.

  3. Запись для общедоступного репозитория моделей отображается по адресу https://devicemodels.azure.com.

    Снимок экрана для добавления общедоступного репозитория моделей в IoT Explorer

  4. Выберите Сохранить.

Регистрация устройства

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

Для регистрации устройства:

  1. На главном экране в IoT Explorer выберите Центры Интернета вещей.

  2. Должно отобразиться ранее добавленное подключение. Выберите Просмотреть устройства в этом концентраторе под свойствами подключения.

  3. Выберите + Новый и введите идентификатор вашего устройства; например, mydevice. Остальные свойства оставьте без изменений.

  4. Нажмите кнопку создания.

    Снимок экрана с удостоверением устройства Explorer Интернета вещей Azure

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

Запуск примера устройства

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

  1. Откройте консоль, чтобы установить пакет SDK для устройства Java Центра Интернета вещей Azure, скомпилировать и запустить пример кода. Вы будете использовать эту консоль на следующих этапах.

    Примечание.

    Если вы используете локальную установку Azure CLI, у вас могут быть открыты два окна консоли. Обязательно введите команды, приведенные в этом разделе, в открытой консоли, а не той, которая использовалась для CLI.

    ОС Linux и Raspberry Pi

    Убедитесь, что задана переменная среды JAVA_HOME (echo $JAVA_HOME). Информацию о настройке JAVA_HOME см. в разделе Предварительные требования для Linux и Raspberry Pi.

  2. Выполните клонирование пакета SDK устройства Java для Интернета вещей Azure на локальный компьютер:

    git clone https://github.com/Azure/azure-iot-sdk-java.git
    
  3. Перейдите в корневую папку пакета SDK и выполните следующую команду, чтобы сформировать пакет SDK и обновить примеры.

    cd azure-iot-sdk-java
    mvn install -T 2C -DskipTests
    

    Эта операция выполняется несколько минут.

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

    • Задайте переменную среды с именем IOTHUB_DEVICE_CONNECTION_STRING. В качестве значения переменной укажите строку подключения устройства, сохраненную при работе с предыдущим разделом.
    • Задайте переменную среды с именем IOTHUB_DEVICE_SECURITY_TYPE. В качестве значения переменной используйте строку литерала connectionString.

    CMD

    set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
    set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
    

    Примечание.

    В Windows CMD строковые значения для каждой переменной не берутся в кавычки.

    Bash

    export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
    export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
    
  5. Перейдите к каталогу с примерами.

    CMD

    cd device\iot-device-samples\pnp-device-sample\temperature-controller-device-sample
    

    Bash

    cd device/iot-device-samples/pnp-device-sample/temperature-controller-device-sample
    
  6. Запустите пример кода.

    java -jar -Dexec.mainClass="samples.com.microsoft.azure.sdk.iot.device.TemperatureController"
    

    Примечание.

    В этом примере кода используется технология Azure IoT Plug and Play, которая позволяет интегрировать интеллектуальные устройства в решения без какой-либо настройки вручную. По умолчанию большинство примеров в этой документации используют IoT Plug and Play. Дополнительные сведения о преимуществах технологии IoT Plug and Play, а также о сценариях ее использования или неприменимости см. в статье Общие сведения об IoT Plug and Play.

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

Просмотр телеметрии

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

Чтобы просмотреть телеметрию в службе Explorer Интернета вещей Azure:

  1. В своем центре Интернета вещей в обозревателе Интернета вещей щелкните Просмотреть устройства в этом концентраторе, а затем выберите в списке свое устройство.

  2. В меню слева для своего устройства выберите Телеметрия.

  3. Подтвердите, что для параметра Использовать встроенный концентратор событий задано значение Да, а затем щелкните Начать.

  4. Просматривайте телеметрию, когда устройство отправляет сообщения в облако.

    Снимок экрана телеметрии устройства в IoT Explorer

  5. Выберите Стоп, чтобы прекратить прием событий.

Для чтения данных телеметрии, отправляемых отдельными компонентами устройств, можно использовать функции Plug and Play в обозревателе Интернета вещей. Например, контроллер температуры, описанный в этом кратком руководстве, связан с двумя термостатами: thermostat1 и thermostat2. Чтобы увидеть температуру, отправляемую thermostat1:

  1. На своем устройстве в обозревателе Интернета вещей в меню слева выберите Компоненты IoT Plug and Play. Затем в списке компонентов выберите thermostat1.

  2. В области компонентов thermostat1 в меню вверху выберите Телеметрия.

  3. В области Телеметрия выполните действия, которые вы выполнили ранее. Убедитесь, что для параметра Использовать встроенный концентратор событий задано значение Да, а затем щелкните Начать.

Чтобы использовать Azure CLI для просмотра телеметрии устройства:

  1. Выполните команду az iot hub monitor-events, чтобы начать мониторинг событий, отправляемых с устройства в центр Интернета вещей. Используйте имена, которые вы создали ранее в Интернете вещей Azure для своего устройства и Центра Интернета вещей Azure.

    az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
    
  2. Сведения о подключении и данные телеметрии отображаются в консоли.

    Starting event monitor, filtering on device: mydevice, use ctrl-c to stop...
    event:
      component: thermostat1
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 24.1
    
    event:
      component: thermostat2
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 33.3
    

Просмотреть код

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

Необходимые компоненты

Это краткое руководство подходит для Windows, Linux и Raspberry Pi. Оно протестировано в следующих версиях ОС и устройств:

  • Windows 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) версии 10, работающей в Raspberry Pi 3 Модель B+

Установите на компьютере разработки следующие компоненты, за исключением случаев, указанных для Raspberry Pi.

  • Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
  • Git.
  • Node.js версии 12 или более поздней версии. Для проверки версии узла выполните node --version.
  • Обозреватель Интернета вещей Azure: кроссплатформенная программа на базе графического пользовательского интерфейса для мониторинга Интернета вещей Azure и управления им. Если вы используете в качестве платформы разработки Raspberry Pi, рекомендуем установить обозреватель IoT на другом компьютере. Если вы не хотите устанавливать обозреватель IoT, для выполнения тех же действий можно использовать Azure CLI.
  • Azure CLI. В этом кратком руководстве описаны два варианта выполнения команд Azure CLI:
    • Azure Cloud Shell — интерактивная оболочка CLI, которая работает в браузере. Этот вариант предпочтителен, так как не нужно ничего устанавливать. Если вы впервые используете Cloud Shell, войдите на портал Azure. Выполните действия, описанные в статье "Начало работы с Azure Cloud Shell", чтобы запустить Cloud Shell и выбрать среду Bash.
    • Azure CLI также можно запустить на локальном компьютере. Если интерфейс командной строки Azure уже установлен, запустите az upgrade, чтобы обновить интерфейс командной строки и расширения до текущей версии. Чтобы установить Azure CLI, ознакомьтесь с разделом Установка Azure CLI. Если вы используете Raspberry Pi в качестве платформы разработки, рекомендуется использовать Azure Cloud Shell или установить Azure CLI на другом компьютере.

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

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

Чтобы создать центр Интернета вещей и группу ресурсов, выполните следующие действия:

  1. Запустите Azure CLI:

    • При использовании Cloud Shell нажмите кнопку Попробовать в командах интерфейса командной строки, чтобы запустить Cloud Shell в разделенном окне браузера. Или можно открыть Cloud Shell в отдельной вкладке браузера.
    • Если вы используете Azure CLI локально, откройте консоль, например Windows CMD, PowerShell или Bash, и войдите в Azure CLI.

    Чтобы выполнить команды CLI в оставшейся части этого краткого руководства, скопируйте синтаксис команды, вставьте его в окно Cloud Shell или консоль CLI, отредактируйте значения переменных, после чего нажмите клавишу ВВОД.

  2. Запустите az extension add, чтобы установить или обновить расширение azure-iot до текущей версии.

    az extension add --upgrade --name azure-iot
    
  3. Выполните команду az group create, чтобы создать группу ресурсов. В следующей команде создается группа ресурсов с именем MyResourceGroup в расположении eastus.

    Примечание.

    При необходимости можно задать альтернативное расположение. Чтобы отобразить доступные расположения, выполните команду az account list-locations. В рамках работы с этим учебником используется eastus, как показано в примере команды.

    az group create --name MyResourceGroup --location eastus
    
  4. Создайте Центр Интернета вещей с помощью команды az iot hub create. Создание Центра Интернета вещей может занять несколько минут.

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

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

    Совет

    После создания Центра Интернета вещей вы будете использовать Azure IoT Explorer для взаимодействия с Центром Интернета вещей в оставшейся части этого краткого руководства. Обозреватель Интернета вещей — это приложение с графическим интерфейсом, которое позволяет подключаться к существующему Центру Интернета вещей и добавлять устройства, управлять ими и отслеживать их. Дополнительные сведения см. в статье Установка и использование обозревателя Интернета вещей Azure. При необходимости вы можете продолжить использовать команды интерфейса командной строки.

Настройка IoT Explorer

В оставшейся части этого краткого руководства вы используете IoT Explorer для регистрации устройства в Центре Интернета вещей, просмотра свойств устройства и телеметрии, а также для отправки команд на устройство. В этом разделе вы настраиваете IoT Explorer для подключения к только что созданному Центру Интернета вещей и для чтения моделей plug and play из общедоступного репозитория моделей.

Примечание.

Также вы можете зарегистрировать устройство с помощью Azure CLI. Используйте команду az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} для регистрации нового устройства и az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} для получения первичной строки подключения для устройства. Записав строку подключения устройства, вы можете сразу перейти к запуску примера устройства.

Для добавления подключения к Центру Интернета вещей:

  1. Выполните команду az iot hub connection-string show, чтобы получить строку подключения для вашего центра Интернета вещей.

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  2. Скопируйте строку подключения без окружающих кавычек.

  3. В Azure IoT Explorer выберите Центры Интернета вещей Azure в меню слева, после чего выберите + Добавить подключение.

  4. Вставьте строку подключения в поле Строка подключения.

  5. Выберите Сохранить.

    Снимок экрана для добавления подключения в IoT Explorer

  6. Если соединение установлено, IoT Explorer переключается на представление Устройства.

Чтобы добавить публичный репозиторий моделей:

  1. В IoT Explorer выберите Дом, чтобы вернуться в главный экран.

  2. В меню слева выберите Настройки IoT Plug and Play, после чего выберите + Добавить и в раскрывающемся меню выберите Публичный репозиторий.

  3. Запись для общедоступного репозитория моделей отображается по адресу https://devicemodels.azure.com.

    Снимок экрана для добавления общедоступного репозитория моделей в IoT Explorer

  4. Выберите Сохранить.

Регистрация устройства

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

Для регистрации устройства:

  1. На главном экране в IoT Explorer выберите Центры Интернета вещей.

  2. Должно отобразиться ранее добавленное подключение. Выберите Просмотреть устройства в этом концентраторе под свойствами подключения.

  3. Выберите + Новый и введите идентификатор вашего устройства; например, mydevice. Остальные свойства оставьте без изменений.

  4. Нажмите кнопку создания.

    Снимок экрана с удостоверением устройства Explorer Интернета вещей Azure

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

Запуск примера устройства

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

  1. Откройте новую консоль, например Windows CMD, PowerShell или Bash. На следующих этапах эта консоль будет использоваться для установки пакета SDK для Node.js и работы с примером кода Node.js.

    Примечание.

    Если вы используете локальную установку Azure CLI, у вас могут быть открыты два окна консоли. Обязательно введите команды, приведенные в этом разделе, в открытой консоли, а не той, которая использовалась для CLI.

  2. Скопируйте примеры устройств с пакетом SDK для Центра Интернета вещей Azure для Node.js на локальный компьютер:

    git clone https://github.com/Azure/azure-iot-sdk-node
    
  3. Перейдите к каталогу с примерами:

    Windows

    cd azure-iot-sdk-node\device\samples\javascript
    

    ОС Linux или Raspberry Pi

    cd azure-iot-sdk-node/device/samples/javascript
    
  4. Установите пакет SDK для Интернета вещей Azure для Node.js и необходимые зависимости:

    npm install
    

    Эта команда устанавливает необходимые зависимости, как указано в файле package.json в каталоге примеров устройств.

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

    • Задайте переменную среды с именем IOTHUB_DEVICE_CONNECTION_STRING. В качестве значения переменной укажите строку подключения устройства, сохраненную при работе с предыдущим разделом.
    • Задайте переменную среды с именем IOTHUB_DEVICE_SECURITY_TYPE. В качестве значения переменной используйте строку литерала connectionString.

    CMD (Windows)

    set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
    set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
    

    Примечание.

    В Windows CMD строковые значения для каждой переменной не берутся в кавычки.

    PowerShell

    $env:IOTHUB_DEVICE_CONNECTION_STRING='<your connection string here>'
    $env:IOTHUB_DEVICE_SECURITY_TYPE='connectionString'
    

    Bash

    export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
    export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
    
  6. Выполните приведенный ниже пример кода.

    node pnp_temperature_controller.js
    

    Примечание.

    В этом примере кода используется технология Azure IoT Plug and Play, которая позволяет интегрировать интеллектуальные устройства в решения без какой-либо настройки вручную. По умолчанию большинство примеров в этой документации используют IoT Plug and Play. Дополнительные сведения о преимуществах технологии IoT Plug and Play, а также о сценариях ее использования или неприменимости см. в статье Общие сведения об IoT Plug and Play.

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

Просмотр телеметрии

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

Чтобы просмотреть телеметрию в службе Explorer Интернета вещей Azure:

  1. В своем центре Интернета вещей в обозревателе Интернета вещей щелкните Просмотреть устройства в этом концентраторе, а затем выберите в списке свое устройство.

  2. В меню слева для своего устройства выберите Телеметрия.

  3. Подтвердите, что для параметра Использовать встроенный концентратор событий задано значение Да, а затем щелкните Начать.

  4. Просматривайте телеметрию, когда устройство отправляет сообщения в облако.

    Снимок экрана телеметрии устройства в IoT Explorer

  5. Выберите Стоп, чтобы прекратить прием событий.

Для чтения данных телеметрии, отправляемых отдельными компонентами устройств, можно использовать функции Plug and Play в обозревателе Интернета вещей. Например, контроллер температуры, описанный в этом кратком руководстве, связан с двумя термостатами: thermostat1 и thermostat2. Чтобы увидеть температуру, отправляемую thermostat1:

  1. На своем устройстве в обозревателе Интернета вещей в меню слева выберите Компоненты IoT Plug and Play. Затем в списке компонентов выберите thermostat1.

  2. В области компонентов thermostat1 в меню вверху выберите Телеметрия.

  3. В области Телеметрия выполните действия, которые вы выполнили ранее. Убедитесь, что для параметра Использовать встроенный концентратор событий задано значение Да, а затем щелкните Начать.

Чтобы использовать Azure CLI для просмотра телеметрии устройства:

  1. Выполните команду az iot hub monitor-events, чтобы начать мониторинг событий, отправляемых с устройства в центр Интернета вещей. Используйте имена, которые вы создали ранее в Интернете вещей Azure для своего устройства и Центра Интернета вещей Azure.

    az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
    
  2. Сведения о подключении и данные телеметрии отображаются в консоли.

    Starting event monitor, filtering on device: mydevice, use ctrl-c to stop...
    event:
      component: thermostat1
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 70.5897683228018
    
    event:
      component: thermostat2
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 52.87582619316418
    

Просмотреть код

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

Необходимые компоненты

Это краткое руководство подходит для Windows, Linux и Raspberry Pi. Оно протестировано в следующих версиях ОС и устройств:

  • Windows 10 или Windows 11
  • Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) версии 10, работающей в Raspberry Pi 3 Модель B+

Установите на компьютере разработки следующие компоненты, за исключением случаев, указанных для Raspberry Pi.

  • Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
  • Git.
  • Python. Проверьте пакет SDK Для Python Для Интернета вещей Azure для текущих требований к версии Python. Чтобы проверить версию Python, выполните python3 --version.
  • Обозреватель Интернета вещей Azure: кроссплатформенная программа на базе графического пользовательского интерфейса для мониторинга Интернета вещей Azure и управления им. Если вы используете в качестве платформы разработки Raspberry Pi, рекомендуем установить обозреватель IoT на другом компьютере. Если вы не хотите устанавливать обозреватель IoT, для выполнения тех же действий можно использовать Azure CLI.
  • Azure CLI. В этом кратком руководстве описаны два варианта выполнения команд Azure CLI:
    • Azure Cloud Shell — интерактивная оболочка CLI, которая работает в браузере. Этот вариант предпочтителен, так как не нужно ничего устанавливать. Если вы впервые используете Cloud Shell, войдите на портал Azure. Выполните действия, описанные в статье "Начало работы с Azure Cloud Shell", чтобы запустить Cloud Shell и выбрать среду Bash.
    • Azure CLI также можно запустить на локальном компьютере. Если интерфейс командной строки Azure уже установлен, запустите az upgrade, чтобы обновить интерфейс командной строки и расширения до текущей версии. Чтобы установить Azure CLI, ознакомьтесь с разделом Установка Azure CLI. Если вы используете Raspberry Pi в качестве платформы разработки, рекомендуется использовать Azure Cloud Shell или установить Azure CLI на другом компьютере.

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

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

Чтобы создать центр Интернета вещей и группу ресурсов, выполните следующие действия:

  1. Запустите Azure CLI:

    • При использовании Cloud Shell нажмите кнопку Попробовать в командах интерфейса командной строки, чтобы запустить Cloud Shell в разделенном окне браузера. Или можно открыть Cloud Shell в отдельной вкладке браузера.
    • Если вы используете Azure CLI локально, откройте консоль, например Windows CMD, PowerShell или Bash, и войдите в Azure CLI.

    Чтобы выполнить команды CLI в оставшейся части этого краткого руководства, скопируйте синтаксис команды, вставьте его в окно Cloud Shell или консоль CLI, отредактируйте значения переменных, после чего нажмите клавишу ВВОД.

  2. Запустите az extension add, чтобы установить или обновить расширение azure-iot до текущей версии.

    az extension add --upgrade --name azure-iot
    
  3. Выполните команду az group create, чтобы создать группу ресурсов. В следующей команде создается группа ресурсов с именем MyResourceGroup в расположении eastus.

    Примечание.

    При необходимости можно задать альтернативное расположение. Чтобы отобразить доступные расположения, выполните команду az account list-locations. В рамках работы с этим учебником используется eastus, как показано в примере команды.

    az group create --name MyResourceGroup --location eastus
    
  4. Создайте Центр Интернета вещей с помощью команды az iot hub create. Создание Центра Интернета вещей может занять несколько минут.

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

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

    Совет

    После создания Центра Интернета вещей вы будете использовать Azure IoT Explorer для взаимодействия с Центром Интернета вещей в оставшейся части этого краткого руководства. Обозреватель Интернета вещей — это приложение с графическим интерфейсом, которое позволяет подключаться к существующему Центру Интернета вещей и добавлять устройства, управлять ими и отслеживать их. Дополнительные сведения см. в статье Установка и использование обозревателя Интернета вещей Azure. При необходимости вы можете продолжить использовать команды интерфейса командной строки.

Настройка IoT Explorer

В оставшейся части этого краткого руководства вы используете IoT Explorer для регистрации устройства в Центре Интернета вещей, просмотра свойств устройства и телеметрии, а также для отправки команд на устройство. В этом разделе вы настраиваете IoT Explorer для подключения к только что созданному Центру Интернета вещей и для чтения моделей plug and play из общедоступного репозитория моделей.

Примечание.

Также вы можете зарегистрировать устройство с помощью Azure CLI. Используйте команду az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} для регистрации нового устройства и az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} для получения первичной строки подключения для устройства. Записав строку подключения устройства, вы можете сразу перейти к запуску примера устройства.

Для добавления подключения к Центру Интернета вещей:

  1. Выполните команду az iot hub connection-string show, чтобы получить строку подключения для вашего центра Интернета вещей.

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  2. Скопируйте строку подключения без окружающих кавычек.

  3. В Azure IoT Explorer выберите Центры Интернета вещей Azure в меню слева, после чего выберите + Добавить подключение.

  4. Вставьте строку подключения в поле Строка подключения.

  5. Выберите Сохранить.

    Снимок экрана для добавления подключения в IoT Explorer

  6. Если соединение установлено, IoT Explorer переключается на представление Устройства.

Чтобы добавить публичный репозиторий моделей:

  1. В IoT Explorer выберите Дом, чтобы вернуться в главный экран.

  2. В меню слева выберите Настройки IoT Plug and Play, после чего выберите + Добавить и в раскрывающемся меню выберите Публичный репозиторий.

  3. Запись для общедоступного репозитория моделей отображается по адресу https://devicemodels.azure.com.

    Снимок экрана для добавления общедоступного репозитория моделей в IoT Explorer

  4. Выберите Сохранить.

Регистрация устройства

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

Для регистрации устройства:

  1. На главном экране в IoT Explorer выберите Центры Интернета вещей.

  2. Должно отобразиться ранее добавленное подключение. Выберите Просмотреть устройства в этом концентраторе под свойствами подключения.

  3. Выберите + Новый и введите идентификатор вашего устройства; например, mydevice. Остальные свойства оставьте без изменений.

  4. Нажмите кнопку создания.

    Снимок экрана с удостоверением устройства Explorer Интернета вещей Azure

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

Запуск примера устройства

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

  1. Откройте новую консоль, например Windows CMD, PowerShell или Bash. На следующих этапах эта консоль будет использоваться для установки пакета SDK для Python и работы с примером кода Python.

    Примечание.

    Если вы используете локальную установку Azure CLI, у вас могут быть открыты два окна консоли. Обязательно введите команды, приведенные в этом разделе, в открытой консоли, а не той, которая использовалась для CLI.

  2. Скопируйте на локальный компьютер примеры устройств с пакетом SDK Интернета вещей Azure для Python.

    git clone --branch v2 https://github.com/Azure/azure-iot-sdk-python
    
  3. Перейдите к каталогу с примерами:

    Windows

    cd azure-iot-sdk-python\samples\pnp
    

    ОС Linux или Raspberry Pi

    cd azure-iot-sdk-python/samples/pnp
    
  4. Установка пакета SDK Интернета вещей Azure для Python

    pip3 install azure-iot-device
    
  5. Задайте следующие переменные среды, чтобы устройство могло подключаться к Интернету вещей Azure.

    • Задайте переменную среды с именем IOTHUB_DEVICE_CONNECTION_STRING. В качестве значения переменной укажите строку подключения устройства, сохраненную при работе с предыдущим разделом.
    • Задайте переменную среды с именем IOTHUB_DEVICE_SECURITY_TYPE. В качестве значения переменной используйте строку литерала connectionString.

    CMD (Windows)

    set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
    set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
    

    Примечание.

    В Windows CMD строковые значения для каждой переменной не берутся в кавычки.

    PowerShell

    $env:IOTHUB_DEVICE_CONNECTION_STRING='<your connection string here>'
    $env:IOTHUB_DEVICE_SECURITY_TYPE='connectionString'
    

    Bash

    export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
    export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
    
  6. Запустите код приведенного ниже файла с примером.

    python temp_controller_with_thermostats.py
    

    Примечание.

    В этом примере кода используется технология Azure IoT Plug and Play, которая позволяет интегрировать интеллектуальные устройства в решения без какой-либо настройки вручную. По умолчанию большинство примеров в этой документации используют IoT Plug and Play. Дополнительные сведения о преимуществах технологии IoT Plug and Play, а также о сценариях ее использования или неприменимости см. в статье Общие сведения об IoT Plug and Play.

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

Просмотр телеметрии

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

Чтобы просмотреть телеметрию в службе Explorer Интернета вещей Azure:

  1. В своем центре Интернета вещей в обозревателе Интернета вещей щелкните Просмотреть устройства в этом концентраторе, а затем выберите в списке свое устройство.

  2. В меню слева для своего устройства выберите Телеметрия.

  3. Подтвердите, что для параметра Использовать встроенный концентратор событий задано значение Да, а затем щелкните Начать.

  4. Просматривайте телеметрию, когда устройство отправляет сообщения в облако.

    Снимок экрана телеметрии устройства в IoT Explorer

  5. Выберите Стоп, чтобы прекратить прием событий.

Для чтения данных телеметрии, отправляемых отдельными компонентами устройств, можно использовать функции Plug and Play в обозревателе Интернета вещей. Например, контроллер температуры, описанный в этом кратком руководстве, связан с двумя термостатами: thermostat1 и thermostat2. Чтобы увидеть температуру, отправляемую thermostat1:

  1. На своем устройстве в обозревателе Интернета вещей в меню слева выберите Компоненты IoT Plug and Play. Затем в списке компонентов выберите thermostat1.

  2. В области компонентов thermostat1 в меню вверху выберите Телеметрия.

  3. В области Телеметрия выполните действия, которые вы выполнили ранее. Убедитесь, что для параметра Использовать встроенный концентратор событий задано значение Да, а затем щелкните Начать.

Чтобы использовать Azure CLI для просмотра телеметрии устройства:

  1. Выполните команду az iot hub monitor-events, чтобы начать мониторинг событий, отправляемых с устройства в центр Интернета вещей. Используйте имена, которые вы создали ранее в Интернете вещей Azure для своего устройства и Центра Интернета вещей Azure.

    az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
    
  2. Сведения о подключении и данные телеметрии отображаются в консоли.

    Starting event monitor, filtering on device: mydevice, use ctrl-c to stop...
    event:
      component: thermostat1
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 28
    
    event:
      component: thermostat2
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 10
    

Очистка ресурсов

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

Внимание

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

Удаление группы ресурсов по имени:

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

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

    az group list
    

Следующие шаги

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

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