Оригинал материала: https://3dnews.ru/613621

Новая электронная игрушка для Chevrolet Corvette

Попыткам объединить автомобильную цифровую электронику под управлением единой операционной системы скоро будет 20 лет. В этой области испробованы уже все подходы — от свободного программного обеспечения до «жёстких» систем реального времени. Активно применяются и VxWorks, и QNX, и даже LynxOS. На другом полюсе — разработки самих автопроизводителей или с их непосредственным участием: JasPar, OSEK, AutoMeeGo, Sync (многие из таких построены на базе Windows CE). Но постоянное расширение круга задач и увеличение требуемой производительности вытесняют оригинальные разработки, заставляя автоконцерны переходить на «общеупотребительные» ОС, доработкой и поддержкой которых занимаются профильные структуры. Всё идёт к тому, что рынок сегментируется вокруг трёх основных ОС — QNX, Windows Embedded Automotive 7 и Linux (с расширениями, позволяющими получить устойчивую среду реального времени). Причём две последние всё чаще берут на вооружение производители недорогих автомобилей, а QNX «застолбила поляну» сегмента Luxury.

Когда General Motors взялась за проект информационно-развлекательной системы для Chevrolet Corvette, она тоже остановилась на QNX, точнее платформе QNX CAR. В значительной степени выбор был продиктован удобством «общения» с Flash в этой ОС, возможностью использования Flash в качестве графической оболочки. На этом стоит остановиться подробнее.

Как правило, в интерфейсах, разработанных на основе flash-графики, контент не может напрямую управлять компонентами ОС. В QNX же для анимации используется специализированный плеер, позволяющий получить полный контролируемый доступ к системному уровню. Это — одна из особенностей встроенного инструментального комплекса QNX Aviage HMI Suite, который обеспечивает для flash-контента доступ к компонентам ОС через систему плагинов. Плагины через API плеера могут фиксировать создание (удаление) нового экземпляра плеера. В этот момент регистрируется новый обработчик вызовов, а также новый класс, с указанием его структуры, поля данных, определяются методы, конструкторы и деструкторы. Пользовательский класс информирует внешний процессор о необходимости выполнения тех или иных действий, а также способен, при определённых условиях, заменять стандартные классы и создавать объекты визуализации. В нормальных условиях функционирования плагины являются «шлюзами», через которые операционная система взаимодействует с flash-контентом. Всё это позволяет разнести функции визуализации и управления по разным приложениям.

Кроме того, в QNX Aviage HMI Suite уже содержится поддержка основных графических файлов (BMP, JPEG, GIF, PNG) и мультимедийных функций, что избавляет от необходимости дописывать код при интеграции видеороликов, звуковых уведомлений и прочего.

В 2010 году вышла новая версия QNX Neutrino — 6.5, в которой появилась служба Persistent Publish/Subscribe. Это ключевая технология для создания систем на базе асинхронной модели и слабосвязанной архитектуры обмена сообщениями. Что такое слабосвязанная архитектура? Это альтернатива монолитной архитектуре, в которой все компоненты связаны друг с другом. Если требуется что-то заменить или добавить, в монолитной архитектуре приходится проделывать работу по выявлению всех явных и скрытых связей между элементами, вылавливанию ошибок и так далее. Слабосвязанная архитектура формируется на основе отдельных независимых друг от друга компонентов. Связи между компонентами проводятся с помощью «мостов», позволяющих, например, обмениваться файлами или сообщениями. Вот таким мостом и является служба Persistent Publish/Subscribe, позволяющая связывать человеко-машинный интерфейс с другими элементами системы с помощью всего двух Flash-расширений: для службы PPS и для QDB — сервера базы данных QNX.

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

Выше мы написали: «Когда General Motors взялась за проект…». На самом деле, за проект взялась, прежде всего, сама QNX, дабы продемонстрировать возможности по созданию так называемого connected car, то есть автомобиля, в который интегрирован Интернет. Мы уже писали о проекте LTE Connected Car как о концепте достаточно близкого будущего. Так вот, система для Chevrolet Corvette — это не будущее, это уже сегодняшний день. Аналогичные подходы и принципы реализованы в серийных автомобилях, таких как Nissan Leaf, Audi A8… Всех их объединяет двухмодульность системы, в которую входят мультимедийный блок и динамически настраиваемая панель приборов.

Головное устройство (ГУ), близкое по размеру к 2 DIN, представляет собой блок с сенсорным экраном, занимающим всю лицевую часть. Главная его «фишка» — синхронизация со смартфоном владельца автомобиля. Она возможна в двух режимах.

Terminal Mode, как несложно догадаться по названию, превращает головное устройство в терминал Android-смартфона, на его экране дублируется вся информация. Таким образом, смартфоном можно управлять с помощью сенсорного экрана и кнопок на руле. Естественно, для работы доступны все «телефонные» приложения, синхронизация контактов, браузер, игры и прочее. Другой режим, Apple iPod Out, синхронизирует систему с iPhone или iPod, позволяя управлять контентом «яблочных» устройств с главного дисплея.

Собственные возможности головного устройства примерно соответствуют таковым в QNX CAR. Это выход в Интернет через оригинальный браузер на основе Webkit, навигация с картами Google и базой данных POI, потоковое интернет-радио Pandora, которое, наконец, решило проблемы с правообладателями… Естественно, система громкой связи, работающая по Bluetooth. Всё это представлено через анимационный интерфейс на базе Adobe Flash, о простоте использования которого говорилось выше.

Есть еще одна интересная функция, названная «Виртуальный механик». Суть в том, что ГУ выполняет обязанности диагностического сканера, расшифровывающего сообщения протокола OBD-II. Подсоединяясь к CAN, ГУ становится транслятором информации о состоянии автомобиля. Причём эта информация представлена не в виде скупых текстовых сообщений, а анимирована. На экран выводится «рентген» автомобиля, и всплывающие окна содержат сообщения о проблемных участках. Вроде того, что пора менять масло или перегорел предохранитель заднего левого «поворотника».

Приборная панель — это, оказывается, не просто панель. Создатели из QNX называют её приборным кластером! Для описания возможностей используется термин «динамическая реконфигурируемость», под которым понимается в общем-то простая возможность вывода на панель информации, нужной именно в данный момент. По умолчанию при включении зажигания на «приборке» отображаются виртуальные шкалы спидометра и тахометра. При необходимости место тахометра может занять дисплей навигатора, интерфейс аудиопроигрывателя или динамическое окошко с прогнозом погоды — это уже пользователь решает сам. Сюда же можно вывести часть информации с монитора ГУ, допустим, страницу одного из социальных сервисов в Интернете. А при включении задней передачи на всю площадь приборной панели выводится изображение с камеры заднего вида.

Это не окончательный вариант конфигурации, в GM сейчас работают над внедрением ряда электронных систем, информация от которых тоже будет выводиться на панель. Таких, например, как радар-тепловизор, определяющий наличие пешеходов на дороге в полной темноте, система активного круиз-контроля с поддержанием дистанции до впередиидущего автомобиля, системы контроля выхода за границы дорожной разметки и слежения за «слепыми зонами» вокруг машины.

Этот Chevrolet Corvette впервые был показан в октябре прошлого года на выставке SAE Convergence 2010. «Джиэмовцам» он очень понравился, и начались переговоры о внедрении этой разработки в производство, в том или ином виде. Но задачей-максимум, судя по всему, было «подсадить» американский автоконцерн на платформу QNX CAR. И менеджеры QNX решились на необычный промоутерский ход: договорились с Lixar, довольно известным производителем мобильных интернет-приложений, о том, что он разработает для «Корвета» новый интерфейс. Необычность предложения заключалась в том, что программисты и дизайнеры Lixar до того момента не использовали QNX в своих разработках и вообще слабо представляли, что это такое. Главным условием было то, что на работу даётся всего 30 дней. Это, по замыслу маркетологов QNX, хорошо проявит доступность и понятность их ОС, степень её «постигаемости». И что вы думаете? Четыре человека из Lixar ровно через месяц представили готовую работу. Как это было и что в итоге получилось, можно посмотреть в этом видеоролике:

Мы запросили у канадцев подробные фото интерфейса Lixar, но нам их не прислали — секрет. Можно предположить, что это неспроста и совместная разработка QNX и Lixar действительно будет воплощена в серийных автомобилях GM.

Обновление: Точно в день выхода статьи фотографии интерфейса наконец-то добрались до нас. Подробностей разработчики открыли не слишком много, но некоторое представление о системе составить можно.



Оригинал материала: https://3dnews.ru/613621