Автоиндустрия Linux класса сантехника показывает знакомые лица Linux

На Embedded Linux Conference Europe Мэтт Портер и Скотт Мюррей из Консулько углубились в слесарное дело AGL - и оказалось, что все не так страшно.

Среди сессий на недавней Европейской конференции по встраиваемым Linux-системам (ELCE), 57 из которых доступны на YouTube, есть несколько докладов о проекте Linux Foundation Automotive Grade Linux .
В их число входит обзор менеджера сообщества AGL Уолта Майнера, показывающий, как дистрибутив Linux от Unified Code Base (UCB) AGL расширяется от информационно-развлекательной системы (IVI) в автомобиле до ADAS.
Была даже презентация об использовании AGL для создания робота с дистанционным управлением.


Мэтт Портер из Консулько сходит с ума от Automotive Grade Linux

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

Здесь мы рассмотрим «Состояние AGL: сантехника и услуги» от технического директора Konsulko Group Мэтта Портера и старшего штатного инженера-программиста Скотта Мюррея.
Портер и Мюррей ознакомились с компонентами текущей версии UCB 4.0 «Daring Dab» , а также подробно описали основные восходящие компоненты и привязки API, многие из которых появятся в выпуске Electric Eel, который должен выйти в январе 2018 года.

Несмотря на автомобильную направленность стека AGL, большинство компонентов уже знакомы разработчикам Linux.
«Это очень похоже на настольный дистрибутив, - сказал Портер посетителям ELCE в Праге.
«Все эти знакомые друзья».

Некоторые из этих друзей включают базовый проект Yocto «Poky» с фундаментом OpenEmbedded, который увенчан слоями, такими как oe-core, meta-openembedded и metanetworking.
Другие компоненты основаны на знакомом программном обеспечении с открытым исходным кодом, таком как systemd (управление приложениями), Wayland и Weston (графика), BlueZ (Bluetooth), oFono (телефония), PulseAudio и ALSA (аудио), gpsd (местоположение), ConnMan (Интернет), и wpa-соискатель (WiFi), среди других.

Прикладная среда UCB контролируется через интерфейс WebSocket с привязками API, что позволяет приложениям взаимодействовать друг с другом.
Также имеется новый виджет W3C для альтернативной схемы упаковки приложений, а также поддержка SmartDeviceLink, технологии, разработанной в Ford, которая автоматически синхронизирует системы IVI с мобильными телефонами.

Графический слой AGL UCB Wayland / Weston дополнен «оболочкой IVI», которая работает с менеджером слоев.
«Одним из уникальных требований автомобильной промышленности является возможность разделять аспекты применения по слоям», - сказал Портер.
«Например, в навигационном приложении визуализация графики для карты может полностью отличаться от механизма, используемого для художественных оформлений пользовательского интерфейса.
Один движок накладывается на поверхность в Уэйленде, чтобы показать карту, а украшения и элементы управления обрабатываются другим слоем ».

Для аудио ALSA и PulseAudio объединяются GENIVI AudioManager, который работает вместе с PulseAudio.
«Мы используем AudioManager для аудио-маршрутизации на основе политик», - пояснил Портер.
«Это позволяет вам писать очень сложную политику на основе XML, используя механизм правил с аудио маршрутизацией».

UCB опирается, в первую очередь, на известный проект Smack по безопасности, а также включает в себя сервис проверки политики Tizen Cynara .
Демон D-Bus с поддержкой Cynara используется для управления политиками безопасности Cynara.

Обязательный арбитраж

Далее Портер и Мюррей объяснили механизм связывания API AGL, который, согласно Мюррею, «абстрагирует пользовательский интерфейс от его внутренней логики, чтобы вы могли заменить его собственным пользовательским интерфейсом». Вы можете повторно использовать логику приложения с различными реализациями пользовательского интерфейса, например, переход от стандартного Qt к HTML5 или нативный инструментарий.
Запросы и ответы привязки приложений используют JSON через HTTP или WebSocket.
Вызовы привязки могут быть сделаны из приложений или из других привязок, тем самым обеспечивая «укладку» привязок.

Портер и Мюррей завершили подробное описание каждой привязки.
Они включают привязки вверх по течению в настоящее время на различных стадиях разработки.
Первая - это основная привязка, которая управляет жизненным циклом приложения, включая такие задачи, как установка, удаление, запуск и завершение работы.
Другие восходящие привязки включают привязку WiFi и привязку Bluetooth на основе BlueZ, которая в будущем будет обновлена ​​с помощью Bluetooth PBAP (профиль доступа к телефонной книге).
PBAP может соединяться с базами данных контактов на вашем телефоне и связываться с привязкой к телефонии для репликации идентификатора абонента.

Привязка телефонии на основе oFono также вызывает обращения к привязке Bluetooth для поддержки профиля громкой связи Bluetooth (HFP).
В будущем привязка к телефонии добавит поддержку отправленных тонов, ожидание вызова, переадресацию вызова и поддержку голосового модема.

Поддержка AM / FM-радио недостаточно развита в мире Linux, поэтому для связывания Radio AGL начал с поддержки кода RTL-SDR для младших радиопереключателей.
В планах на будущее поддержка конкретных автомобильных тюнеров.

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

Привязки местоположения включают привязку GPS на основе gpsd , а также GeoClue и GeoFence.
GeoClue, построенный вокруг службы геолокации GeoClue D-Bus, «немного пересекается с GPS, который использует те же данные о местоположении», говорит Портер.
GeoClue также собирает данные о местоположении из баз данных WiFi AP, информации о башнях 3G / 4G и базы данных GeoIP - источников, которые полезны «если вы внутри или у вас нет хороших решений», добавил он.

GeoFence также зависит от привязки GPS.
Это позволяет установить ограничивающий прямоугольник, а затем отслеживать входящие и исходящие события.
GeoFence также отслеживает статус «пребывания», который определяется по прибытии домой и пребыванию в течение 10 минут.
«Это вызывает некоторое поведение, основанное на тайм-ауте», - сказал Портер.
Планы на будущее требуют настраиваемого времени перехода в режим ожидания.

Несмотря на то, что большинство этих связываний в восходящем потоке хорошо известны, существуют также связывания в процессе работы (WIP), которые все еще находятся на ранних стадиях, включая привязки CAN, HomeScreen и WindowManager.
В дальнейшем планируется добавить распознавание речи и привязки текста к речи, а также привязку модема WWAN.


2018 Toyota Camry

В заключение Портер отметил: «Как и любой проект с открытым исходным кодом, нам крайне необходимо больше разработчиков». Проект Automotive Grade Linux может показаться некоторым разработчикам второстепенным, но он предлагает приятную смесь знакомств - основанную на многих широко используемых проектах с открытым исходным кодом - наряду с волнением расширения в новый и потенциально изменяющий игру форм-фактор вычисления: Ваш автомобиль.
AGL также продемонстрировал успех - теперь вы можете проверить AGL в действии на Toyota Camry 2018 года , а в следующем месяце - большинство автомобилей Toyota и Lexus, проданных в Северной Америке.

Смотрите полное видео ниже:

Состояние AGL: Сантехника и услуги

Эта статья защищена авторским правом © 2017 Linux.com и была первоначально опубликована здесь .
Он был воспроизведен этим сайтом с разрешения его владельца.
Пожалуйста, посетите Linux.com для получения последних новостей и статей о Linux и open source.