Краткое руководство. Отправка данных телеметрии в центр Интернета вещей с устройства Android

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

Предварительные требования

  • Используйте среду Bash в Azure Cloud Shell.

    Запуск Cloud Shell в новом окне

  • При необходимости установите Azure CLI, чтобы выполнять справочные команды CLI.

    • Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о дополнительных возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.

    • Если появится запрос, установите расширения Azure CLI при первом использовании. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.

    • Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.

Примечание

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

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

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

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

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

В этом разделе описывается создание центра Интернета вещей с помощью портала Azure.

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

  2. На начальной странице портала Azure нажмите кнопку +Создать ресурс и введите текст Центр Интернета вещей в поле поиска в Marketplace.

  3. В результатах поиска выберите Центр Интернета вещей и щелкните Создать.

  4. Заполните следующие поля на вкладке Основные сведения.

    • Подписка: Выберите нужную подписку для концентратора.

    • Группа ресурсов. Выберите группу ресурсов или создайте новую. Чтобы создать новую, щелкните Создать и введите нужное имя. Чтобы выбрать существующую группу ресурсов, щелкните ее. Дополнительные сведения о группах ресурсов см. в статье об управлении группами ресурсов в Azure Resource Manager.

    • Регион. Выберите регион, в котором будет расположен концентратор. Выберите ближайшее к вам расположение. Некоторые функции, такие как потоки устройств Центра Интернета вещей, доступны только в определенных регионах. Для функций с такими ограничениями необходимо выбрать один из поддерживаемых регионов.

    • Имя Центра Интернета вещей. Введите имя для концентратора. Оно должно быть глобально уникальным.

    Важно!

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

    Создание центра на портале Azure.

  5. По завершении выберите Next: Networking (Далее: сеть), чтобы продолжить создание центра.

    Выберите, какие конечные точки могут подключаться к Центру Интернета вещей. Можете выбрать параметр по умолчанию Общедоступная конечная точка (все сети) либо выбрать Общедоступная конечная точка (выбранные диапазоны IP-адресов) или Частная конечная точка. Для нашего примера примите параметр по умолчанию.

    Выбор конечных точек для подключения.

  6. По завершении выберите Next: Management (Далее: управление), чтобы продолжить создание центра.

    Настройка параметров размера и масштаба для нового центра на портале Azure.

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

    • Ценовая категория и категория масштабирования. Выбранный уровень решения. В зависимости от количества необходимых компонентов и ежедневно отправляемых сообщений с помощью решения, можно выбрать несколько уровней. Для тестирования и оценки можно использовать уровень "Бесплатный". Он позволяет подключить к концентратору 500 устройств и отправлять до 8000 сообщений в день. Для каждой подписки Azure можно создать один центр Интернета вещей на уровне "Бесплатный".

      Если вы используете функцию "Быстрое начало" для потоков устройств Центра Интернета вещей, выберите уровень "Бесплатный".

    • Единицы центра Интернета вещей. Допустимое число сообщений за единицу в сутки зависит от ценовой категории концентратора. Например, если концентратор должен поддерживать 700 000 входящих сообщений, следует выбрать две единицы уровня S1. Дополнительные сведения о других параметрах уровня см. в статье Масштабирование решения для Центра Интернета вещей.

    • Defender для Интернета вещей. Включите это решение, чтобы обеспечить дополнительный уровень защиты от угроз для ваших устройств и устройств Интернета вещей. Этот параметр недоступен для концентраторов на уровне "Бесплатный". Дополнительные сведения см. в документации по Центру безопасности Azure для Интернета вещей.

    • Дополнительные параметры Settings > С устройства в облако: Это свойство привязывает сообщения, отправляемые с устройства в облако, к числу одновременно работающих модулей чтения этих сообщений. Для большинства концентраторов достаточно четырех разделов.

  7. По завершении выберите Next: Теги, чтобы перейти к следующему экрану.

    Теги — это пары "имя — значение". Один и тот же тег можно присвоить нескольким ресурсам и группам ресурсов для их классификации и объединения счетов. Дополнительные сведения см. в статье Использование тегов для организации ресурсов в Azure.

    Назначение тегов для центра с помощью портала Azure.

  8. По завершении выберите Next: Просмотр и создание, чтобы просмотреть выбранные параметры. Отобразится примерно следующий экран только со значениями, которые вы задали при создании центра.

    Просмотр сведений при создании центра.

  9. Щелкните Создать, чтобы создать концентратор. Создание центра занимает несколько минут.

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

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

  1. Выполните приведенные ниже команды в Azure Cloud Shell, чтобы создать удостоверение устройства.

    YourIoTHubName. Замените этот заполнитель именем вашего центра Интернета вещей.

    MyAndroidDevice. Это имя регистрируемого устройства. Рекомендуется использовать MyAndroidDevice, как показано ниже. Если вы выбрали другое имя для устройства, используйте его при работе с этим руководством и обновите имя устройства в примерах приложений перед их запуском.

    az iot hub device-identity create --hub-name {YourIoTHubName} --device-id MyAndroidDevice
    
  2. Выполните следующую команду в Azure Cloud Shell, чтобы получить строку подключения зарегистрированного устройства:

    YourIoTHubName. Замените этот заполнитель именем вашего центра Интернета вещей.

    az iot hub device-identity connection-string show --hub-name {YourIoTHubName} --device-id MyAndroidDevice --output table
    

    Запишите строку подключения устройства, которая выглядит так:

    HostName={YourIoTHubName}.azure-devices.net;DeviceId=MyAndroidDevice;SharedAccessKey={YourSharedAccessKey}

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

Отправка имитированной телеметрии

  1. В Android Studio откройте пример проекта Android, полученный из GitHub. Проект находится в указанном ниже каталоге копии клонированного или скачанного репозитория azure-iot-sample-java: \azure-iot-samples-java\iot-hub\Samples\device\AndroidSample.

  2. В Android Studio откройте gradle.properties для примера проекта и замените заполнитель Device_Connection_String строкой подключения устройства, которую вы записали ранее.

    DeviceConnectionString=HostName={YourIoTHubName}.azure-devices.net;DeviceId=MyAndroidDevice;SharedAccessKey={YourSharedAccessKey}
    
  3. В Android Studio последовательно выберите File (Файл) > Sync Project with Gradle Files (Синхронизировать проект с файлами Gradle) . Проверьте, завершена ли сборка.

    Примечание

    Возможные причины сбоя синхронизации проекта:

    • Версии плагина Android Gradle и Gradle, указанные в проекте, устарели для вашей версии Android Studio. Выполните эти инструкции, чтобы установить надлежащие версии плагина и Gradle, а также добавить на них ссылки.
    • Лицензионное соглашение для пакета SDK для Android не подписано. Следуйте инструкциям в выходных данных сборки, чтобы подписать лицензионное соглашение и скачать пакет SDK.
  4. По завершении сборки щелкните Run (Запуск) > Run "app" (Запустить "app") . Настройте приложение для запуска на физическом устройстве Android или в эмуляторе Android. Дополнительные сведения о запуске приложения Android на физическом устройстве или в эмуляторе см. в этой статье.

  5. После загрузки приложения нажмите кнопку Start (Начать), чтобы начать отправку данных телеметрии в Центр Интернета вещей:

    Приложение

Чтение данных телеметрии из концентратора

В этом разделе объясняется, как использовать Azure Cloud Shell с расширением Интернета вещей для мониторинга сообщений, отправляемых устройством Android.

  1. С помощью Azure Cloud Shell выполните следующую команду для установки подключения к центру Интернета вещей и чтения поступающих из него сообщений:

    YourIoTHubName. Замените этот заполнитель именем вашего центра Интернета вещей.

    az iot hub monitor-events --hub-name {YourIoTHubName} --output table
    

    На следующем снимке экрана показан пример выходных данных, когда центр Интернета вещей получает данные телеметрии, отправленные устройством Android:

    Чтение сообщений устройства с помощью Azure CLI

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

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

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

Важно!

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

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

  1. Войдите в портал Azure и выберите Группы ресурсов.

  2. В текстовое поле Фильтровать по имени введите имя группы ресурсов, содержащей Центр Интернета вещей.

  3. Справа от своей группы ресурсов в списке результатов щелкните ..., а затем выберите Удалить группу ресурсов.

    DELETE

  4. Подтвердите операцию удаления группы ресурсов. Снова введите имя группы ресурсов, которую необходимо удалить, и щелкните Удалить. Через некоторое время группа ресурсов и все ее ресурсы будут удалены.

Дальнейшие действия

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

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