Qt Automotive Suite прокатит Linux

Qt анонсировала управляемый Linux Qt Automotive Suite, основанный на Qt для создания устройств, предназначенный для быстрой разработки интерфейсов IVI и комбинаций приборов.

Компания Qt объявила, что скоро отправит автомобильный стек для разработки информационно-развлекательной системы (IVI) и комбинации приборов в автомобиле.
Qt Automotive Suite объединяет новый менеджер приложений и библиотеку API Qt IVI с настроенной версией Qt Device Creation и подключается к IDE Qt Creator.
Также есть модифицированная версия Qt Creator с новой функцией «GammaRay».

Целью Qt Automotive Suite является экономия времени для разработчиков Qt , которые в настоящее время дублируют усилия, создавая собственные автомобильные стеки.
Как описано в сообщении блога от Алистаира Адамса из компании Qt, проект возник в результате обсуждений с разработчиками встраиваемых систем для автомобилей и Qt Pelagicore и KDAB.
Понимая, что они могут извлечь выгоду из стандартизации общих компонентов для своих автомобильных IVI и комбинаций приборов на основе Qt, три компании объявили о платформе в октябре прошлого года.


Архитектура Qt Automotive Suite

(щелкните изображение, чтобы увеличить)

В настоящее время компания выпустила дополнительную информацию о стеке с открытым исходным кодом, который будет доступен в форме версии 1.0 в конце этого месяца, вскоре после выпуска версии 5.7 кроссплатформенной среды разработки Qt.
Хотя первоначально Adams описывался как созданный на основе архитектуры открытых платформ GENIVI для автомобильной платформы, сейчас Адамс говорит только о том, что «там, где это имеет смысл, мы будем предоставлять бэкэнды для GENIVI, QNX и AGL». Фирменная QNX является ведущей ОС, используемой в автомобильной промышленности. Компьютеры, в то время как AGL (Automotive Grade Linux) Linux Foundation, имеют свою собственную, все более популярную , немного похожую на GENIVI, спецификацию Linux с открытым исходным кодом.

По словам Адамса, Qt Automotive Suite предназначен для предоставления более простых инструментов для OEM-производителей, которые все чаще настраивают дисплеи HMI в соответствии с физическим дизайном интерьера автомобилей.
Эта координация дизайна становится все более важной, поскольку автомобили прорастают несколько экранов IVI и кластерных дисплеев.
«Инструменты, которые мы добавляем, позволят быстрее опробовать изменения пользовательского интерфейса и развернуть их в целевой системе», - добавляет он.

Qt Automotive Suite построен на основе Qt для создания устройств, ответвления от кроссплатформенного Qt, специально разработанного для разработчиков встраиваемых Linux-систем.
Программное обеспечение построено на основе встроенного стека рабочих процессов Boot to Qt, который обеспечивает быстрый запуск на платах разработки.
В последнем выпуске Qt 5.6 Qt для создания устройств был более тесно связан с кодом проекта Yocto и мета слоями.

Qt Automotive Suite заимствует ключевые компоненты Qt для создания устройств, включая язык QML, Qt Wayland Compositor и Qt WebEngine.
Он разделяет библиотеку классов программного обеспечения и аналогичным образом обеспечивает удаленное развертывание и отладку непосредственно на целевой плате.

Новый компонент Application Manager разделяет ЧМИ на различные функциональные блоки, которые позволяют независимым командам разрабатывать и тестировать код как по отдельности, так и одновременно.
Этот подход также облегчает обновление системы.
Диспетчер приложений обрабатывает полный жизненный цикл приложения.
Он проверяет установочный пакет, обрабатывает разрешения на доступ к API и способен закрывать незанятые приложения для экономии ресурсов.

Qt Wayland Compositor, который в конце этого месяца переходит к основной среде Qt в качестве технического предварительного просмотра, тесно координирует свою работу с Application Manager.
Он отвечает за реализацию виртуальных клавиатур и уведомлений, а также за компоновку дисплеев из нескольких приложений, пишет Адамс.
Между тем, язык QML «используется для определения макета и поведения выходных данных каждого приложения».

Интерфейс HMI разделен на различные приложения, например, для воспроизведения мультимедиа, обработки телефонных вызовов и состояния автомобиля.
Чтобы помочь этим приложениям взаимодействовать с промежуточным программным обеспечением GENIVI, AGL или QNX, существует новый набор API-интерфейсов Qt IVI, которые охватывают различные радиоприемники, тюнеры, медиа-технологии и другие компоненты, ориентированные на автомобили.
Говорят, что эти стандартизированные API-интерфейсы обеспечивают большее повторное использование и меньшее время разработки.

Компания Qt планирует добавить версию эмулятора настольного устройства Qt for Device Creation, настроенную для работы с API.
Также есть новая программа QML Live для быстрого тестирования цветовых схем, шрифтов и анимации.

Qt Creator развертывает GammaRay

Qt Automotive Suite также интегрируется со специальной версией IDE Qt Creator.
Как и в Qt для создания устройств, вы можете создать и загрузить приложение на целевое устройство и быстро запустить отладчик из Qt Creator.
Это удобство «устраняет длительную стадию перепрошивки устройства», пишет Адамс.

В автомобильной реализации Qt Creator добавлены новые инструменты «GammaRay», которые «позволяют выполнять самоанализ, визуализацию и манипулирование внутренними структурами, такими как графы сцен и конечные автоматы», пишут Адамс.
«GammaRay также предоставляет строительные блоки для создания визуализации и диагностики собственных систем, специализированного оборудования или протоколов, пользовательских элементов управления или сторонних компонентов».

Наконец, Qt Automotive Suite «облегчает создание распространяемого SDK, который содержит ваши конкретные ресурсы HMI и добавленное промежуточное программное обеспечение вместе с инструментами Qt», - пишет Адамс.
Программное обеспечение будет доступно как в открытом, так и в коммерческом вариантах.

Дальнейшая информация

Версия Qt Automotive Suite с открытым исходным кодом доступна здесь , хотя, как уже отмечалось, версия 1.0 появится только в конце этого месяца.
Готовые стеки Yocto Project доступны для платы Boundary Devices Saber-Lite i.MX6 и для платформы Nvidia DriveCX .