AWS IoT — не удается найти C SDK для настройки устройства

Когда я щелкаю опцию Onboard в консоли AWS IoT, я вижу возможность зарегистрировать вещь. При нажатии на нее, а затем на кнопку «Начало работы» отображается страница выбора SDK для регистрации. Первый шаг — выбрать ОС, а затем язык. На данный момент я не вижу опции для выбора C или C ++ SDK!

Страница для AWS IoT SDK показывает C / C ++ SDK. Но страница для SDK устройства IoT AWS не показывает C ++ SDK.

  1. Итак, что же это за разные AWS SDK? Насколько они разные?
  2. Каковы различия между AWS IoT SDK и Затмение Пахо клиент для подключения к брокеру MQTT?
  3. Какие изменения могут понадобиться клиенту Eclipse Paho для подключения к конечной точке AWS IoT MQTT?

Моя цель — создать клиент MQTT на C / C ++ для устройства с ОС RTOS. Я бы зарегистрировал его «снаружи» устройства.

0

Решение

1. Различные SDK

В AWS IOT есть две основные категории AWS SDK.

  • У вас есть SDK для устройств, которые вы обычно запускаете на устройстве
  • У вас есть AWS SDK, которые вы обычно запускаете в облаке

Оба приходят на разных языках. SDK устройств обычно используют сертификаты MQTT и x509 для аутентификации в AWS IOT, но вы также можете обмениваться данными через https. Обзор поддерживаемых протоколов для клиентов iot можно найти здесь. Имейте в виду, что устройства обычно имеют тенденцию использовать двунаправленную долгосрочную связь с использованием MQTT (публикация / подписка). Протокол http можно использовать только для отправки сообщений с устройства на AWS IOT.

Если вы используете систему на основе C, у вас есть 2 варианта:

Они используют стандартную связь MQTT.

2. Разница между AWS IoT SDK и Eclipse Paho

Оба будут использовать сертификаты MQTT / x509 и MQTT_SSL_VERSION_TLS_1_2.
Теоретически оба должны работать с Aws IOT, и я видел рабочие образцы MQTT-клиента Eclispe Paho в C ++, работающего с Aws IOT.

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

Кроме того, есть некоторая ценность — быть независимым от облаков и использовать стандартные протоколы / библиотеки, такие как MQTT / Paho, чтобы избежать (aws) блокировки поставщика.

3. Paho клиент и AWS IOT

AWS IoT требуется TLS V1.2, поэтому ваш клиент Paho должен это поддерживать. Я верю этому должно быть возможно сейчас с Paho cpp.

1

Другие решения

Других решений пока нет …