FreeRTOS

Вопрос. Что представляет собой FreeRTOS?

FreeRTOS – это операционная система реального времени с открытым исходным кодом для микроконтроллеров. Она упрощает программирование, развертывание, обеспечение безопасности, подключение и управление при работе с небольшими периферийными устройствами с малым энергопотреблением. FreeRTOS распространяется бесплатно на условиях лицензии MIT для продуктов с открытым исходным кодом. В состав операционной системы входят ядро и постоянно пополняемый набор библиотек программного обеспечения, которые можно использовать в различных секторах промышленности и областях применения. В связи с ростом количества вариантов использования этой ОС, AWS предоставляет библиотеки программного обеспечения с расширенными возможностями, в том числе с функциями связи, обеспечения безопасности и беспроводных обновлений. Например, FreeRTOS можно использовать для безопасного подключения небольших устройств с малым энергопотреблением к сервисам AWS Cloud (AWS IoT Core или другим) либо к более мощным периферийным устройствам, работающим под управлением AWS IoT Greengrass.

Вопрос. Как связаны Amazon FreeRTOS и FreeRTOS?

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

Вопрос. В каком регионе AWS доступна операционная система FreeRTOS?

Полный список регионов, в которых доступна операционная система FreeRTOS, см. в таблице регионов AWS. Вы можете загрузить код FreeRTOS с веб-сайта GitHub независимо от того, в каком географическом расположении вы находитесь и какой регион AWS доступен вам.

Вопрос. Приведите несколько примеров использования FreeRTOS.

FreeRTOS можно применять во встраиваемых системах в промышленности, для коммерческих целей и для потребительских продуктов. Например, FreeRTOS можно использовать в интеллектуальных приборах учета, датчиках нефтяных насосов, бытовых устройствах, коммерческих системах безопасности, фитнес-трекерах и сетях датчиков. Интеллектуальные приборы учета используются в домах для мониторинга потребления электроэнергии в режиме реального времени. Фитнес-трекеры отправляют данные о состоянии через мобильное устройство пользователя в облако для мониторинга или аналитики в реальном времени. Получение таких данных является преимуществом для обслуживающих компаний, поскольку позволяет обеспечить более эффективную балансировку нагрузки и регулировку выходной мощности своих генерирующих станций. Датчики нефтяных насосов используются на нефтяных платформах для мониторинга дебита скважин, которые могут быть расположены глубоко под водой. На нефтяной платформе можно выполнить развертывание FreeRTOS на таких датчиках и использовать AWS IoT Greengrass Core для локальной обработки данных, получаемых от насосов и клапанов, в режиме реального времени. Затем AWS IoT Greengrass Core может отправлять пакеты предварительно обработанных данных датчиков насосов в облако для хранения и подробного анализа. Подробные сведения о сервисе AWS IoT Greengrass см. по ссылке.

Вопрос. Как разработчику микроконтроллеров получить доступ к FreeRTOS?

Разработчики FreeRTOS могут загрузить программное обеспечение FreeRTOS для микроконтроллеров в консоли FreeRTOS или с сайтов GitHub и FreeRTOS.org.

Вопрос. Кому рекомендуется использовать FreeRTOS?

Производители полупроводниковых устройств выпускают различные микроконтроллеры и модули, например датчики подключения, периферийные устройства безопасности и контроллеры Ethernet. Эти микроконтроллеры и модули используются OEM-производителями для создания устройств IoT.

К OEM-производителям относятся промышленные компании, коммерческие предприятия и потребительские бренды. Разработчики микроконтроллеров могут использовать FreeRTOS, чтобы упростить проектирование и разработку подключенных устройств и приложений Интернета вещей.

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

Вопрос. Каковы основные компоненты программного обеспечения FreeRTOS?

FreeRTOS включает ядро FreeRTOS (ядро операционной системы реального времени для микроконтроллеров) и библиотеки, поддерживающие возможности связи, обеспечения безопасности и беспроводных обновлений. В стек для подключения к облаку и локальным сетям входят протоколы MQTT, HTTP, TCP/IP, Wi‑Fi и Bluetooth Low Energy. Библиотеки безопасности включают в себя стандартный интерфейс сокетов Berkeley для протокола TLS и стандартный интерфейс PKCS #11 для отправки криптографических данных.

  • Ядро FreeRTOS: ядро операционной системы в режиме реального времени, предоставляемое на условиях лицензии MIT, для встраиваемых устройств на базе микроконтроллеров.
  • coreMQTT:: клиентская библиотека MQTT для создания приложений, которые выполняют роли издателей и подписчиков тем MQTT, а также устанавливают соединение с брокером сообщений MQTT.
  • coreHTTP: клиентская библиотека HTTP, с помощью которой можно создавать приложения, использующие API REST для подключения к серверу HTTP.
  • Библиотека управления Wi‑Fi: единый уровень API, который позволяет абстрагироваться от различных вариантов реализации Wi‑Fi‑подключений и упростить разработку приложений.
  • Библиотека управления Bluetooth Low Energy: стандартизированный уровень API, позволяющий использовать профили Generic Access Profile (GAP) и Generic Attributes (GATT) для создания приложений Bluetooth Low Energy.
  • Библиотека Device Defender: позволяет устройствам на базе FreeRTOS взаимодействовать с AWS IoT Device Defender. Подробнее о Device Defender см. по ссылке.
  • Библиотека теней устройств: определяет функции для создания, изменения и удаления теней устройств AWS IoT. Подробнее о тенях устройств см. по ссылке.
  • Агент OTA: позволяет управлять оповещениями об обновлениях встроенного ПО для устройств с FreeRTOS, загрузкой и проверкой таких обновлений.
  • Библиотека Greengrass Discovery: позволяет устройствам с FreeRTOS находить устройства AWS IoT Greengrass Core и подключаться к ним.
  • TLS: интерфейс протокола Transport Layer Security (TLS), дополнительная оболочка, которая позволяет абстрагироваться от криптографических алгоритмов базового стека TLS.
  • corePKCS11: внедрение стандарта PKCS #11 OASIS, который позволяет абстрагироваться от хранилищ ключей, свойств get и set для криптографических объектов и семантики сеанса.

Вопрос. Каковы минимальные требования к аппаратному обеспечению?

Если необходимо использовать все библиотеки FreeRTOS, в том числе для поддержки протокола TLS, на прикладном микроконтроллере, может потребоваться микроконтроллер с тактовой частотой более 25 МГц и объемом ОЗУ больше 64 КБ. Если коммуникационный и криптографический стеки (кроме MQTT) перемещены на сетевой процессор, будет достаточно микроконтроллера с тактовой частотой 10 МГц и объемом ОЗУ 16 КБ. Эти значения приблизительны, так как требуемые тактовая частота и объем ОЗУ могут зависеть от ряда факторов, например архитектуры микроконтроллера, используемого компилятора и уровня его оптимизации. FreeRTOS требуется 128 КБ памяти программ на каждый исполняемый образ, который хранится в микроконтроллере. Чтобы реализовать функции беспроводного обновления, в памяти программ необходимо хранить два исполняемых образа одновременно.

Вопрос. Какие архитектуры поддерживает FreeRTOS?

FreeRTOS предоставляет эталонные интеграции Интернета вещей для широкого спектра микроконтроллеров от наших партнеров, перечисленных в каталоге AWS Partner Device Catalog. FreeRTOS включает ядро FreeRTOS, которое поддерживает более 40 архитектур, в том числе новейшие архитектуры RISC-V и ARMv8-M.

Вопрос. Как начать работу с FreeRTOS?

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

Вопрос. Как я могу получить техническую поддержку?

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

Форумы сообщества FreeRTOS

Premium Support

AWS Support

Проблемы с GitHub

Вопрос. Что случилось с группой Amazon FreeRTOS на форумах AWS?

Чтобы повысить удобство использования форумов для наших клиентов, мы перенесли все содержимое и пользователей из группы Amazon FreeRTOS на форумах AWS в категорию Amazon Web Services на форумах сообщества FreeRTOS. Подробнее см. здесь.

Вопрос. Имеется ли руководство пользователя?

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

Вопрос. Можно ли использовать FreeRTOS для подключения к другим облачным сервисам?

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

Вопрос. Можно ли внести изменения в исходный код FreeRTOS для своего проекта?

Да. FreeRTOS – это программное обеспечение с открытым исходным кодом, распространяемое на условиях лицензии MIT, поэтому его можно изменять в соответствии с любыми требованиями для конкретной области применения или проекта без разрешения AWS.

Вопрос. Сколько требуется платить за использование FreeRTOS?

FreeRTOS можно загрузить и использовать бесплатно на условиях лицензии MIT для ПО с открытым исходным кодом.

Вопрос. Как изучить возможности FreeRTOS, не покупая аппаратное обеспечение?

Код и функциональные возможности FreeRTOS можно изучить на компьютере с Windows, загрузив библиотеки и примеры, портированные для запуска на Windows. Такой набор файлов называется симулятором FreeRTOS для Windows (Windows Simulator). Начать работу можно по ссылке.

Вопрос. Включает ли FreeRTOS оборудование?

Нет. FreeRTOS – это операционная система реального времени с открытым исходным кодом для микроконтроллеров. Вы можете использовать FreeRTOS на выбранном вами микроконтроллере, портировав код FreeRTOS и проверив портированный код с помощью сервиса AWS IoT Device Tester. Чтобы упростить вам работу, мы предоставили эталонные интеграции Интернета вещей и соответствующие портированные версии для распространенных микроконтроллеров в каталоге AWS Partner Device Catalog.

Вопрос. По какому принципу определяются версии FreeRTOS?

Для ядра FreeRTOS и каждой библиотеки используется семантическое обозначение версий. Согласно этому принципу номер версии (X.Y.Z) позволяет определить значимость версии: основная это версия, вспомогательная или доработанная. Увеличение первого номера версии означает основной выпуск, второго – вспомогательный, а третьего – доработанный выпуск.

Для выпусков эталонных интеграций Интернета вещей для FreeRTOS, которые состоят из группы библиотек FreeRTOS, используется нумерация версий на основе дат. Кроме того, нумерация версий на основе дат используется для загружаемых файлов, содержащих ядро FreeRTOS и дополнительные библиотеки. Согласно этому принципу, стандартные выпуски обозначаются в формате ГГГГММ.НН, где «Г» – год, «М» – месяц, а «Н» – порядковый номер версии за отдельно взятый месяц (00 – первая версия за отдельно взятый месяц). Указание Major (Основная) обозначает, что были добавлены новые возможности и (или) что несколько библиотек были подвергнуты значительному изменению. Например, 201906.00 Major означает, что перед вами первая версия за июнь 2019 г., которая включает новые возможности или значительные изменения. Применяя семантический принцип определения версий к отдельным библиотекам, можно самостоятельно определить масштаб новой версии и ее значение для конкретного приложения.

Ядро FreeRTOS

Вопрос. Что такое ядро FreeRTOS?

Ядро FreeRTOS, разработка которого велась на протяжении 15 лет в партнерстве с ведущими мировыми компаниями-производителями микросхем, – это лидирующее на рынке ядро операционной системы реального времени, которое де-факто является стандартным решением для микроконтроллеров и небольших микропроцессоров.

Вопрос. Выполняет ли AWS обслуживание ядра FreeRTOS?

Да. Последняя версия ядра FreeRTOS (v10) включает поддержку технологий RISC‑V и Armv8‑M (Cortex‑M33 и Cortex‑M23).

Вопрос. Какая разница между лицензией открытого исходного кода MIT и ранее использованной измененной лицензией открытого исходного кода GPL?

Обе лицензии позволяют использовать программное обеспечение бесплатно, даже в коммерческих продуктах, и ни одна лицензия не налагает никаких обязательств при распространении двоичных (исполняемых) копий. Лицензия MIT имеет упрощенную формулировку, и в ней нет жестких ограничений на использование предоставляемого исходного кода. С лицензией MIT можно разрабатывать и продавать коммерческие продукты на основе FreeRTOS (включая ядро), но она не предполагает обязательств раскрывать изменения использованного исходного кода. Таким образом, вы будете собственником всех внесенных изменений. В рамках MIT предусмотрены лишь следующие требования: уведомление об авторских правах и уведомление о разрешении должны быть включены во все копии или существенные части программного обеспечения (исходные файлы).

Долговременная поддержка FreeRTOS Long Term Support (LTS)

Вопрос. На какие библиотеки распространяется FreeRTOS LTS?

FreeRTOS 202012.01 LTS охватывает следующие библиотеки: ядро FreeRTOS, FreeRTOS + TCP, coreMQTT, coreHTTP, corePKCS11, coreJSON, AWS IoT OTA, AWS IoT Jobs, AWS IoT Device Defender, AWS IoT Device Shadow.

Вопрос. Каков период поддержки библиотек FreeRTOS LTS?

Период поддержки библиотек FreeRTOS LTS составляет два года. Библиотеки FreeRTOS 202012.01 LTS не предусматривают дополнительных возможностей (однако мы планируем добавить дополнительные библиотеки через несколько месяцев после первого выпуска LTS-версии) и будут включать в себя обновления безопасности и исправления ошибок, которые AWS определяет как критические, по крайней мере, до 31 марта 2023 г.

Вопрос. Как получить библиотеки с долговременной поддержкой FreeRTOS?

Чтобы получить библиотеки FreeRTOS LTS, необходимо клонировать репозиторий узла FreeRTOS 202012.01 LTS в GitHub посредством клонирования отдельных библиотек LTS или скачивания файла FreeRTOS 202012.01 LTS в формате zip с FreeRTOS.org.

Вопрос. Как интегрировать библиотеки с долговременной поддержкой FreeRTOS в проект?

Существует несколько способов начать работу.
1. Вы можете обновить отдельные библиотеки до библиотек LTS посредством клонирования из соответствующих репозиториев. Например, вы можете обновить проект до библиотеки FreeRTOS LTS MQTT, загрузив код из репозитория coreMQTT GitHub.
2. Вы можете скачать эталонную интеграцию IoT с FreeRTOS.org и обновить указатели подмодулей до версии FreeRTOS LTS.
3. Вы можете клонировать последнюю версию FreeRTOS в GitHub и обновить указатели подмодулей до версии FreeRTOS LTS.

Вопрос. Как искать информацию и скачивать исправления FreeRTOS LTS?

Чтобы узнать последние новости, перейдите в раздел FreeRTOS LTS Patches (Исправления FreeRTOS LTS) на странице библиотек LTS по адресу FreeRTOS.org или подпишитесь на рассылку GitHub (репозиторий FreeRTOS 202012.01 LTS) В выпусках FreeRTOS LTS используется схема управления версиями на основе даты (ГГГГММ), за которой следует порядковый номер исправления (.XX). Например, FreeRTOS 202012.02 LTS указывает на второе исправление для выпуска FreeRTOS LTS за декабрь 2020 г. Вы можете получить последние исправления с GitHub, используя соответствующую ссылку для скачивания.

Вопрос. Какая лицензия ПО используется для FreeRTOS LTS?

Библиотеки FreeRTOS 202012.01 LTS распространяются бесплатно по лицензии MIT с открытым исходным кодом.

Вопрос. Взимается ли плата за использование библиотек FreeRTOS LTS?

Нет. Все пользователи могут использовать библиотеки FreeRTOS LTS бесплатно за счет лицензии MIT с открытым исходным кодом.

Вопрос. Кто выпускает и поддерживает FreeRTOS LTS?

AWS выпустит и обеспечит текущее техническое обслуживание библиотек FreeRTOS LTS в интересах сообщества FreeRTOS. Сообществу FreeRTOS рекомендуется оставлять отзывы и вносить свой код в форме запросов на проверку GitHub.

Вопрос. Каков цикл выпуска FreeRTOS LTS?

Согласно нашему плану новые выпуски FreeRTOS LTS ожидаются каждые 1,5 года.

Вопрос. Что такое соглашение об уровне обслуживания в отношении обновлений безопасности и исправления критических ошибок?

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

Вопрос. Можно ли получить поддержку более чем на два года?

Чтобы получить информацию о доступных предложениях, свяжитесь с нами.

Вопрос. Я уже использую версию FreeRTOS. Как приступить к работе с FreeRTOS LTS?

Версии ядра FreeRTOS LTS обратно совместимы с версиями ядра FreeRTOS V8.0.0 или более новыми версиями. Таким образом, если вы уже используете версию ядра FreeRTOS v8.0.0 или более новую версию, вы можете перейти на последнюю версию ядра в выпуске LTS с минимальными изменениями в коде приложения.
Если вы используете библиотеки FreeRTOS IoT и AWS из FreeRTOS версии 201906.00 или более новой версии, вы можете перейти на библиотеки FreeRTOS LTS, обновив проект описанными ниже способами.
1. Библиотеки LTS и уровень совместимости, обеспечиваемый эталонной интеграцией AWS IoT. Эти уровни обеспечивают обратную совместимость с FreeRTOS версии 201906.00 или более новой версии, что исключает необходимость в изменении существующего кода приложения.
2. Только библиотеки LTS. В этом случае вы сможете воспользоваться преимуществами оптимизированных библиотек, предназначенных для микроконтроллеров с ограничениями, обязательно обновив существующие приложения. Если вы находитесь на ранней стадии цикла разработки, вы можете выбрать этот вариант, чтобы воспользоваться преимуществами простой миграции на последующие выпуски LTS.

Вопрос. Распространяется ли FreeRTOS LTS на уровни совместимости?

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

Сообщество FreeRTOS

Вопрос. Можно ли предложить свой код для FreeRTOS?

Да, код для FreeRTOS можно предложить через GitHub. Инструкции см. в файле Contributions.md в GitHub.

AWS IoT Device Tester для FreeRTOS

Вопрос. Что представляет собой AWS IoT Device Tester для FreeRTOS?

AWS IoT Device Tester для FreeRTOS – это средство автоматизации тестирования для Windows, Linux и Mac, с помощью которого поставщики полупроводниковых устройств самостоятельно тестируют и сертифицируют FreeRTOS на своих платах микроконтроллеров. С помощью AWS IoT Device Tester поставщики полупроводниковых устройств могут проверить, будет ли работать FreeRTOS на их платах микроконтроллеров, пройдут ли их платы проверку подлинности службами AWS IoT и будут ли с ними совместимы.

Вопрос. Где получить AWS IoT Device Tester для FreeRTOS?

AWS IoT Device Tester для FreeRTOS можно получить здесь.

Вопрос. Требуется ли AWS IoT Device Tester для FreeRTOS для сертификации и внесения в каталог устройств от партнеров AWS?

Да. Получить дополнительную информацию о внесении в список можно здесь.

Вопрос. Что проверяет AWS IoT Device Tester для FreeRTOS?

AWS IoT Device Tester для FreeRTOS проверяет, совместимо ли сочетание эталонной интеграции Интернета вещей для FreeRTOS с интерфейсами уровня портирования платы микроконтроллера и базовыми драйверами устройств с сервисами AWS IoT и может ли оно взаимодействовать с ними. AWS IoT Device Tester подтверждает, что интерфейсы уровня портирования (внедренные поставщиками полупроводников) для библиотек FreeRTOS правильно функционируют поверх драйверов устройств. Кроме того, AWS IoT Device Tester выполняет сквозные тесты, чтобы убедиться, что плата микроконтроллера может пройти аутентификацию и взаимодействовать с сервисами AWS IoT.

Вопрос. Как получить техническую поддержку для AWS IoT Device Tester для FreeRTOS?

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

Premium Support

Поддержка пользователей

Проблемы с GitHub

Вопрос. Как внести аппаратную платформу на базе микроконтроллера в каталог устройств от партнеров AWS?

В программе AWS Device Qualification Program описан процесс внесения микроконтроллера в каталог устройств от партнеров AWS. Далее приведен общий обзор. Во-первых, вы должны успешно выполнить тесты AWS IoT Device Tester для AWS FreeRTOS. Затем войдите в AWS Partner Network Portal и передайте отчет AWS IoT Device Tester для FreeRTOS. Предоставьте ссылку на исходный код для портированных интерфейсов FreeRTOS, чтобы они стали доступными для OEM-производителей. После проверки портированного кода и отчета с помощью AWS и отправки других артефактов, связанных с устройством (например, с помощью образа устройства, листка технических данных и др.), устройство будет внесено в каталог AWS Partner Device Catalog.

Вопрос. В каких регионах доступен сервис AWS IoT Device Tester для FreeRTOS?

Сервис AWS IoT Device Tester для FreeRTOS доступен во всех регионах, где поддерживается FreeRTOS.  

Вопрос. Сколько стоит использование AWS IoT Device Tester для FreeRTOS?

Использовать AWS IoT Device Tester для FreeRTOS можно бесплатно. Тем не менее вы будете нести все расходы, связанные с использованием AWS в рамках тестов для сертификации. В среднем, один запуск AWS IoT Device Tester обойдется меньше чем в один цент. Сопутствующие расходы указаны в разделе Цены на AWS IoT Core.

FreeRTOS и AWS IoT Greengrass

Вопрос. В чем разница между AWS IoT Greengrass и FreeRTOS?

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

FreeRTOS – это операционная система реального времени с открытым исходным кодом для микроконтроллеров, которая работает на оконечных устройствах и обычно не поддерживает наборы микросхем, с которыми может работать AWS IoT Greengrass. Такие микроконтроллеры используются в различных устройствах Интернета вещей, например в фитнес-трекерах, кардиостимуляторах, счетчиках электроэнергии, автомобильных трансмиссиях и сетях датчиков. На устройствах с FreeRTOS не может работать базовый компонент AWS IoT Greengrass, но эти устройства могут активировать выполнение функций Lambda на устройстве базового компонента AWS IoT Greengrass.

У этих устройств разные требования к оборудованию и разные операционные системы.

  FreeRTOS AWS IoT Greengrass
Программное обеспечение Операционная система реального времени с библиотеками, работающая на микроконтроллерах Среда выполнения для устройств с Linux и SDK для устройств с поддержкой AWS IoT Greengrass
Требования к оборудованию ОЗУ >64КБ ОЗУ >128МБ
Категория Встраиваемые системы, конечные точки Интернета вещей Оконечные устройства, локальные шлюзы
Примеры использования Устройства на основе микроконтроллеров Системы промышленной автоматизации, беспроводные маршрутизаторы, смартфоны

Вопрос. Требуется ли для работы с FreeRTOS использовать AWS IoT Greengrass?

Для работы с FreeRTOS не требуется использовать AWS IoT Greengrass. FreeRTOS работает на устройствах Интернета вещей и часто выполняет функции «обнаружения» и «выполнения действий» в топологии Интернета вещей. Устройства с FreeRTOS могут напрямую подключаться к облаку или устройствам AWS IoT Greengrass Core.

Вопрос. Как подключить устройства с FreeRTOS к устройствам AWS IoT Greengrass Core?

В исходный код FreeRTOS включена библиотека AWS IoT Greengrass Discovery. Она позволяет находить устройства AWS IoT Greengrass Core и подключаться к ним. Дополнительные сведения см. в руководстве пользователя FreeRTOS.

FreeRTOS и Bluetooth Low Energy

Вопрос. Что такое поддержка Bluetooth Low Energy в FreeRTOS?

Благодаря поддержке Bluetooth Low Energy в FreeRTOS разработчики получают стандартизированный уровень API, позволяющий создавать приложения Bluetooth Low Energy, которые можно портировать между сертифицированными платами FreeRTOS. Поддержка включает сопровождающие SDK для Android и iOS, с помощью которых устройство с FreeRTOS может использовать сервисы AWS IoT с устройством Android или iOS в качестве прокси‑сервера. Это позволяет использовать стандартные профили Generic Access Profile (GAP) и Generic Attributes (GATT) для создания приложений Bluetooth Low Energy, а также настраиваемые профили для MQTT через Bluetooth Low Energy и выделение Wi‑Fi через Bluetooth Low Energy. Кроме того, можно использовать другие сервисы и возможности AWS IoT, включая AWS IoT Device Defender, тени устройств и обновления OTA.

Вопрос. Какие задачи позволяет решать FreeRTOS Bluetooth Low Energy?

При разработке приложений с использованием Bluetooth Low Energy разработчики могут подключать устройства Bluetooth Low Energy к AWS IoT через прокси‑сервер Android или iOS, а также использовать ряд возможностей AWS IoT, например тени устройств AWS IoT, и использовать технологию Bluetooth Low Energy в FreeRTOS. Стандартизированный API Bluetooth Low Energy для FreeRTOS дает возможность писать код приложений, поддерживающих портирование, для устройств, сертифицированных FreeRTOS. Если вы решите использовать другой микроконтроллер (например, для обновления продукта), вы можете взять за основу существующий код приложения Bluetooth Low Energy и добавить новые возможности. После этого можно переключить свое внимание на код приложения и не беспокоиться о возможностях подключения и базовых библиотеках безопасности, которые не являются отличительными особенностями конкретного продукта.

Вопрос. Какие платы поддерживает Bluetooth Low Energy в FreeRTOS?

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

Вопрос. Как найти нужные библиотеки?

Исходный код FreeRTOS можно загрузить из консоли FreeRTOS и репозитория FreeRTOS на GitHub; сопутствующие SDK для Android и iOS можно загрузить с GitHub. В исходном коде FreeRTOS есть демонстрационные примеры, а в SDK для мобильных устройств – образцы приложений, с помощью которых можно быстро начать работу.

Вопрос. Поддержка Bluetooth Low Energy в FreeRTOS работает только с AWS?

Нет. Библиотеки FreeRTOS для Bluetooth Low Energy имеют открытый исходный код и распространяются на условиях лицензии MIT. Поэтому разработчики могут изменять их в соответствии с конкретными потребностями.

Вопрос. Какие версии Bluetooth Low Energy поддерживаются?

FreeRTOS поддерживает Bluetooth Low Energy 4.2 и более поздних версий. Bluetooth Low Energy версии 4.2 повышает уровень безопасности за счет добавления поддержки для Bluetooth Low Energy Secure Connections. Это возможность усиления безопасности, которая появилась в Bluetooth Low Energy версии 4.2 для проверки подлинности одноранговых устройств и создания зашифрованных каналов связи.

Вопрос. Предоставляет ли FreeRTOS стек Bluetooth Low Energy?

Нет. FreeRTOS предоставляет стандартизированную библиотеку API Bluetooth Low Energy, которая взаимодействует со стеком Bluetooth Low Energy сторонних поставщиков (например, поставщика микроконтроллера).

Вопрос. Работу каких сервисов GATT обеспечивает поддержка FreeRTOS для Bluetooth Low Energy?

Поддержка Bluetooth Low Energy в FreeRTOS дает разработчикам возможность добавлять стандартные и настраиваемые сервисы GATT в любом количестве, ориентируясь только на возможности целевого оборудования. FreeRTOS содержит два пользовательских профиля: (1) MQTT через Bluetooth Low Energy, благодаря которому устройства Bluetooth Low Energy могут использовать сервисы AWS IoT; и (2) выделение Wi‑Fi через Bluetooth Low Energy для предоставления учетных данных Wi‑Fi в устройство Интернета вещей с помощью Bluetooth Low Energy.

Вопрос. Может ли прокси‑сервер Bluetooth Low Energy выполнять какие‑либо действия локально?

В настоящий момент механизм, который перехватывал бы сообщения между устройством Bluetooth Low Energy и AWS IoT, не предусмотрен. Прокси‑сервер Bluetooth Low Energy выполняет роль пропускного устройства.

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

Вопрос. Каковы преимущества использования MQTT через Bluetooth Low Energy?

MQTT через Bluetooth Low Energy позволяет устройствам Bluetooth Low Energy подключаться к AWS IoT через прокси-устройство, а также дает возможность использовать другие сервисы и функции AWS, в том числе AWS IoT Device Defender, тени устройств AWS IoT и беспроводные обновления FreeRTOS.

Вопрос. Можно ли использовать различные варианты подключения для одного и того же устройства?

Да. Если памяти устройства достаточно, можно использовать MQTT через Wi‑Fi и MQTT через Bluetooth Low Energy одновременно.

Вопрос. Как выполнить аутентификацию проксирующего устройства в AWS IoT?

Для аутентификации мобильных устройств в облачных сервисах AWS IoT использует сервис Amazon Cognito. Кроме того, для аутентификации прокси-устройства в AWS IoT можно использовать сертификаты X.509, поддерживаемые мобильными SDK FreeRTOS.

FreeRTOS и сотовая сеть LTE-M

Вопрос. Что такое библиотека на базе сотового интерфейса FreeRTOS и что еще включено?

У нас есть ознакомительная версия сотовой библиотеки FreeRTOS, которая упрощает разработку безопасных IoT-решений на базе LTE-M (или CAT-M1). Новые эталонные интеграции и демонстрационные проекты представлены нашими партнерами Quectel, Sierra Wireless и u-blox.

Вопрос. Какие сотовые технологии поддерживаются?

Сотовая библиотека FreeRTOS поддерживает сотовые модемы LTE-M. LTE-M – это радиотехнологический стандарт LPWAN, разработанный 3GPP для поддержки широкого спектра сотовых устройств и услуг.

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

В настоящее время сотовая библиотека FreeRTOS предлагает совместимость со следующими модемами LTE-M: Quectel BG96, Sierra Wireless HL7802 и u-blox SARA-R4.

Вопрос. Как найти исходный код?

Исходный код для сотовой библиотеки FreeRTOS и эталонной интеграции IoT доступен в репозитории библиотек FreeRTOS в GitHub.

FreeRTOS и AWS IoT Device Management

Вопрос. Как обновить встроенное ПО на моих устройствах?

Можно использовать функцию беспроводного (OTA) обновления, имеющуюся в FreeRTOS. Для этого достаточно указать в консоли AWS IoT Device Management требуемый образ встроенного ПО, выбрать устройства, которые необходимо обновить, указать метод подписания кода и создать задание по беспроводному обновлению для FreeRTOS. Дополнительные сведения о функции беспроводного обновления и подписании кода см. в руководстве пользователя FreeRTOS.

Вопрос. Что такое подписание кода?

Подписание кода позволяет разработчикам подтвердить целостность и происхождение образов встроенного ПО, запланированных для беспроводного развертывания на устройствах с FreeRTOS. Процесс подтверждает целостность образов встроенного ПО с использованием криптографического хэша, который доказывает, что код не был изменен или поврежден с момента его подписания. В этом процессе также используется криптография с открытым ключом для подписания этих образов и подтверждения их происхождения, которое можно проверить на устройстве. Используя интегрированное задание на беспроводное обновление устройства с FreeRTOS в консоли AWS IoT Device Management, разработчики могут загрузить новый образ встроенного ПО, подписать этот образ и доставить его группе устройств на местах. Эти устройства будут проверять подпись при загрузке и устанавливать только доверенный код. Клиенты могут использовать IAM для точной настройки параметров доступа пользователей к инструментам подписи, поэтому только назначенные разработчики смогут подписывать и планировать новые обновления встроенного ПО устройств.

Вопрос. Обязательно ли использовать подписание кода?

Нет, можно использовать свой собственный сервис подписания кода и загружать подписанный образ напрямую в Amazon S3. При этом потребуется изменить агент OTA в FreeRTOS, чтобы он принимал формат подписи, который предполагается использовать.

Вопрос. Какое аппаратное обеспечение поддерживает OTA?

Перечень сертифицированного оборудования, которое поддерживает OTA в FreeRTOS, приведен в каталоге устройств от партнеров AWS Partner Device Catalog.

Безопасность FreeRTOS

Вопрос. Каким образом FreeRTOS защищает данные при передаче?

Для безопасного подключения к облаку FreeRTOS использует протокол Transport Layer Security (TLS 1.2). Этот протокол гарантирует конфиденциальную передачу между двумя взаимодействующими приложениями и целостность данных. Он обеспечивает двустороннюю аутентификацию устройства с FreeRTOS и облачного сервера с помощью сертификатов X.509, а также шифрование данных при передаче.

Вопрос. Каким образом FreeRTOS защищает данные на устройстве (при хранении)?

Для управления шифрованием, цифровыми подписями и криптографическими объектами FreeRTOS использует стандартный интерфейс приложения, называемый PKCS #11. Криптографические объекты хранятся либо в выделенном хранилище, либо во флэш-памяти основного микроконтроллера, если выделенное хранилище недоступно. Если устройству требуется шифрование данных при хранении, мы рекомендуем использовать специальное криптографическое оборудование для защиты ключей шифрования. Для получения доступа к ключам, а также шифрования и расшифровки данных приложения используйте API PKCS #11.

Вопрос. Как оставаться в курсе последних исправлений безопасности?

Обновления безопасности можно получить через консоль FreeRTOS, на странице обновлений безопасности FreeRTOS и на сайте GitHub.

Вопрос. Как можно сообщить о проблемах безопасности?

Чтобы сообщить о проблеме безопасности, ознакомьтесь с разделом Как сообщать об уязвимостях в AWS.

Вопрос. Как установить последние исправления безопасности на устройства с FreeRTOS?

Для отправки исправлений безопасности на устройства с FreeRTOS рекомендуется использовать имеющуюся в FreeRTOS возможность беспроводного (OTA) обновления. Для этого укажите в консоли AWS IoT Device Management образ встроенного ПО, выберите устройства для обновления и создайте задание на беспроводное обновление в FreeRTOS. Функция подписания кода проверит подписанный образ на устройстве, чтобы удостовериться, что код устройства не был скомпрометирован во время развертывания или обновления. Дополнительную информацию о возможности беспроводного обновления см. в руководстве пользователя FreeRTOS.

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