Краткое руководство. Отправка данных телеметрии с устройства IoT Plug and Play в Центр Интернета вещей 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 Model B+

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

  • Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
  • Git.
  • Обозреватель Интернета вещей Azure: кроссплатформенная программа на базе графического пользовательского интерфейса для мониторинга Интернета вещей Azure и управления им. Если вы используете Raspberry Pi в качестве платформы разработки, рекомендуется установить обозреватель Интернета вещей на другом компьютере. Если вы не хотите устанавливать обозреватель Интернета вещей, можно использовать Azure CLI для выполнения тех же действий.
  • Azure CLI. В этом кратком руководстве доступны два варианта выполнения команд Azure CLI.
    • Azure Cloud Shell — интерактивная оболочка CLI, которая работает в браузере. Этот вариант предпочтителен, так как не нужно ничего устанавливать. Если вы используете Cloud Shell в первый раз, войдите на портал 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 выше 2.8.12, а версия GCC выше 4.4.7.

cmake --version
gcc --version

Windows

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

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

    Примечание

    Существующие пользователи Visual Studio 2019 должны нажать кнопку 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, у вас могут быть открыты два окна консоли. Обязательно введите команды, приведенные в этом разделе, в открытой консоли, а не в той, которая использовалась для интерфейса командной строки.

  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.

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

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

Вы можете просматривать данные телеметрии устройств с помощью IoT Explorer. При необходимости можно просмотреть данные телеметрии с помощью Azure CLI.

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

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

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

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

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

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

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

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

  1. На своем устройстве в IoT Explorer в левом меню выберите Компоненты 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 Model 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 в качестве платформы разработки, рекомендуется установить обозреватель Интернета вещей на другом компьютере. Если вы не хотите устанавливать обозреватель Интернета вещей, можно использовать Azure CLI для выполнения тех же действий.

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

    • Azure Cloud Shell — интерактивная оболочка CLI, которая работает в браузере. Этот вариант предпочтителен, так как не нужно ничего устанавливать. Если вы используете Cloud Shell в первый раз, войдите на портал 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, у вас могут быть открыты два окна консоли. Обязательно введите команды, приведенные в этом разделе, в открытой консоли, а не в той, которая использовалась для интерфейса командной строки.

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

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

    Windows

    cd azure-iot-samples-csharp\iot-hub\Samples\device\PnpDeviceSamples\TemperatureController
    

    ОС Linux или Raspberry Pi

    cd azure-iot-samples-csharp/iot-hub/Samples/device/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.

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

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

Вы можете просматривать данные телеметрии устройств с помощью IoT Explorer. При необходимости можно просмотреть данные телеметрии с помощью Azure CLI.

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

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

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

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

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

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

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

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

  1. На своем устройстве в IoT Explorer в левом меню выберите Компоненты 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 Model B+

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

  • Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
  • Git.
  • Обозреватель Интернета вещей Azure: кроссплатформенная программа на базе графического пользовательского интерфейса для мониторинга Интернета вещей Azure и управления им. Если вы используете Raspberry Pi в качестве платформы разработки, рекомендуется установить обозреватель Интернета вещей на другом компьютере. Если вы не хотите устанавливать обозреватель Интернета вещей, можно использовать Azure CLI для выполнения тех же действий.
  • Azure CLI. В этом кратком руководстве доступны два варианта выполнения команд Azure CLI.
    • Azure Cloud Shell — интерактивная оболочка CLI, которая работает в браузере. Этот вариант предпочтителен, так как не нужно ничего устанавливать. Если вы используете Cloud Shell в первый раз, войдите на портал 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, у вас могут быть открыты два окна консоли. Обязательно введите команды, приведенные в этом разделе, в открытой консоли, а не в той, которая использовалась для интерфейса командной строки.

    ОС 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. Запустите пример кода.

    mvn exec:java -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.

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

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

Вы можете просматривать данные телеметрии устройств с помощью IoT Explorer. При необходимости можно просмотреть данные телеметрии с помощью Azure CLI.

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

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

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

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

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

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

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

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

  1. На своем устройстве в IoT Explorer в левом меню выберите Компоненты 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 Model B+

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

  • Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
  • Git.
  • Node.js версии 12 или более поздней версии. Для проверки версии узла выполните node --version.
  • Обозреватель Интернета вещей Azure: кроссплатформенная программа на базе графического пользовательского интерфейса для мониторинга Интернета вещей Azure и управления им. Если вы используете Raspberry Pi в качестве платформы разработки, рекомендуется установить обозреватель Интернета вещей на другом компьютере. Если вы не хотите устанавливать обозреватель Интернета вещей, можно использовать Azure CLI для выполнения тех же действий.
  • Azure CLI. В этом кратком руководстве доступны два варианта выполнения команд Azure CLI.
    • Azure Cloud Shell — интерактивная оболочка CLI, которая работает в браузере. Этот вариант предпочтителен, так как не нужно ничего устанавливать. Если вы используете Cloud Shell в первый раз, войдите на портал 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, у вас могут быть открыты два окна консоли. Обязательно введите команды, приведенные в этом разделе, в открытой консоли, а не в той, которая использовалась для интерфейса командной строки.

  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.

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

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

Вы можете просматривать данные телеметрии устройств с помощью IoT Explorer. При необходимости можно просмотреть данные телеметрии с помощью Azure CLI.

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

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

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

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

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

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

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

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

  1. На своем устройстве в IoT Explorer в левом меню выберите Компоненты 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
  • Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) версии 10, работающей на raspberry Pi 3 Model B+

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

  • Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
  • Git.
  • Python версии 3.7 или более поздней. Чтобы проверить версию Python, выполните python3 --version.
  • Обозреватель Интернета вещей Azure: кроссплатформенная программа на базе графического пользовательского интерфейса для мониторинга Интернета вещей Azure и управления им. Если вы используете Raspberry Pi в качестве платформы разработки, рекомендуется установить обозреватель Интернета вещей на другом компьютере. Если вы не хотите устанавливать обозреватель Интернета вещей, можно использовать Azure CLI для выполнения тех же действий.
  • Azure CLI. В этом кратком руководстве доступны два варианта выполнения команд Azure CLI.
    • Azure Cloud Shell — интерактивная оболочка CLI, которая работает в браузере. Этот вариант предпочтителен, так как не нужно ничего устанавливать. Если вы используете Cloud Shell в первый раз, войдите на портал 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, у вас могут быть открыты два окна консоли. Обязательно введите команды, приведенные в этом разделе, в открытой консоли, а не в той, которая использовалась для интерфейса командной строки.

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

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

    Windows

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

    ОС Linux или Raspberry Pi

    cd azure-iot-sdk-python/azure-iot-device/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. Запустите код приведенного ниже файла с примером.

    python3 temp_controller_with_thermostats.py
    

    Примечание

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

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

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

Вы можете просматривать данные телеметрии устройств с помощью IoT Explorer. При необходимости можно просмотреть данные телеметрии с помощью Azure CLI.

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

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

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

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

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

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

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

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

  1. На своем устройстве в IoT Explorer в левом меню выберите Компоненты 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: 29
    
    event:
      component: thermostat2
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 48
    

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

Если вам больше не нужны ресурсы 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.