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



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

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


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


Облачная экосистема 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. Зелёная точка указывает на то, что устройство подключено и готово к работе. Список файлов с кодом, входящих в проект, находится слева, панель отладчика – справа. И, наконец, ниже окна с редактором кода находится область вывода данных. Здесь можно найти сведения о сборке приложения, которое исполняется на виртуальном устройстве, а также – посмотреть сообщения, которые выводит программа.


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. Она, с одной стороны, упрощает разработку, а с другой – полностью интегрирована в лучший в своём классе набор облачных служб.
Поделиться с друзьями
-->

Комментарии (9)


  1. Psychosynthesis
    08.07.2016 20:22
    +3

    Ну ок, прикольно, звучит достаточно глобально. А где гм… более технические подробности?
    Какие архитектуры поддерживаются? Могу я вкатить её на PIC или STM, или хотя бы, прости хоспади, Arduino.
    Каких ресурсов требует для работы? На чём писать? Только шарп или кресты? А что с классическим СИ?

    Вообще интересно больше как оно устроено внутри.


  1. unxed
    08.07.2016 21:07
    +6

    Исходники? Лицензия? А то — «бесплатная»…


    1. a5b
      10.07.2016 03:25

      Часть открыта:
      https://github.com/wind-river-rocket/kernel "Rocket kernel based on Zephyr (zephyrproject.org)", Apache License Version 2.0
      en.wikipedia.org/wiki/Zephyr_(operating_system)


      Zephyr is a small real-time operating system[2] for connected, resource-constrained devices supporting multiple architectures and released under the Apache License 2.0 (a BSD licensed fork can be found in the Arduino 101 software source package from Intel).[3] Originally developed as Rocket[4][5][6] kernel by Wind River Systems for Internet of Things devices,[7] Zephyr became a project of the Linux Foundation in February 2016.[1]

      http://blogs.windriver.com/wind_river_blog/2016/02/wind-river-welcomes-linux-foundations-zephyr-project.html


      we launched Wind River Rocket in November 2015, which is essentially the commercial version of Zephyr (and along with Intel® System Studio for Microcontrollers, is the first to support Zephyr).… Wind River contributed the Rocket kernel to Zephyr… Wind River will continue to maintain and deliver new features to the Zephyr kernel. Rocket, now a lock-step downstream version of Zephyr, takes care of the OS configuration and hardware integration with Wind River Helix App Cloud

      Сам Zephyr поддерживает x86, ARM v7-M (Arduino Due, OLIMEXINO-STM32 ...), ARC EM4 (Arduino 101 — одно из ядер — 32-bit ARC, ~35$; DesignWare ARC EM Starter Kit "arc_em_starter_kit" 200$)


    1. lingvo
      11.07.2016 15:33

      Зная не по наслышке, а как клиент, лицензионную политику Wind River в отношении других своих платформ — Linux, vxWorks, могу предположить, что ценник там стартует от 10k€ за место/в год + ран-тайм лицензии за каждое устройство от 30€/шт.


  1. AxMoore
    11.07.2016 12:44

    «Wind River Rocket — это бесплатная и использующая облачную инфраструктуру ОС реального времени, обеспечивающая поддержку архитектур Intel® и ARM*. Начиная с самого первого действия, ОС Rocket использует типовые последовательности во время создания встраиваемых устройств. Вам более не нужно загружать исходные данные ОС, устанавливать совместимые средства для сборки, конфигурировать ваш компьютер, ОС, загрузчик и т.д». — выдержка с сайта intel.com.
    Статья странная — больше похоже на рекламу не ясно чего. От себя хочу заметить, облако — это уже зло! Все, что вы разрабатываете уже украдено и за вами следит «добрый робот». Облака — троянский конь, которого вы сами запускаете и радуетесь. Сказки про то, что ваши данные не будут использованы или перепроданы — годятся только для дураков. Больше всего удивляет в этом всем — как много людей которые этого не понимают!


    1. lingvo
      11.07.2016 16:05

      Почему зло?
      На самом деле «облачные» RTOS — это очень перспективная тема. Сегодня не только Wind River — а многие производители IoT железа выходят на рынок со своими предложениями.

      Представьте себе — у вас есть свой слабенький контроллер для чего-либо — Умного дома, поливалки, газонокосилки или электровелосипеда. Вместо того, чтобы попытаться впихнуть в него невпихуемое, типа анализа расходов на электричество в зависимости от текущих тарифов на электроенергию и потребленной мощности, вы можете просто засунуть в свой контроллер эту RTOS и организовать выгрузку нужной инфы в облако. А в облаке уже делаете нужные вам вычисления, подтягивая необходимую инфу из других источников. Мало того — этот кусок кода вам запрограммирует любой кодер, не зная, что у вас там — электровелосипед или газонокосилка.
      Ну и напоследок, вы можете результаты вычислений опять же засунуть в ваш контроллер из облака.


  1. mrMidas
    11.07.2016 12:44
    -1

    А мне больше интересна база виртуализированного железа, без которой весь этот проект абсолютно бесперспективен. Ну а поскольку проект интеловский, то и база содержит только продукцию интела. Ну и как тогда тестировать аппаратные реализации других производителей? Они что, за просто так выложат все свои наработки по своим изделиям? Или интел как-то решил проблему в виде авторских блобов, позволяющих безопасно (для интеллектуальной целостности) интегрировать чужое железо в свою виртсреду? А интел уже договорился с другими компаниями о поддержки своей платформы и если да, то где список подписантов?
    В общем, вопросов больше чем ответов и это грустно. Получается очередной рекламный пресс-релиз о намерениях интела (или по русской традиции — «бесплатный сыр в ....» ). Без соглашений с производителями других аппаратных решений проект стандарта IoT IDE совершенно не жизнеспособен, даже не смотря на свою реальную нужность…


    1. lingvo
      11.07.2016 15:41

      Wind River еще до покупки Intel-ом поддерживала разные, в том числе не-Intelовские платформы. Например Freescale Mx, PowerPC и сейчас добавился ARM, Zinc.
      В списке поддерживаемого железа Rocket уже есть Freescale и я уверен, что список вырастет быстро, так как ядро RTOS базировано на уже разработанных платформах.


      1. mrMidas
        11.07.2016 22:31

        Допускаю что это так. Теперь осталось увидеть это в этом тексте. Для меня тема хотя и не профильная, но и не безынтересна. Вот я зашёл поинтересоваться что да как… Вполне возможно что я невнимателен и в упор не вижу производителей, так может вы мне подскажете места в тексте где указаны всё вами перечисленное.
        Был бы это какой-нибудь узкопрофильный сайт и я бы понял почему опустили столь очевидные для завсегдатаев вещи. Только вот гиктаймс имеет существенно более широкую аудиторию и опускать существенную информацию как-то странно…