[Перевод] Wind River Rocket – это сильно

Wind River Rocket — это бесплатная, масштабируемая операционная система реального времени, которая способна работать на многих аппаратных платформах. Она спроектирована для применения в IoT-устройствах. Разработка для Rocket ведётся с помощью инновационного облачного окружения, Wind River Helix, которое упрощает создание, тестирование и развёртывание приложений.

0ed7e65d758b40eda9ec8008dffac9a4.jpg

Сегодня мы расскажем о возможностях, которые открывает Helix для каждого, кто решил сделать Rocket фундаментом своего проекта.

Как устроена Wind River Rocket


Rocket — это лучшая в своём роде операционная система реального времени (RTOS), созданная для интернета вещей. Но Rocket сильна не только этим. Она интегрирована в экосистему облачных инструментов, которые упрощают разработку и позволяют довести проект от идеи до готового коммерческого продукта.

33c0e6a9bdb212c5fa1a278bf0ea534c.png


Облачная экосистема Wind River Rocket

Экосистема Rocket состоит из четырёх компонентов, представленных на схеме. Рассмотрим эти компоненты подробнее.

  • Операционная система реального времени Rocket. В самом центре схемы — IoT-приложение, написанное для Rocket. ОС основана на микроядре Zephyr. Это — стабильное, многопоточное ядро, которое, с одной стороны, занимает мало места, а с другой — поддерживает множество служб и способно взаимодействовать с развитой экосистемой сервисов. Rocket не зависит от аппаратной архитектуры, способна работать на многих платформах, например — на плате Intel Galileo Gen 2. Большое внимание в Rocket уделено безопасности, она поддерживает широкий набор соответствующих протоколов.
  • Среда разработки App Cloud. App Cloud упрощает жизнь программистов IoT-приложений. С помощью этой облачной среды можно создавать прошивки интеллектуальных устройств, используя веб-браузер. App Cloud даёт возможности передовой IDE, но при этом, благодаря облачной архитектуре, пользоваться ей можно везде, где есть доступ в Интернет.
  • Среда для тестирования приложений Lab Cloud. Среда разработки App Cloud интегрирована с Lab Cloud, виртуализированным аппаратным окружением, которое можно использовать для тестирования IoT-приложений. После того, как приложение скомпилировано и связано с Rocket в App Cloud, его можно загрузить на виртуальное целевое устройство в Lab Cloud и запустить. При этом результаты работы приложения можно просматривать в App Cloud. Здесь доступны все возможности отладки, которые можно ожидать от среды для тестирования приложений. В частности, это установка точек останова и пошаговое исполнение кода. При этом особое внимание в Lab Cloud уделено высокой производительности отладочного окружения и возможностям командной разработки.
  • Безопасная среда развёртывания приложений Device Cloud. Когда проект дойдёт до стадии развёртывания, для автоматизации этого процесса можно воспользоваться системой Device Cloud. Это — облачная платформа, которая позволяет осуществлять установку приложений на множество устройств. При этом поддерживается безопасная связь этих устройств с корпоративной сетью. Device Cloud позволяет контролировать удалённые IoT-устройства с установленной Rocket, и, в то же время, обеспечивает защиту данных, собранных с этих устройств для централизованного анализа. Device Cloud, кроме того, помогает решить проблему дистанционного обновления приложений. Даже в случаях, когда в обновлении нуждаются тысячи устройств.


На рисунке ниже показано, как разработанное в App Cloud тестовое приложение исполняется на виртуальном устройстве в Lab Cloud. В данном случае это QEMU-эмулятор Intel Quark x86. Окно чёрного цвета в центре — это редактор исходного кода. Благодаря системе вкладок редактор позволяет работать с несколькими файлами, располагая окна с кодом так, как удобно разработчику. В правом верхнем углу окна можно видеть надпись «TestDevice». В нашем случае она относится к виртуальному устройству, «построенному» на платформе x86. Зелёная точка указывает на то, что устройство подключено и готово к работе. Список файлов с кодом, входящих в проект, находится слева, панель отладчика — справа. И, наконец, ниже окна с редактором кода находится область вывода данных. Здесь можно найти сведения о сборке приложения, которое исполняется на виртуальном устройстве, а также — посмотреть сообщения, которые выводит программа.

9044d86f0ab980cd58ec46856cf06cf6.png


Wind River Helix App Cloud — IDE, для работы с которой нужен лишь веб-браузер

Сильные стороны Rocket


Поговорим о достоинствах разработки, тестирования и развёртывания приложений для Rocket с использованием Helix Cloud Apps.

— Rocket: ОС реального времени


В Rocket RTOS всё направлено на поддержку IoT-приложений. Здесь можно найти вытесняющие, задачи, основанные на приоритетах, и невытесняющие волокна (легковесные потоки для выполнения действий, требовательных к производительности). Так же ОС поддерживает богатый набор коммуникационных служб, таких, как очереди сообщений и байтовые потоки. Организацией работы задач и волокон в приложении занимаются службы синхронизации. Кроме того, RTOS поддерживает работу в энергосберегающем режиме, в котором центральный процессор не опрашивается внутренним таймером. Это позволяет снизить энергопотребление IoT-устройств, а значит, для тех из них, которые находятся в труднодоступных местах и работают от собственного источника энергии, увеличить время жизни от одного комплекта батарей.

Rocket поддаётся глубокой настройке, в минимальном варианте она занимает всего 4 Кб памяти. ОС предоставляет разработчикам стабильную среду для аппаратных IoT-решений, таких, как носимые устройства, промышленные контроллеры и устройства, обладающие ограниченными вычислительными ресурсами.

— Wind River Helix App Cloud: разработка


App Cloud упрощает создание приложений, она предоставляет разработчику предварительно настроенную IDE и инструменты, рассчитанные на нужное аппаратное обеспечение. Вместо того, чтобы сначала устанавливать средства разработки, потом настраивать, добиваясь нормальной совместной работы различных подсистем, благодаря App Cloud можно, без лишних усилий, обзавестись всем необходимым для немедленного начала работы. Это, например, загрузочные образы, SDK, ОС Rocket, средства компиляции приложений, отладчики для различных архитектур (нужный отладчик выбирается автоматически, основываясь на используемом целевом устройстве). Среду App Cloud можно развернуть сообразно нуждам разработчика. Так, базой для неё может служить общедоступный сервер (например, наподобие Amazon Web Services), это может быть собственный сервер компании или виртуальное частное облако. При любом из этих вариантов App Cloud предоставляет отличные возможности по совместной работе над проектами, эта среда подходит для команд разработчиков разных размеров.

— Wind River Helix Lab Cloud: тестирование


Среда Lab Cloud тесно интегрирована с App Cloud. Это позволяет запускать и тестировать IoT-приложения на виртуальных устройствах. Работа с Lab Cloud ведётся через веб-браузер, она поддерживает множество аппаратных платформ. Как результат, с помощью этого инструмента можно быстро и удобно испытывать IoT-приложения для Rocket, предназначенные для разных устройств. Кроме того, среда Lab Cloud рассчитана на совместную разработку, а благодаря экономии от использования виртуальных устройств вместо их аппаратных реализаций, эта среда тестирования приложений одинаково эффективна в командах различных размеров. Когда всё будет готово, те же самые образы, которые тестировались в Lab Cloud, можно прошить на физические устройства без необходимости какой-либо дополнительной настройки.

— Wind River Helix Device Cloud: развёртывание


Благодаря Device Cloud физические устройства, на которых планируется развёртывать приложения, можно просто и безопасно подключить к единой панели управления. Как облачная платформа, Device Cloud — это интегрированный набор сервисов, который охватывает широкий спектр IoT-устройств, в частности, к ним относятся шлюзы Intel для интернета вещей. При этом для любых работ с Device Cloud не требуется дополнительного программного обеспечения. Всё необходимое доступно через браузер.

Итоги


Intel и Wind River (Intel владеет этой компанией) предоставляют среду, которая полностью охватывает жизненный цикл IoT-приложений. App Cloud даёт возможность совместной разработки проектов благодаря браузерной IDE, для работы с которой нужно лишь подключение к интернету. Среда Lab Cloud упрощает задачи тестирования с использованием различных виртуальных устройств, она легко масштабируется, позволяет исполнять и отлаживать приложения в облачном окружении. Когда проект готов к выпуску, Device Cloud помогает осуществить автоматизированную установку приложений на сотни и даже тысячи устройств. При этом система обеспечивает безопасный доступ к устройствам и защищённую передачу данных. В том числе — поддерживается удалённое обновление прошивок устройств. В центре всей этой экосистемы находится независимая от аппаратного обеспечения ОС реального времени Rocket. Она, с одной стороны, упрощает разработку, а с другой — полностью интегрирована в лучший в своём классе набор облачных служб.

© Geektimes