Вопрос: Что такое AWS IoT Core?

AWS IoT Core – это управляемая облачная платформа, которая позволяет подключенным устройствам просто и безопасно взаимодействовать с облачными приложениями и другими устройствами. AWS IoT Core поддерживает работу с миллиардами устройств и триллионами сообщений, позволяя надежно и безопасно обрабатывать и направлять эти сообщения к адресам AWS и другим устройствам. С AWS IoT Core ваши приложения смогут постоянно отслеживать все используемые устройства и взаимодействовать с ними, даже когда они находятся в автономном режиме.

Вопрос: Какие возможности предоставляет AWS IoT Core?

Взаимодействие между устройствами и облаком AWS. AWS IoT Core прежде всего делает возможным безопасное взаимодействие с подключенными устройствами, обеспечивая минимальные задержки и низкую стоимость. Взаимодействовать можно с любым количеством устройств. AWS IoT Core обеспечивает поддержку стандартных протоколов связи (в настоящее время поддерживаются HTTP, MQTT и WebSockets). Безопасность связи обеспечивается с помощью TLS.

Взаимодействие между устройствами и облаком AWS.AWS IoT Core прежде всего делает возможным безопасное взаимодействие с подключенными устройствами, обеспечивая минимальные задержки и низкую стоимость. Взаимодействовать можно с любым количеством устройств. AWS IoT Core обеспечивает поддержку стандартных протоколов связи (в настоящее время поддерживаются HTTP, MQTT и WebSockets). Безопасность связи обеспечивается с помощью TLS.

Обработка данных, отправленных с подключенных устройств. Кроме того, с помощью AWS IoT Core можно непрерывно получать, фильтровать, преобразовывать и перенаправлять потоки данных с подключенных устройств. Можно выполнять действия, основанные на этих данных, и маршрутизировать их для дальнейшей обработки и анализа.

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

Вопрос: Как работает AWS IoT Core?

Подключенные устройства, такие как датчики, приводы, встроенные устройства, интеллектуальные устройства и носимые устройства, устанавливают подключение к AWS IoT Core по протоколам HTTPS, WebSockets или безопасному протоколу MQTT. В AWS IoT Core есть шлюз устройств, который позволяет обеспечить безопасную и экономичную двустороннюю связь между подключенными устройствами и облачными или мобильными приложениями с минимальной задержкой.

Кроме того, AWS IoT Core включает сервис правил, который позволяет осуществлять непрерывную обработку данных, передаваемых с подключенных устройств. Можно настроить правила для фильтрации и преобразования данных. Можно дополнительно настроить правила для перенаправления данных в другие сервисы AWS, такие как DynamoDB, Kinesis, Lambda, SNS, SQS, CloudWatch и Elasticsearch Service со встроенными возможностями интеграции с платформой Kibana, а также в сервисы вне платформы AWS (с помощью Lambda) для дальнейшей обработки, хранения или анализа.

Существует также реестр, в котором можно регистрировать и отслеживать устройства, подключенные к AWS IoT Core или выбранные для возможного подключения в будущем. Тени устройств в AWS IoT Core позволяют облачным и мобильным приложениям запрашивать данные, отправленные с устройств, а также передавать команды на устройства с помощью простого API REST, оставив решение технических вопросов взаимодействия с устройствами сервису AWS IoT Core. Тени устройств ускоряют разработку приложений, предоставляя универсальный интерфейс для работы с устройствами, даже если они используют различные IoT-протоколы связи и безопасности, несовместимые с теми или иными приложениями. Тени устройств помогают ускорить разработку приложений, предоставляя постоянно доступный интерфейс для работы с устройствами, даже если сами подключенные устройства временно недоступны из-за отсутствия соединения, недостаточной пропускной способности, ограниченной вычислительной способности или мощности.

Соединение с AWS IoT Core является безопасным. Сервис требует ото всех своих клиентов (подключенных устройств, серверных приложений, мобильных приложений и пользователей) использовать строгую аутентификацию (сертификаты X.509, данные для доступа AWS IAM или стороннюю аутентификацию с помощью AWS Cognito). Все соединения зашифрованы. AWS IoT Core также предлагает точную настройку авторизации для обеспечения изолированного подключения и безопасного взаимодействия между авторизованными клиентами.

Вопрос: Что представляет собой 2lemetry и как она связана с AWS IoT?

Компания 2lemetry стала частью AWS в 2015 году и внесла фундаментальный вклад в развитие AWS IoT Core, заложив основу для разработки соответствующего сервиса правил и брокера сообщений MQTT.

Вопрос: В каких регионах AWS доступен AWS IoT Core?

В настоящее время AWS IoT Core доступен в следующих регионах AWS.

  • Восток США (Сев. Вирджиния)
  • Восток США (Огайо)
  • Запад США (Орегон)
  • ЕС (Ирландия)
  • ЕС (Франкфурт)
  • ЕС (Лондон)
  • Азия и Тихий океан (Китай)
  • Азия и Тихий океан (Сидней)
  • Азия и Тихий океан (Сеул)
  • Азия и Тихий океан (Токио)
  • Азия и Тихий океан (Сингапур)

При наличии доступа к одному из перечисленных регионов AWS использовать AWS IoT Core можно независимо от местоположения.

Вопрос: Как начать работу с AWS IoT Core?

Воспользуйтесь консолью AWS IoT или обратитесь к разделу Быстрое начало работы «Руководства для разработчиков», чтобы попробовать работу сервиса AWS IoT Core за считаные минуты.

Предлагаем также обратить внимание на стартовые наборы на базе сервисов AWS, предоставляемые нашими партнерами.

Подробнее см. в документации AWS IoT Core.

Вопрос: Какие языки поддерживает консоль AWS IoT?

​Консоль AWS IoT поддерживает английский, упрощенный китайский, французский и японский язык.

Вопрос: Как переключить язык консоли?

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

Вопрос: Как получить доступ к AWS IoT Core?

Для доступа к сервису можно использовать Консоль управления AWS, пакеты SDK AWS, интерфейс командной строки AWS и API AWS IoT Core. Подключенные устройства могут использовать пакеты SDK AWS IoT для устройств, чтобы упростить взаимодействие с сервисом AWS IoT Core.

API и команды AWS IoT Core в целом делятся на два типа: операции управления и операции обработки данных. Операции управления позволяют выполнять такие задачи, как настройка параметров безопасности, регистрация устройств, настройка правил для маршрутизации данных, а также настройка параметров регистрации. Операции обработки данных позволяют принимать данные с подключенных устройств в AWS IoT Core в любом количестве, обеспечивая минимальную задержку и высокую пропускную способность.

Вопрос: Какие протоколы связи и аутентификации поддерживает AWS IoT Core?

Для операций управления AWS IoT Core поддерживает HTTPS. Для операций плоскости данных AWS IoT Core поддерживает HTTPS, WebSockets и защищенный протокол MQTT, часто используемый в различных сценариях IoT.

Запросы HTTPS и WebSockets, отправленные сервису AWS IoT Core, проходят аутентификацию с помощью AWS IAM или AWS Cognito, которые поддерживают аутентификацию AWS SigV4. Если вы используете AWS SDK или командную строку AWS, аутентификация SigV4 используется автоматически. Запросы HTTPS могут быть также аутентифицированы с помощью сертификатов X.509. Сообщения MQTT в AWS IoT Core аутентифицируются с помощью сертификатов X.509.

AWS IoT Core позволяет использовать сертификаты, сформированные самим сервисом AWS IoT Core, а также сертификаты, подписанные выбранным центром сертификации.

Вопрос: Могут ли устройства, НЕ подключенные напрямую к Интернету, получать доступ к AWS IoT Core?

Да, с помощью физического концентратора. Устройства, подключенные к частной IP-сети, и устройства, использующие протоколы радиосвязи без IP, например ZigBee или Bluetooth LE, могут получать доступ к AWS IoT Core, если в качестве посредника между ними и AWS IoT находится физический концентратор, обеспечивающий связь и безопасность.

Вопрос: Как приложениям получить доступ к AWS IoT Core?

Приложения, которые подключаются к AWS IoT Core, можно условно разделить на две категории:  сопутствующие приложения и  серверные приложения. Сопутствующие приложения представляют собой мобильные приложения или приложения браузера на стороне клиента, которые взаимодействуют с подключенными устройствами через облако. Мобильное приложение, которое позволяет пользователю удаленно открыть «умный» замок в своем доме, является примером сопутствующего приложения. Серверные приложения предназначены для одновременного мониторинга и управления большим числом подключенных устройств. В качестве примера серверного приложения можно привести сайт для контроля транспортных средств, на котором на карте отображаются тысячи грузовиков в режиме реального времени.

AWS IoT Core позволяет как сопутствующим, так и серверным приложениям получать доступ к подключенным устройствам с помощью универсальных API RESTful. Приложения также могут использовать шаблон «издатель-подписчик», чтобы напрямую взаимодействовать с подключенными устройствами.

Обычно сопутствующие приложения осуществляют аутентификацию с помощью удостоверений конечных пользователей, которые находятся под управлением либо вашего собственного хранилища удостоверений, либо стороннего поставщика удостоверений, такого как Facebook и Login with Amazon. Для сопутствующих приложений используйте Amazon Cognito, который интегрируется с несколькими поставщиками удостоверений. Удостоверения Cognito могут иметь разрешения для доступа к AWS IoT Core, при этом доступ может быть ограничен только ресурсами, которые к ним относятся. Например, как производитель подключенных стиральных машин вы можете разрешить своим клиентам доступ к информации AWS IoT Core, относящейся только к их собственным стиральным машинам.

Серверные приложения (например, картографическое приложение, работающее в Amazon EC2) могут использовать для доступа к AWS IoT Core роли IAM.

Вопрос: Можно ли получить для своего аккаунта историю вызовов API AWS IoT Core для анализа уровня безопасности и устранения неполадок в работе?

Для получения истории всех вызовов API AWS IoT Core своего аккаунта нужно просто включить сервис CloudTrail в Консоли управления AWS.

Вопрос: Какие новые возможности появились в консоли AWS IoT?

Консоль AWS IoT поддерживает английский, упрощенный китайский и французский язык.

Вопрос: Как переключить язык консоли?

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

Вопрос: Как отправить отзыв?

Чтобы отправить свой отзыв, щелкните по ссылке «Feedback» в нижней панели консоли управления.

Вопрос: Что такое шлюз устройств?

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

Шлюз устройств поддерживает шаблон передачи сообщений «издатель-подписчик», который позволяет обеспечить масштабируемое взаимодействие с минимальной задержкой и низкой стоимостью. Это особенно полезно для тех сценариев IoT, где ожидается регулярное взаимодействие с миллиардом устройств с минимальной задержкой. Шаблон «издатель-подписчик» предусматривает публикацию сообщений клиентами в логических каналах связи, называемых «темами», при этом для получения сообщений клиенты должны подписываться на эти темы. Шлюз устройств обеспечивает взаимодействие между издателями и подписчиками. До сих пор организациям приходилось выделять, эксплуатировать, масштабировать и поддерживать свои собственные серверы в качестве шлюзов устройств, чтобы пользоваться всеми преимуществами шаблона «издатель-подписчик». Сервис устранил этот барьер, создав шлюз устройств AWS IoT Core.

Шлюз устройств автоматически масштабируется в соответствии с текущим использованием, не требуя дополнительных эксплуатационных расходов. AWS IoT Core поддерживает безопасное подключение к шлюзу устройств, изоляцию на уровне аккаунта AWS, а также точно настраиваемую авторизацию в пределах аккаунта AWS. Шлюз устройств в настоящее время поддерживает публикацию и подписку по защищенному протоколу MQTT и протоколу WebSockets, а также публикацию по протоколу HTTPS.  

Вопрос: Что такое MQTT?

MQTT – это упрощенный протокол для шаблона «издатель-подписчик», разработанный с целью минимизации требований к пропускной способности сети и ресурсам устройства. MQTT также поддерживает безопасное соединение с использованием TLS. MQTT часто используется в разных примерах использования IoT. MQTT v3.1.1 соответствует стандарту OASIS, при этом шлюз устройств поддерживает большинство спецификаций MQTT.

Вопрос: Что такое сервис правил?

Сервис правил обеспечивает непрерывную обработку входящих данных с устройств, подключенных к сервису AWS IoT Core. Настроить в сервисе правила для автоматической фильтрации и преобразования входящих данных можно с помощью интуитивно понятного синтаксиса, напоминающего синтаксис SQL. Дополнительно можно настроить правила для перенаправления данных из сервиса AWS IoT Core в несколько других сервисов AWS, а также в собственные или сторонние сервисы.

Ниже показаны несколько примеров использования правил.

  • Фильтрация и преобразование входящих сообщений и хранение их в качестве данных временных рядов в DynamoDB.
  • Отправка push-уведомлений с помощью SNS, когда показания датчика превышают определенный порог.
  • Сохранение файла встроенного ПО в S3.
  • Одновременная обработка сообщений из множества устройств с помощью Kinesis.
  • Вызов Lambda для настраиваемой обработки входных данных.
  • Отправка команды группе устройств с автоматической повторной публикацией.

Вопрос: Как определяются и срабатывают правила?

Правило AWS IoT Core состоит из двух основных частей.

SQL-выражение, определяющее темы шаблона «издатель-подписчик», к которым применимо данное правило, преобразование данных, которое следует выполнять, и условие выполнения правила. Это правило применяется для каждого сообщения, опубликованного в указанных темах.

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

Определения правил используют схему на базе JSON. Можно напрямую редактировать файлы JSON или использовать редактор правил в Консоли управления AWS.

В качестве примера приведено правило для сохранения температурных показаний датчика в DynamoDB, когда температура превышает 50 градусов.

{

    "sql": "SELECT * from 'iot/tempSensors/#' WHERE temp > 50",

    "description": "Правило для сохранения показаний датчика, когда температура превышает 50 градусов",

    "actions": [

     {

            "dynamoDB": {

            "tableName": "HighTempTable",

            "roleArn": "arn:aws:iam::your-aws-account-id:role/dynamoPut",

            "hashKeyField": "key",

            "hashKeyValue": "–{topic(3)}",

            "rangeKeyField": "timestamp",

            "rangeKeyValue": "–{timestamp()}"

            }

        }

    ]

}

Датчики в данном примере публикуют свои темы в каталоге «iot/tempSensors/». В первой строке этого правила определяется выражение SQL SELECT, используемое для запроса темы «iot/tempSensors/#». Оно содержит оператор WHERE, который извлекает значение поля temp в полезной нагрузке сообщения, и проверяет, если выполняется условие «больше, чем 50». Если условие выполняется, то данные сохраняются в указанной таблице DynamoDB. В примере используются встроенные функции для таких задач, как обработка полезной нагрузки сообщения и получение текущего времени.

Вопрос: Где найти подробные сведения о правилах?

Подробные сведения о правилах можно получить в документации к правилам

Вопрос: Что такое реестр и для чего его рекомендуется использовать?

Сценарии IoT могут варьироваться от небольшого числа критически важных устройств и до больших групп устройств. Реестр позволяет упорядочивать и отслеживать эти устройства. В реестре можно поддерживать логический идентификатор для каждого устройства, подключаемого к AWS IoT Core. Каждое устройство в реестре может быть однозначно определено и описано с помощью метаданных, например номера модели, контактной информации для поддержки, а также сертификатов, связанных с этим устройством. Поиск подключенных устройств в реестре можно выполнять на основании этих метаданных.

Вопрос: Что такое тип вещи?

Тип вещи позволяет эффективно управлять каталогом устройств путем определения общих характеристик устройств, относящихся к одной и той же категории. Кроме того, у «вещи», связанной с определенным типом вещей, теперь может быть до 50 атрибутов, по трем из которых можно вести поиск.

Вопрос: Что такое упрощенное управление разрешениями?

Данная функция позволяет проще управлять политиками разрешений на большом количестве устройств при помощи переменных показателей реестра и сертификата X.509. Интеграция переменных реестра и сертификата с политиками устройств дарит следующие преимущества:

  • Свойства из реестра теперь можно указывать в политиках разрешений. Ссылка на свойства устройства из реестра позволяет политикам фиксировать изменения, внесенные в реестр. Например, указание атрибута вещи «building-address» как переменной в политике позволяет устройствам автоматически наследовать новый набор разрешений, когда они покидают указанное здание.
  • Одну общую политику можно использовать для разных устройств. Вместо того чтобы создавать по отдельной политике для каждого устройства, можно применить одну общую политику для всех устройств в одной категории. Например, если политика указывает атрибут «serial-number» как переменную, ее можно применить ко всем устройствам этой модели. При подключении устройств с одним и тем же серийным номером переменные политик автоматически заменятся данным серийным номером.

Вопрос: Что такое тени устройств?

Тени устройств позволяют облачным и мобильным приложениям легко взаимодействовать с подключенными устройствами, зарегистрированными в AWS IoT Core. Тень устройства в AWS IoT Core содержит свойства подключенного устройства. Вы можете определить любой набор свойств, относящихся к вашему примеру использования. Например, для «умной» лампочки вы можете определить следующие свойства: «включена или выключена», «цвет» и «яркость». Ожидается, что подключенное устройство будет сообщать о фактических значениях этих свойств, которые будут сохраняться в тени устройства. Приложения получают и обновляют эти свойства, просто используя API RESTful, предоставляемый сервисом AWS IoT Core. Синхронизацию значений свойств между подключенным устройством и его тенью обеспечивает сервис AWS IoT Core и SDK для устройств AWS IoT Core.

Вопрос: Обязательно ли использовать реестр и тени устройств?

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

Вопрос: Каков жизненный цикл устройства и его тени в AWS IoT Core?

  • Вы регистрируете устройство (например, лампу освещения) в реестре.
  • Затем вы программируете подключенное устройство для публикации набора значений своих свойств или состояний («Включена, цвет красный») в сервисе AWS IoT Core.
  • Информация о последнем состоянии хранится в тени данного устройства в AWS IoT Core.
  • Приложение (например мобильное приложение, управляющее лампой) использует API RESTful для запроса в AWS IoT Core последнего переданного состояния лампы без каких-либо сложностей, связанных с осуществлением прямой связи с лампой.
  • Когда пользователь хочет изменить состояние (например, перевести лампу из состояния «включена» в состояние «выключена»), приложение использует API RESTful для запроса обновления, т. е. устанавливает требуемое состояние устройства в AWS IoT Core. AWS IoT Core осуществляет синхронизацию требуемого состояния с устройством.
  • Когда подключенное устройство обновляет свое состояние до требуемого состояния, приложение получает уведомление.

Вопрос: Где можно получить дополнительные сведения о реестре и тенях устройств?

Подробную информацию о реестре см. в документации по реестру. Подробную информацию о тенях устройств см. в документации по теням устройств.

Вопрос: Можно ли настроить точную авторизацию в AWS IoT Core?

Да. Как и в других сервисах AWS, в AWS IoT Core администратор имеет полный контроль над набором действий API, которые разрешено выполнять каждому удостоверению. Кроме того, предоставляется полный контроль над темами шаблона «издатель-подписчик», которые удостоверение может публиковать или на которые может подписываться, а также контроль над устройствами и тенями устройств в реестре, к которым удостоверение может получать доступ.

Вопрос: Где можно получить дополнительные сведения о безопасности и контроле доступа в AWS IoT Core?

Дополнительные сведения см. в разделе Безопасность и идентификация в AWS IoT Core.

Вопрос: Что такое своевременная регистрация сертификатов?

Своевременная регистрация сертификатов устройств (JITR) дополняет возможность использования собственного сертификата, которая была реализована в апреле 2016 года с целью упростить процедуру регистрации устройств в AWS IoT Core. До появления поддержки JITR процесс регистрации устройства включал в себя два шага: во-первых, регистрацию сертификата центра сертификации (CA) в AWS IoT Core, а затем отдельную регистрацию сертификатов устройств, подписанных CA. Теперь при использовании JITR второй шаг можно выполнить путем автоматической регистрации сертификатов устройств при первом их подключении к AWS IoT Core. Это экономит время, затрачиваемое на регистрацию сертификатов устройств, и позволяет устройствам оставаться в автономном режиме в ходе производственного процесса. Для дальнейшей автоматизации процесса выделения устройства IoT можно создать правило AWS IoT Core с действием Lambda, которое будет активировать нужные сертификаты и назначать политики. Дополнительную информацию см. в блоге Internet of Things на AWS или в документации для разработчиков.

Вопрос: Что такое SDK AWS IoT для устройств?

SDK AWS IoT для устройств упрощает и ускоряет разработку кода, работающего на подключенных устройствах (микроконтроллерах, датчиках, приводах, «умных» устройствах, носимых устройствах и т. д.). Во-первых, с помощью SDK для устройств можно оптимизировать для устройства потребление памяти, мощности и пропускной способности сети. В то же время SDK для устройств обеспечивает безопасное, обладающее низкой задержкой и низкой стоимостью соединение со встроенной поддержкой протоколов TLS, WebSockets и MQTT. SDK для устройств также ускоряет разработку приложений IoT, поддерживая абстракции более высокого уровня, например синхронизацию состояния устройства с его тенью в сервисе AWS IoT Core.

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

Вопрос: Какие языки программирования и аппаратные платформы поддерживает SDK AWS IoT для устройств?

В настоящее время AWS предлагает SDK AWS IoT для устройств для языков C и Node.js, а также для платформы Arduino Yún.

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

Наконец, SDK AWS IoT для устройств предоставляется с открытым исходным кодом. Вы можете перенести их на любые языки и нужные вам аппаратные платформы, если таковые еще не поддерживаются. 

Вопрос: Что рекомендуется использовать, SDK AWS IoT для устройств или AWS SDK?

SDK AWS IoT для устройств дополняет AWS SDK. Проекты IoT часто используют код, работающий на микроконтроллерах и других устройствах с ограниченными ресурсами. Однако проекты IoT часто содержат приложение, работающее в облаке и на мобильных устройствах, которое взаимодействует с микроконтроллерами/устройствами с ограниченными ресурсами. SDK AWS IoT для устройств предназначен для использования с микроконтроллерами/устройствами с ограниченными ресурсами, в то время как AWS SDK предназначен для облака и мобильных приложений.

Дополнительные сведения об SDK AWS для устройств см. в разделе SDK AWS IoT для устройств.

Вопрос: Доступен ли сервис AWS IoT Core на уровне бесплатного пользования AWS?

Да. Уровень бесплатного пользования AWS IoT Core предусматривает 250 000 сообщений в месяц бесплатно в течение первых 12 месяцев.

Вопрос: Какова стоимость использования сервиса AWS IoT?

Подробнее о стоимости сервиса см. на странице цен.

Дополнительные ресурсы по AWS IoT Core

Перейти на страницу ресурсов
Готовы начать работу?
Регистрация
Есть вопросы?
Свяжитесь с нами