Архитектура Azure IoT Central
IoT Central — это готовая среда, которая позволяет быстро оценить сценарий Интернета вещей. Это платформа приложений как услуга (aPaaS) IoT, а его основной интерфейс — это веб-пользовательский интерфейс. Существует также REST API , который позволяет программно взаимодействовать с приложением.
В этой статье представлен обзор ключевых элементов архитектуры решения IoT Central.
К ключевым возможностям приложения IoT Central относятся:
Управление устройствами
IoT Central позволяет управлять парком устройств Интернета вещей, отправляющих данные в решение. Например, доступны следующие возможности:
- Управление тем, какие устройства могут подключаться к приложению и как они проходят проверку подлинности.
- Используйте шаблоны устройств для определения типов устройств, которые могут подключаться к приложению.
- Управление устройствами путем задания свойств или вызовов команд на подключенных устройствах. Например, задайте целевое свойство температуры для устройства термостата или вызовите команду, чтобы активировать устройство для обновления встроенного ПО. Вы можете задать свойства и команды вызова:
- Отдельные устройства с помощью настраиваемого веб-интерфейса.
- Несколько устройств с запланированными заданиями или заданиями по запросу.
- Обслуживание метаданных устройства, таких как адрес клиента или дата последней службы.
Просмотр и анализ данных
В приложении IoT Central можно просматривать и анализировать данные для отдельных устройств или агрегированных данных с нескольких устройств:
- Используйте сопоставление для преобразования сложной телеметрии устройства в структурированные данные в IoT Central.
- Используйте шаблоны устройств для определения пользовательских представлений для отдельных устройств определенных типов. Например, вы можете построить температуру с течением времени для отдельного термостата или показать динамическое расположение грузовика доставки.
- Используйте встроенную аналитику для просмотра статистических данных для нескольких устройств. Например, можно увидеть общую занятость в нескольких розничных магазинах или определить магазины с самым высоким или низким уровнем занятости.
- Создание пользовательских панелей мониторинга для управления устройствами. Например, можно добавить карты, плитки и диаграммы для отображения телеметрии устройства.
Защитите свое решение
В IoT Central можно настроить безопасность и управлять ими в следующих областях:
- Доступ пользователей к приложению.
- Доступ устройства к приложению.
- Программный доступ к приложению.
- Проверка подлинности в других службах из приложения.
- Журналы аудита отслеживают действия в приложении.
Дополнительные сведения см. в руководстве по безопасности IoT Central.
.
Устройства собирают данные от датчиков для отправки в виде потока телеметрии в приложение IoT Central. Например, единица охлаждения отправляет поток значений температуры или грузоперевозчик передает его расположение.
Устройство может использовать свойства для отчета о состоянии, например, открыто или закрыто. Приложение IoT Central также может использовать свойства для задания состояния устройства, например настройки целевой температуры для термостата.
IoT Central также может управлять устройствами, вызывая команды на устройстве. Например, указание устройству скачать и установить обновление встроенного ПО.
Данные телеметрии, свойства и команды, реализуемые устройством, называются возможностями устройства. Эти возможности определяются в модели, к которым совместно используются устройства и приложения IoT Central. В IoT Central эта модель является частью шаблона устройства, определяющего определенный тип устройства. Дополнительные сведения см. в статье "Назначение устройства шаблону устройства".
Реализация устройства должна соответствовать соглашениям самонастраивающийся Интернета вещей, чтобы обеспечить взаимодействие с IoT Central. Дополнительные сведения см. в различных языковых пакетах SDK и примерах.
Устройства подключаются к IoT Central с помощью одного из поддерживаемых протоколов: MQTT, AMQP или HTTP.
Шлюзы
Локальные устройства шлюза полезны в нескольких сценариях, таких как:
- Устройства не могут подключаться напрямую к IoT Central, так как они не могут подключаться к Интернету. Например, у вас может быть коллекция датчиков с поддержкой Bluetooth, которые должны подключаться через устройство шлюза.
- Количество данных, созданных вашими устройствами, является высоким. Чтобы сократить затраты, объединить или объединить данные в локальном шлюзе перед отправкой в приложение IoT Central.
- Для решения требуются быстрые ответы на аномалии в данных. Вы можете запускать правила на устройстве шлюза, который определяет аномалии и выполняет действия локально без необходимости отправлять данные в приложение IoT Central.
Устройства шлюза обычно требуют больше мощности обработки, чем автономное устройство. Одним из вариантов реализации устройства шлюза является использование Azure IoT Edge и применение одного из стандартных шаблонов шлюза IoT Edge. Вы также можете запустить собственный пользовательский код шлюза на подходящем устройстве.
Экспорт данных
Хотя IoT Central имеет встроенные функции аналитики, вы можете экспортировать данные в другие службы и приложения.
Преобразования в определении экспорта данных IoT Central позволяют управлять форматом и структурой данных устройства перед экспортом в место назначения.
Ниже перечислены причины экспорта данных:
Хранение и анализ
Для долгосрочного хранения и контроля над политиками архивации и хранения можно непрерывно экспортировать данные в другие места хранения. Использование отдельной службы хранилища за пределами IoT Central позволяет использовать другие средства аналитики для получения аналитических сведений от данных в решении.
Автоматизация бизнес-процессов
Правила в IoT Central позволяют активировать внешние действия, такие как отправка сообщения электронной почты или событие в ответ на условия в IoT Central. Например, можно уведомить инженера, если температура окружающей среды для устройства достигает порогового значения.
Дополнительные вычисления
Возможно, потребуется преобразовать или выполнить вычисления данных, прежде чем его можно будет использовать в IoT Central или другой службе. Например, можно добавить локальную информацию о погоде в данные о расположении, сообщаемые грузовиком доставки.
Расширение с помощью REST API
Создавайте интеграции, позволяющие другим приложениям и службам управлять приложением. Например, программное управление устройствами в приложении или синхронизация сведений о пользователе с внешней системой.
Масштабируемость
Приложения IoT Central используют несколько служб Azure, таких как Центр Интернета вещей и служба подготовки устройств (DPS). Многие из этих базовых служб являются мультитенантными. Однако для обеспечения полной изоляции данных клиента IoT Central использует центры Интернета вещей с одним клиентом.
IoT Central автоматически масштабирует свои центры Интернета вещей на основе профилей нагрузки в приложении. IoT Central может масштабировать отдельные центры Интернета вещей и масштабировать число центров Интернета вещей в приложении. IoT Central также автоматически масштабирует другие базовые службы.
Экспорт данных
Приложения IoT Central часто используют другие пользовательские службы. Например, можно настроить приложение IoT Central для непрерывного экспорта данных в службы, такие как Центры событий Azure и Хранилище BLOB-объектов Azure.
Если настроенный экспорт данных не может записывать данные в место назначения, IoT Central пытается повторно передавать данные в течение 15 минут, после чего IoT Central помечает назначение как неудавшееся. Неудавшись назначения периодически проверяются, чтобы убедиться, что они доступны для записи.
Вы можете принудительно перезапустить неудачный экспорт IoT Central, отключив и повторно включите экспорт данных.
Ознакомьтесь с рекомендациями по обеспечению высокого уровня доступности и масштабируемости для используемой службы экспорта данных:
- Хранилище BLOB-объектов Azure: контрольный список служба хранилища Azure избыточности и производительности и масштабируемости для хранилища BLOB-объектов
- Центры событий Azure: Доступность и согласованность в центрах событий и масштабировании с помощью Центров событий
- Служебная шина Azure: Рекомендации по изоляции приложений от служебная шина сбоев и аварий и автоматического обновления единиц обмена сообщениями в пространстве имен Служебная шина Azure
Высокий уровень доступности и аварийное восстановление
Возможности HADR зависят от того, когда вы создали приложение IoT Central:
Приложения, созданные до апреля 2021 г.
Некоторые приложения, созданные до апреля 2021 г., используют единый центр Интернета вещей. Для этих приложений IoT Central не предоставляет возможности HADR. Если Центр Интернета вещей становится недоступным, приложение становится недоступным.
az iot central device manual-failover
Используйте команду, чтобы проверить, использует ли приложение единый центр Интернета вещей. Эта команда возвращает ошибку, если у приложения есть один Центр Интернета вещей.
Приложения, созданные после апреля 2021 г. и до апреля 2023 г.
Для высокодоступного подключения к устройству приложение IoT Central всегда имеет по крайней мере два центра Интернета вещей. Число центров может увеличиваться или уменьшаться, так как IoT Central масштабирует приложение в ответ на изменения в профиле загрузки.
IoT Central также использует зоны доступности для обеспечения высокой доступности различных служб.
Инцидент, требующий аварийного восстановления, может варьироваться от подмножества служб, которые становятся недоступными для всего региона, становится недоступным. IoT Central следует различным процессам восстановления в зависимости от характера и масштаба инцидента. Например, если весь регион Azure становится недоступным в результате катастрофического сбоя, процедуры аварийного восстановления отработки отказа приложений в другой регион в том же географическом регионе.
Приложения, созданные после апреля 2023 г.
Приложения IoT Central, созданные после апреля 2023 года, изначально имеют единый центр Интернета вещей. Если Центр Интернета вещей становится недоступным, приложение становится недоступным. Однако IoT Central автоматически масштабирует приложение и добавляет новый центр Интернета вещей для каждого 10 000 подключенных устройств. Если требуется несколько центров Интернета вещей для приложений с менее чем 10 000 устройств, отправьте запрос в службу поддержки клиентов IoT Central.
az iot central device manual-failover
Используйте команду, чтобы проверить, использует ли приложение один центр Интернета вещей. Эта команда возвращает ошибку, если в настоящее время приложение имеет один Центр Интернета вещей.