Разработка устройств Интернета вещей Azure

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

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

Пути разработки устройств

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

  • Общая разработка устройств: соответствует современным методикам разработки, предназначению языков более высокого порядка и выполняется в операционной системе общего назначения, например Windows или Linux.

    Примечание.

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

  • Разработка встраиваемых устройств — это разработка устройств с ограниченными ресурсами. Часто используется ограниченное ресурсом устройство для уменьшения затрат на единицу, потребления электроэнергии или размера устройства. Такие устройства напрямую взаимодействуют с аппаратной платформой, на которой они работают.

Общая разработка устройств

Некоторые разработчики адаптируют существующие устройства общего назначения для подключения к облаку и интеграции в свои решения Интернета вещей. Эти устройства могут поддерживать языки более высокого уровня, например C# или Python, и часто работают под управлением надежной операционной системы общего назначения, такой как Windows или Linux. Целевыми устройствами обычно являются компьютеры, контейнеры, Raspberry Pi и мобильные устройства.

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

Внимание

Сведения о пакетах SDK для общего использования для разработки устройств см. в пакетах SDK для устройств.

Разработка встраиваемых устройств

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

Встраиваемые устройства обычно используют операционную систему реального времени (ОСРВ) или работают вообще без операционной системы. Отсутствие операционной системы общего назначения означает, что встраиваемые устройства имеют полный контроль над оборудованием. Благодаря этому они будут хорошим выбором для систем реального времени.

На данный момент все пакеты SDK для встраиваемых устройств предназначены для языка C. Внедренные пакеты SDK предоставляют либо операционную систему, либо поддержку Eclipse ThreadX. Они разработаны с учетом внедренных целевых объектов. При проектировании необходимо стремиться к минимальному объему потребления ресурсов и реализовать модель работы без выделения памяти.

Внимание

Сведения о пакетах SDK, используемых при разработке внедренных устройств, см. в пакетах SDK для внедренных устройств.

выбор оборудования;

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

Дополнительные сведения о различиях между типами устройств, описанными в этой статье, см. в разделе "Типы устройств Интернета вещей".

выбор пакета SDK;

Разработчик устройств Интернета вещей Azure предоставляет разнообразный набор пакетов SDK, протоколов и средств для создания облачных приложений с поддержкой устройств.

Существует два основных варианта подключения устройств и взаимодействия с Центр Интернета вещей:

  • Используйте пакеты SDK Для Интернета вещей Azure. В большинстве случаев рекомендуется использовать пакеты SDK Для Интернета вещей Azure и напрямую использовать MQTT. Пакеты SDK упрощают разработку и упрощают процесс подключения устройств и управления ими. Центр Интернета вещей поддерживает Протокол MQTT версии 3.1.1 и пакеты SDK Интернета вещей упрощают процесс использования MQTT для взаимодействия с Центр Интернета вещей.
  • Используйте протокол MQTT напрямую. Существует ряд преимуществ создания решения Центр Интернета вещей для использования MQTT напрямую. Например, решение, использующее MQTT напрямую без пакетов SDK, можно создать на основе открытого стандарта MQTT. Подход на основе стандартов делает решение более переносимым и обеспечивает более широкий контроль над подключением и взаимодействием устройств. Однако Центр Интернета вещей не является полнофункциональный брокер MQTT и не поддерживает все поведение, указанное в стандарте MQTT версии 3.1.1. Частичная поддержка MQTT версии 3.1.1 добавляет затраты на разработку и сложность. Разработчики устройств должны взвесить компромиссы использования пакетов SDK для устройств Интернета вещей и напрямую использовать MQTT. Дополнительные сведения см. в разделе "Обмен данными с центром Интернета вещей" с помощью протокола MQTT.

Существует три набора пакетов SDK Для Интернета вещей для разработки устройств:

  • Пакеты SDK для устройств (для подключения существующих устройств общего назначения к приложениям Интернета вещей)
  • Внедренные пакеты SDK для устройств (для подключения ограниченных ресурсов к приложениям Интернета вещей)
  • пакеты SDK для служб (для создания решений Интернета вещей Azure, соединяющих устройства с службами).

Дополнительные сведения о выборе устройства или пакета SDK службы Интернета вещей Azure см. в статье о пакетах SDK Для Интернета вещей Azure.

Выбор службы

Ключевым шагом процесса разработки является выбор службы для подключения устройств к нему. Существует два основных варианта службы Интернета вещей Azure для подключения устройств и управления ими: Центр Интернета вещей и IoT Central.

  • Центр Интернета вещей Azure. Используйте Центр Iot для размещения приложений Интернета вещей и подключения устройств. Центр Интернета вещей — это приложение типа "как услуга" (PaaS), которое выступает в качестве центрального центра сообщений для двунаправленного взаимодействия между приложениями Интернета вещей и подключенными устройствами. Центр Интернета вещей может масштабироваться для поддержки миллионов устройств. По сравнению с другими службами Интернета вещей Azure, Центр Интернета вещей предлагает наибольший контроль и настройку над проектом приложения. Он также предлагает наиболее варианты средств разработчика для работы со службой, за счет некоторого увеличения сложности разработки и управления.
  • Azure IoT Central. IoT Central предназначен для упрощения работы с решениями Интернета вещей. Его можно использовать в качестве доказательства концепции для оценки решений Интернета вещей. IoT Central — это приложение "программное обеспечение как услуга" (SaaS), которое предоставляет веб-интерфейс для упрощения задач создания приложений и подключения устройств и управления ими. IoT Central использует Центр Интернета вещей для создания приложений и управления ими, но обеспечивает прозрачность большинства сведений для пользователя.

Инструменты для подключения устройств и управления ими

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

Средство Документация Description
Портал Azure Создание Центра Интернета вещей с помощью портал Azure Веб-портал в браузере для Центра Интернета вещей и устройств, который также работает с другими ресурсами Azure, включая IoT Central.
Azure IoT Explorer Azure IoT Explorer Не удается создать центры Интернета вещей. Подключается к существующему Центру Интернета вещей для управления устройствами. Часто используется вместе с Azure CLI и порталом Azure.
Azure CLI Создание центра Интернета вещей с помощью CLI Интерфейс командной строки для создания приложений Интернета вещей и управления ими.
Azure PowerShell Создание центра Интернета вещей с помощью PowerShell Интерфейс PowerShell для создания приложений Интернета вещей и управления ими.
Azure IoT Tools для VS Code Создание Центра Интернета вещей с помощью Azure IoT Tools для VS Code Расширение VS Code для приложений Центра Интернета вещей.

Примечание.

Помимо ранее перечисленных средств, вы можете программно создавать приложения Интернета вещей и управлять ими с помощью REST API, пакетов SDK Azure или шаблонов Azure Resource Manager. Дополнительные сведения см. в документации по службе Центр Интернета вещей.

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

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

  • IoT Hub SDKs (Пакеты SDK для Центра Интернета вещей)

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