logo1

logoT

 

Настройка кнопок на руле андроид магнитола


Как настроить кнопки руля на магнитоле Teyes CC2/Spro?

Заветная коробка получена, магнитола установлена в автомобиль, всё играет и светится, но управление устройством с кнопок руля невозможно.

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

В сегодняшней статье разберём наиболее вероятные проблемы и доступные способы их устранения.

Проблема №1: устройство «видит» нажатия на кнопки, но не может их запомнить

Устройство реагирует на нажатие кнопок, даже позволяет настроить их в приложении Обучение кнопок руля, но после настройки всех клавиш и подтверждения изменений не запоминает назначенные команды.

Если магнитола версии CC2, попробуйте обновить прошивку до последней версии по инструкции здесь.

Проблема №2: устройство не «видит» кнопок вообще

Здесь многое зависит от того, шёл ли в комплекте с устройством CAN-BUS адаптер. Выглядит он так:

Вариант 1: адаптер был в комплекте

Для начала перепроверяем, подключен ли адаптер к клемме на большей косе проводов. Заодно где-то фиксируем для себя название адаптера, оно должно находиться непосредственно на нём: Raise (RZC), Simple Soft (XP), Hiword (HW), Xinbus (XBS), либо Binary (BNR) – это пригодится чуть позже. Также проверяем клемму C – она должна быть подключена к магнитоле.

Если всё на месте, пробуем настроить сам адаптер. Через меню устройства открываем Настройки, выбираем пункт Заводские настройки, вводим пароль 168.

Листаем меню чуть ниже, нам необходимо выбрать Модель автомобиля и Модель адаптера, - которую мы как раз шагом ранее где-то для себя записали.

Подробнее о заводских настройках в этом видео:

После произведённых манипуляций рулевое управление может начать работать сразу. А может и не начать, тогда устройство нужно перезагрузить: для этого открываем верхнюю шторку, проведя пальцем от верхнего к нижнему краю дисплея, в меню выбираем перезагрузку устройства. Вуаля!

Вариант 2: какой ещё адаптер?

В этом случае магнитола подключается напрямую, без цифровой шины.

Задача заметно упрощается: на устройстве открываем приложение Обучение кнопок руля. Нажимаем на любую из кнопок управления – в верхней строке приложения числа должны меняться.

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

Если значения при нажатии кнопок не менялись – перепроверяем, надёжно ли физическое подключение: возможно, где-то контакты выходят в другую сторону, либо не защёлкнуты до упора.

Подключение надёжно, как швейцарские часы? Значит, ваш автомобиль всё-таки оснащается адаптером CAN-BUS.

А мы надеемся, что эта статья не была дочитана до конца, и проблема была решена в самом её начале. Или хотя бы пару абзацев назад.

Инструкция автомагнитолы на Андроид 10 / А750, А770, А716, А718, А660, А760

Распиновка автомагнитолы на Андроид 10 (подключение)

1. Распиновка автомагнитолы на Андроид 10 (подключение)

2. Установка русского языка и даты

3. Изменение дизайна интерфейса

4. Активация двойного экрана

5. Эквалайзер, настройки звука и баланса

6. Скачивание и установка приложений

7. Подключение смартфона по MirrorLink (Phonelink)

8. Мультируль. Подключение нарульных контроллеров. Настройка мультируля на магнитоле.

9. Доступ к заводским настройкам

10. Подсветка сенсорных кнопок боковой панели

11. Настройка кнопок сенсорной панели

12. Как выбрать наилучший усилитель для магнитолы в авто



Установка русского языка и даты

Для выбора русского языка (например после сброса настроек) войдите в Настройки через главный экран или вытяните панель управления сверху и выберите Настройки.
Если активирован английский язык (по умолчанию), то пролистайте меню настроек в самый низ:

More Settings -> Language & Input -> Language Settings -> Add a Language -> Нажмите значок лупы в правом углу -> Начните вводить “rus” (появится Русский), выберите его, нажмите Россия.
Теперь нужно перетащить строчку с русским языком на первое место. Зажмите эту строчку, она активируется, двигайте вверх, отпускайте. Все, русский язык активирован.

Синхронизация даты по сети

При этом режиме магнитола синхронизирует ваше текущее время автоматически при подключении к Wi-Fi. Для настройки даты можно нажать на часы на главном (домашнем) экране, либо зайти через настройки (если активирован русский язык):

Настройки -> Больше настроек -> Дата и Время -> Синхронизация по сети.

После чего нужно установить ваш часовой пояс (пункт меню ниже). Отобразится корректное время. Если магнитола подключена корректно, то ей больше не нужно подключаться к сети для синхронизации времени. Она сохранит настройки и благодаря постоянному питанию от аккумулятора будет сохранять текущее время. Время собьется, если магнитола будет полностью обесточена, тогда потребуется подключить ее к wi-fi и время опять станет корректным (дополнительные настройки пояса не потребуются).


Изменение дизайна интерфейса

Автомагнитолы на системе Андроид 10 (модели А750, А716, А660, А760) обладают встроенной возможностью изменения вида главного экрана и экрана приложений.

Для изменения дизайна и выбора одного из 16 вариантов главного экрана нужно:

  1. Находясь на главном экране произвести длительное касание пустой области экрана. В нижней части появятся иконки с вариантами интерфейса.
  2. Нажать на вариант нового интерфейса, он сразу активируется.
  3. Нажмите на пустую область, чтобы варианты исчезли.

Произведите аналогичные действия, находясь на экране приложений для изменения вида иконок приложений (6 вариантов).


Активация двойного экрана

Вы можете использовать одновременно два приложения на одном экране. Для активации функции «Сплит-скрин» зайдите в список запущенных приложений (1), прижмите нужное приложение и перетащите в нужную сторону экрана (на серый фон). Потом кликните на второе приложение, оно откроется на другой половине экрана. Для отмены потяните за ярлычок (2).


Эквалайзер, настройки звука и баланса

Чтобы попасть в раздел настроек звука нужно открыть меню Приложений и нажать иконку “Аудио настройки”. Также в раздел эквалайзера вы можете попасть, находясь в разделе Музыка (соответствующий значок в нижней части экрана).

Баланс звука – громкость при активированной камере заднего вида”, громкость Bluetooth настраивается в пункте “Настройки звука” (значок на вытягиваемой сверху панельке) или через “Настройки” -> Аудио (объем).


Скачивание и установка приложений

Для установки приложений из Play Market вам необходимо авторизоваться. Зайдите в Приложения -> Play Маркет – при первом входе начнется “Проверка”.

Важно! Убедитесь, что на магнитоле выставлено корректное текущее время и хороший сигнал wi-fi, иначе Проверка – выдаст ошибку.


Обратите внимание, что при первой авторизации процесс “Проверки” может выполнятся достаточно долго – около минуты. Пожалуйста, наберитесь терпения и подождите, пока на экране пропадет вращающийся круг и появится поле для ввода вашей гугл почты (аккаунта).

После авторизации в Play Маркет вы сможете искать и скачивать приложения, аналогично, как и на вашем смартфоне. Пожалуйста, учтите, что магнитола не обладает такой же высокой производительностью, как ваш смартфон и на скачивание и установку приложения может потребоваться больше времени. Пожалуйста, будьте терпиливы.

Для удаления приложения прижмите иконку этого приложения на пару секунд, появится окно с подтверждением удаления. Нажмите “Да”.

ВОПРОС: Процесс проверки при первой авторизации в Play Market происходит слишком долго. В чем может быть причина?
ОТВЕТ: Такое возможно, если система запустила автоматическое обновление приложений при подключении к Wi-fi. Проверить это можно, вытянув верхнюю панель. В случае обновления под ней отобразится диспетчер загрузки обновления. Нужно подождать или отменить обновление вручную.


Подключение смартфона по MirrorLink (Phonelink)

Функция подключения экрана телефона к магнитоле доступна через USB провод и через Wi-fi для смартфонов на Android. И только через Wi-fi для iPhone.
Обратите внимание, что сенсорное управление смартфоном через экран магнитолы возможно только при подключении через USB. Для вывода звука, необходимо параллельно подключить ваш смартфон через Bluetooth. При первом подключении потребуется сделать ряд действитй.

1. Откройте приложение phonelink на магнитоле (меню Приложения -> phonelink (на последнем экране).


2. Выберите Mobile phone QR code

Откроется QR ссылка для скачивания и установки приложения TimaAvn.

3. Подключение Андроид смартфона через USB:

Перед подключением смартфона к магнитоле необходимо в настройках телефона зайти в режим разарботчика и включить опцию Отладка по USB, а также активировать пункт Отладка по USB (настройки безопасности) – это необходимо для управления телефоном через экран магнитолы. Данное действие проводится один раз. 

Далее:

  • Подключите смартфон к магнитоле через USB провод, начнется зарядка.
  • Запустите приложение TimaAvn на смартфоне.
  • Откройте phonelink на магнитоле и выберите режим Android USB. Откроется окно, где выполненные пункты будут отмечены желтым ярким маркером:

 

  • После того, как на смартфоне появится диалоговое окно, нажмите начать.

Дальнейшее подключение делается буквально в несколько кликов. Просто запустите приложения на смартфоне и на магнитоле, выберите режим и нажмите “Начать” на смартфоне.

4. Подключение Андроид смартфона через Wi-fi:
  • Активируйте точку доступа на вашем смартфоне и подключите к ней магнитолу по wi-fi.
  • Запустите приложение TimaAvn на смартфоне.
  • Откройте приложение phonelink на магнитоле и выберите пункт Android WIFI. Откроется окно, где выполненные пункты будут отмечены желтым ярким маркером:

  • На экране смартфона появится диалоговое окно. Нажмите “Начать”.  Экран смартфона отобразится на экране магнитолы.

Обратите внимание: Управление смартфоном через экран магнитолы при подключении по WIFI недоступно. Также скорость обмена информацией может быть ниже, чем при подключении через USB – изображение может передаваться с небольшой задержкой.


Мультируль. Подключение нарульных контроллеров. Настройка мультируля на магнитоле.

На моделях автомагнитол A750, A760, А716, A660 доступна функция подключения 2-х комплектов штатных кнопок управления на руле автомобиля. Если у вас нет нарульных контроллеров, то вы можете приобрести дополнительно нарульный пульт управления основными функциями магнитолы.

Для подключения мультируля нужно корректно определить два провода (или один), отвечающие за передачу сигнала от кнопок руля вашего автомобиля на магнитолу и провод заземления нарульных контроллеров.

Сделать это можно с помощью схемы распиновки вашего авто. Чаще всего данные провода на схеме могут обозначаться как:

  • Steering_Wheel Remocon – провод питания кнопок и
  • Steering_Wheel Remocon_GND – провод заземления кнопок (смотрите пример схемы распиновки Kia Sportage).

После того, как провода определены, вам нужно:

  1. Подключить провод от автомагнитолы KEY1 к Steering_Wheel Remocon (и KEY2 к аналогичному, если у вас два комплекта нарульных контроллеров).
  2. Провод заземления Steering_Wheel Remocon_GND на массу автомобиля, либо на черный провод (-) магнитолы.

На этом подключение мультируля завершено, теперь останется только провести обучение кнопок на магнитоле.

Обучение кнопок руля на магнитоле с ОС Андроид 10

Зайдите в меню приложений и выберите “Кнопка рулевого колеса”.

Войдите в первый пункт “Кнопка выбора”.

Отметьте функции, к которым хотите привязать рулевые кнопки. Нажмите OK.

Нажмите “Начало”. Выберите функцию и продолжительно нажмите сооветствующую кнопку на руле. Должно появиться сообщение, что кнопка удачно определена. Также сделайте и с остальными функциями. После этого сохраните настройки – последний пункт.

Выйдите в главное меню и проверьте работу всех кнопок. При необходимости повторите процедуру.


Доступ к заводским настройкам

Для доступа к управлению заводскими настройками перейдите в меню Настройки -> Заводская настройка, введите Код: 1234 (и нажать В порядке).


Подсветка сенсорных кнопок боковой панели

На данных моделях автомагнитол возможна активация подсветки сенсорных кнопок управления на боковой панели (только один лунный цвет).
Для активации подсветки:

  1. Зайдите в раздел “Заводская настройка” (см. пункт выше).
  2. Выберите “Настройки ярких огней”.
  3. В правой верхней части экрана измените пункт “Руководство по эксплуатации” на “Авто”.

Подсветка активирована.


Настройка кнопок сенсорной панели

Функции кнопок боковой сенсорной панели установлены по умолчанию, но может случиться, что по каким-то причинам данные настройки сбились.

Для установки функций сенсорной панели потребуется сделать несколько простых шагов.
Войдите в меню заводские настройки:

  1. Настройки -> Заводская настройка -> Пароль (1234) (нажать “В Пордяке”).
  2. Далее выберите пункт “Обучение сенсорной кнопке“.
  3. Нажмите “Начало”. Далее выберите функцию и нажмите соответствующую кнопку на сенсорной панели.
    После того, как установите все кнопки, нажиите “Конец”.

Как выбрать наилучший усилитель для магнитолы в авто

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

И, главное, как выбрать подходящий именно вам усилитель звука в машину. Передя по ссылке вы узнаете, что такое одноканальные, двухканальные и 4-х канальные усилители и в чем отличие данных разновидностей. Также вам представится рейтинг различных многоканальных вариантов усилителей. Читайте о ТОП-20 лучших автомобильных усилителей на 2022 год.

Как установить адаптер управления на рулевом колесе

Узнайте, как установить адаптер управления на рулевом колесе

Одна из проблем при замене заводского радиоприемника новым приемником заключается в том, что эти удобные элементы управления звуком, встроенные в рулевое колесо, не будут работать. работать больше.

Чтобы решить эту дилемму, установите адаптер для управления аудиосистемой на рулевом колесе, который мы предлагаем со скидкой при покупке совместимой стереосистемы. В этом видео мы познакомим вас с процессом установки.

Установка адаптера управления аудиосистемой на рулевом колесе | Стенограмма видео

Когда вы устанавливаете новую стереосистему в свой автомобиль, вы теряете ее преимущества — удобные элементы управления, встроенные в рулевое колесо. Это потому, что они подключены к заводской стереосистеме, и вы не можете просто подключить ее к задней панели новой стереосистемы.

Но что вы можете сделать, так это установить специальный адаптер, подобный этому, что мы и делаем сегодня. Этот адаптер позволяет этим элементам управления взаимодействовать с новой стереосистемой, чтобы вы могли использовать их так же, как и раньше.

Планирование проводных соединений
Я подготовился к этой установке и загрузил инструкции прямо с веб-сайта Axxess. На их сайте вы сообщаете им, какой у вас автомобиль, и они сразу сообщают вам, работает ли их адаптер с вашим автомобилем. И оттуда шаг за шагом, провод за проводом, то, что вам нужно сделать для установки. Я добавил цветовую кодировку, чтобы немного помочь себе.

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

Снимите стереосистему с приборной панели
Я снял верхнюю панель, затем открутил пару винтов и снял главную приборную панель, обнажив радио. Затем еще четыре винта со стороны магнитолы, и она свободна. Теперь я могу добраться до всей проводки. Далее посмотрю адаптер. Открыв упаковку, я обнаружил инструкцию, пару жгутов проводов и, конечно же, сам адаптер.

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

Остается большой черный кабель. Это кабель управления, который можно подключить к большинству стереосистем. Теперь мой — один из брендов, который не работает так просто, поэтому вместо этого они включают этот адаптер. Я подключаю его сюда, а затем подключаю один из этих двух коричневых проводов к проводу, который уже находится на задней панели моей стереосистемы. Не так уж плохо.

Переустановите стереосистему
Я использовал разъемы Posi-Tap, чтобы выполнить все соединения проводки между жгутом адаптера и моей стереосистемой. И теперь я собираюсь переустановить стерео. Итак, я подключаю его обратно. А вот и наш новый адаптер и жгут проводов. Подключи этого парня, поехали, и принеси его туда, где я смогу до него добраться за несколько минут.

Программирование адаптера управления рулевым колесом
Хорошо, мы закончили установку стереосистемы и адаптера, приборная панель снова собрана, и я вытолкнул адаптер через нижнюю часть приборной панели, чтобы я мог его видеть, потому что следующим шагом будет программирование адаптера. Он должен знать, в какой машине он находится и к какой стереосистеме он подключен. Для этого я включаю зажигание и наблюдаю, как адаптер Axxess начнет мигать. Как только это происходит, следуя инструкциям, я удерживаю кнопку громкости на руле и просто жду, пока он проходит свой темп, выясняя все, что ему нужно знать. И как только светодиод адаптера загорится ровным светом — перестанет мигать — все готово. После этого нужно протестировать кнопки, чтобы убедиться, что они работают. И они делают.

Вот как вы устанавливаете адаптер управления рулевым колесом. Потребовалось немного планирования и подготовки, но на самом деле это было не так уж и сложно. Я выбрал адаптер Axxess, потому что он мог сам себя программировать, то есть мог сам определять, какие кнопки на рулевом колесе управляют какими функциями стереосистемы, и это немного облегчало процесс.

Иногда это невозможно понять, и приходится делать это вручную, так что приходится заходить и говорить "Эта кнопка управляет треками. Эта кнопка управляет громкостью и т.д." Инструкции для этого включены, и это не так сложно. Это просто еще одна серия шагов.

Итак, адаптер работает, изменяя громкость на диске. Я могу менять треки. Это также позволит мне просмотреть источники. Я очень рад, что эти кнопки снова работают, и если вы собираетесь сделать это в своем автомобиле, я настоятельно рекомендую вам установить адаптер на рулевое колесо одновременно с заменой стереосистемы. Это просто сэкономит вам много работы. Когда будете готовы это сделать, позвоните нам. Наши консультанты позаботятся о том, чтобы вы получили адаптер, который подходит как к вашему автомобилю, так и к стереосистеме вашей марки.

Использование неиспользуемых кнопок на рулевом колесе в качестве общих макросов для головного устройства Android

В этой статье рассматривается автомобильный проект, в котором я подключаю неиспользуемые кнопки на рулевом колесе моей машины к микроконтроллеру, который, в свою очередь, эмулирует клавиатуру и мышь. к информационно-развлекательной системе автомобиля через USB.

tl;dr , кнопки образуют лестницу резисторов, и я использую черную плату STM32 для считывания состояния кнопок с помощью АЦП. STM32 эмулирует клавиатуру, потребительские и дигитайзерные USB HID-устройства, которые позволяют отправлять предварительно настроенные действия, как если бы их выполнял человек. Для написания прошивки используются PlatformIO IDE и Arduino framework.

Введение

Я езжу на Mazda 3 2010 года выпуска 2-го поколения. Как и следовало ожидать от модели 2010 года, она поставлялась со скучной автомобильной стереосистемой в старом стиле без сенсорного экрана. В прошлом году я заменил это штатное головное устройство на новое на базе Android. Это оказалось одной из лучших покупок, которые я когда-либо делал. Новое устройство работает под управлением Android 9, оснащено Wi-Fi, Bluetooth, GPS, USB, подключением передней и задней камеры и многими другими функциями. Я могу устанавливать на него приложения из Play Market и пользоваться подключенными сервисами. Это обновление действительно улучшило впечатления от вождения.

OEMAndroid

Головное устройство предназначено для управления мультимедийными кнопками на рулевом колесе, а также интегрируется с оригинальным мультимедийным ЖК-дисплеем. Дисплей отделен от головного устройства и установлен в верхней части приборной панели. На этом дисплее отображается текущая радиостанция, громкость и т. д. Для достижения этой интеграции головное устройство поставляется с интерфейсным блоком шины CAN.

Mazda продала несколько уровней автомобилей Mazda 3 2010 года выпуска в моем регионе. Базовая версия имеет рулевое колесо с одним набором кнопок для «мультиинформационного дисплея», который представляет собой еще один ЖК-дисплей, отображающий такие данные, как расход топлива. Более продвинутые версии Mazda 3 поставляются с рулевым колесом с 3 наборами кнопок, более красивой кожей и т. Д. Два дополнительных набора кнопок — это мультимедийные кнопки и кнопки круиз-контроля.

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

Я провел небольшое исследование и обнаружил, что различные типы рулевых колес совместимы и что все разъемы одинаковы. Это имеет большой смысл с точки зрения стандартизации жгутов проводов и разъемов. Я купил подержанный руль от более продвинутой Mazda 3 2-го поколения, который был полностью разобран, и установил его в свою машину.

OldNew

Как и ожидалось, мультимедийные кнопки теперь работали, и кнопки «мультиинформационный дисплей» также работали нормально, как и раньше, однако теперь у меня были кнопки круиз-контроля, которые ничего не делали. Они не давали родной функционал круиз-контроля и никак не регистрировались в бортовой развлекательной системе. Глядя на документацию (в основном руководство по ремонту, доступное в Интернете) и проверив разъем с помощью мультиметра, становится ясно, что каждый набор кнопок является отдельным, имеет свои собственные провода и идет к другому компоненту в автомобиле.

В Интернете есть упоминания о том, что включение круиз-контроля для модели, которая не поставлялась с ним, требует программирования блока управления двигателем (ECU). Я не хотел заходить так далеко, чтобы что-то менять в двигателе или ЭБУ, к тому же мне не нужен был круиз-контроль. Однако я подумал, что было бы здорово, если бы я мог использовать эти кнопки для общего использования с моим новым головным устройством. Для этого мне нужно будет получить «щелчки», обработать их и каким-то образом передать на головное устройство.

Итак, начнем. 😉

Получение доступа к кнопкам

Я предпочитал вносить как можно меньше изменений в машину. Первый метод, который я попробовал, просто потому, что он минимально инвазивен, — это прослушивание шины CAN.

Автомобиль имеет две шины CAN, доступные в разъеме OBD2; высокоскоростная шина 500 Кбит/с и низкоскоростная шина 125 Кбит/с. Я использовал готовый модуль Bluetooth ELM327, а также Arduino с модулем шины CAN MCP2515 для подключения к шинам. Arduino запускает скрипт, основанный на arduino-can-reader, который пересылает сообщения на ПК через последовательное соединение, где скрипт python, основанный на python-can-monitor, красиво отображает сообщения на экране.

Сообщения от низкоскоростной шины CAN

Мне удалось прочитать данные, такие как связь между головным устройством и мультимедийным ЖК-дисплеем. Попробуйте найти радиостанцию, которую я слушаю, на скриншоте выше ;). Однако ничего связанного с нажатиями на кнопки круиз-контроля или медиа-кнопки нет. Глядя на результаты сопоставления шины CAN Mazda, сделанные другими в Интернете (1, 2, 3, 4, 5, 6), я пришел к тому же выводу, что эти наборы кнопок сообщают напрямую связанным «клиентам» без использования шины CAN.

Прочитав руководство по ремонту автомобиля, я смог найти некоторую информацию о том, как работают кнопки круиз-контроля. На самом деле это очень хорошо задокументировано! Кнопки образуют резисторную лестницу (своего рода), которая проходит через часовую пружину (это устройство, которое позволяет электрическим соединениям проходить через вращающееся рулевое колесо), а затем непосредственно к PCM (модулю управления силовой передачей) AKA ECU. PCM имеет подтягивающее устройство на одном из соединений, которое в сочетании с сопротивлением кнопок образует делитель напряжения, поэтому PCM может вычислить, нажаты ли кнопки.

Это означало, что мне нужно было получить доступ к двум проводам и подключиться к ним. На схеме показано, какие положения в разъеме являются правильными. Очевидно, мы хотим постучать между часовой пружиной и ЭБУ, а не в той части, которая вращается. Разобрать рулевую колонку довольно просто. Как только я получил доступ внутрь, я смог измерить напряжение и сопротивление и убедиться, что у меня правильные провода. Я нашел то, что диктовало путь вперед. Система реализована таким образом, что провода подтягиваются только при нахождении ключа в положении ON (предпусковой или при работающем двигателе) и не подтягиваются в положении АСС (аксессуар) при включении магнитолы. работает, а двигатель нет. Оглядываясь назад, это имеет смысл, потому что зачем вам круиз-контроль, когда двигатель не работает? Это потребовало от меня обрезать и перенаправить провода, а не просто «нажимать» на них, потому что мне было интересно прочитать кнопки в режимах ON и ACC. Ничего страшного, я бы просто подтянулся позже в следующих разделах. Следует также упростить интеграцию, так как мне не придется иметь дело с каким-либо влиянием ECU, различными уровнями оснований и т. д.

  • До
  • Крупный план
  • Тестирование
  • Подключены новые провода
Перенаправление сигналов

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

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

Управление головным устройством

Сам по себе Android не имеет контактов «gpio» или АЦП, о которых я знаю и который я мог бы использовать для считывания состояния кнопок. Поэтому мне нужно было добавить какой-то микроконтроллер посередине, который бы взаимодействовал между аппаратными кнопками и головным устройством Android. Как я могу передать события кликов на Android?

Моей первой попыткой было эмулировать клавиатуру Bluetooth с помощью ESP32. Это оказалось довольно просто. Я следовал этому примеру проекта, в котором используется библиотека ESP32-BLE-Keyboard. К сожалению, головное устройство нельзя подключить к другим устройствам Bluetooth, так как оно само является устройством Bluetooth. Головное устройство обычно подключается к телефону водителя и работает как гарнитура и аудиоустройство. Таким образом, у нас есть клиент к клиенту ситуация.

Затем я подумал о создании соединения Wi-Fi между ESP32 и головным устройством и отправке событий щелчка с ESP32 на устройство по Wi-Fi. Чтобы реагировать на события, мне понадобится либо специальное приложение для Android на устройстве, либо использование чего-то вроде MacroDroid. Хотя у меня есть опыт написания приложений для Android, я решил, что это слишком сложно для масштаба этого проекта.

В конце концов, устройство, выполняющее интеграцию, должно быть каким-то образом запитано, скорее всего, через USB-соединение. Если мы все равно собираемся использовать разъем USB, мы могли бы также использовать протокол, а не только питание. Таким образом, победившим решением стала эмуляция USB HID (устройства с интерфейсом пользователя) с микроконтроллером. Это имеет несколько преимуществ: во-первых, это полностью проводное соединение и, следовательно, более безопасное и надежное, чем беспроводное соединение. Во-вторых, с HID легко эмулировать клавиатуру, а также другие типы HID-устройств, такие как мышь, дигитайзер (вроде мыши с абсолютными координатами), «потребительское» устройство и т. д. Потребительское устройство — это особый класс. устройства USB HID, которое может вызывать определенные предопределенные действия, такие как «Домой», «Стоп», «Печать», «Найти» и т. д. Это на самом деле важно, потому что часто это может быть самый простой или единственный способ вызвать определенную функцию .

В качестве примечания я также рассматривал возможность использования последовательного профиля USB, когда микро будет отправлять команды на Android через последовательное соединение через USB. Это решение также требует запуска приложения или службы в головном устройстве и показалось мне слишком сложным и ограниченным. Возможно, создание плагина MacroDroid или Tasker для последовательной связи может быть способом реализовать это. Может быть, использование чего-то готового, такого как AutoArduino от Tasker, поможет?! В конце концов, однако, вы будете ограничены действиями, которые может выполнять приложение автоматизации, поэтому этот подход не такой гибкий, как USB HID.

Поскольку ESP32 не имеет встроенной функции USB, для этого проекта мне понадобился другой микроконтроллер и плата. Платформа Arduino имеет функциональность USB-клавиатуры и мыши для некоторых плат Arduino, таких как Leonardo, Esplora, Zero, Due и MKR Family. Однако он не реализует потребительское устройство, а мышь является относительной, а не абсолютной, что весьма контрпродуктивно для выполнения макросов. Так что нам в любом случае понадобится библиотека. Одной из многообещающих была библиотека NicoHood HID.

Из-за вспышки COVID-19 поставки с Дальнего Востока очень медленные и ненадежные. Поэтому я искал то, что у меня уже было, что я мог бы использовать для реализации USB HID. Я нашел неиспользованную плату STM32F103 «черная таблетка», которая имеет родной USB, и решил, что буду использовать ее для этого проекта.

«Черная таблетка»

Черная таблетка — дешевая макетная плата с микроконтроллером STM32. Если вы собираетесь использовать его с платформой Arduino, вы должны знать, что есть два популярных ядра STM32. Ардуино STM32 от Роджера Кларка основано на libmaple от LeafLabs и имеет более долгую историю. Определите «board_build.core = maple» в platformio.ini, чтобы использовать его. Второй более новый, но это официальный STM под названием «STM32duino». Определите «board_build.core = stm32duino» в platformio.ini, чтобы использовать его. Есть хороший обзор некоторых основ STM32, который вы можете прочитать, если собираетесь иметь дело с этой архитектурой.

Однажды на STM32 я нашел две библиотеки USB HID, которые показались мне подходящими. Первый — MediaKeyboard от onetransistor, а второй — USBComposite_stm32f1 от arpruss. Я выбрал библиотеку USB Composite, которая показалась мне более функциональной. Он работает конкретно с ядром Роджера. Он поддерживает массу типов USB; HID, MIDI, хранилище, последовательный порт, контроллеры, а в категории HID это может быть клавиатура, мышь, потребительский, джойстик и многое другое. Я попробовал устройство с абсолютной мышью, и хотя оно работало нормально на ПК, оно не работало на Android. После некоторых исследований и с помощью магии открытого исходного кода я добавил профиль для устройства дигитайзера. Теперь я мог отправлять касания, нажатия клавиш и потребительские события на Android. Это дает наибольшую гибкость, поскольку я могу автоматизировать все, что могу вводить пальцами. Единственным недостатком является отсутствие обратной связи, то есть микроконтроллер не видит экран и не получает состояние. Таким образом, вы работаете с головным устройством с закрытыми глазами.

Изготовление устройства

Конечная цель состояла в том, чтобы подключить макетную плату к куску перфорированной платы, поместить все это добро в пластиковый корпус, подключить к кнопкам и USB-порту и поставить где-нибудь в машине. Назовем всю эту установку «устройством».

Первым шагом в создании устройства было создание схемы на макетной плате в лаборатории. Я сделал небольшую резисторную лестницу, используя несколько кнопок и резисторов, чтобы имитировать кнопки в машине. Сопротивление кнопок на руле было от 0 до 4,3 кОм. Чтобы сформировать делитель напряжения и оптимально использовать диапазон АЦП, я решил использовать подтягивающий резистор номиналом 4,7 кОм. Внутреннее значение подтяжки STM32 составляет около 40 кОм, что уменьшит эффективный диапазон напряжения, который будет генерировать эта установка. Внутреннее подтягивание тоже не такое стабильное, как внешнее. Таким образом, одна секция на перфорированной доске будет внешней подтяжкой.

Моделирование кнопок в лаборатории.

Задача в этом проекте заключалась в получении точных показаний от АЦП черной таблетки. Я часто получал выбросы, которые казались щелчками кнопок, когда ничего не нажималось. Силовые шины были не очень стабильны. Другие компоненты будут влиять на показания АЦП, генерируя шум. Несколько причин тому:

  • Емкость всего в несколько мкФ на шинах 5 В и 3,3 В (на других платах обычно значения 10-100 мкФ) — поэтому легко получить нестабильное питание.
  • Нет контакта для линии 5 В, поэтому нет естественного способа подключения энергоемких компонентов, таких как двигатели или зуммеры.
  • Для шины 3,3 В имеется только один регулятор, поэтому все пользователи могут мешать друг другу.
  • Эталон АЦП находится на той же шине, что и все остальное, поэтому любые падения на основной шине повлияют на показания АЦП.

Я предполагаю, что все эти проблемы являются результатом строгой цели по затратам. После всего. эта доска стоит около 3 долларов с доставкой. Чтобы решить некоторые из этих проблем, я внес следующие изменения:

  • Добавлен конденсатор 10 мкФ на шину 5 В (это максимальное значение согласно спецификации USB)
  • Добавлен конденсатор 47 мкФ на шину 3,3 В
  • Припаян провод для прямого доступа к шине 5 В
  • Добавлен усредняющий фильтр в ПО
  • Реализована логика в программном обеспечении для ожидания стабилизации состояния перед генерацией событий кнопки

Еще одна функция, которую я хотел иметь, — это звуковая обратная связь. Я хотел, чтобы устройство издавало звуковой сигнал, и желательно по-разному для разных типов нажатий (коротких, длинных, двойных и т. д.). Следовательно, другая секция на плате производительности будет содержать транзистор, резисторы и зуммер, необходимые для подачи простых звуковых сигналов. С программной точки зрения делать было нечего, так как ядро ​​уже имело работающую реализацию функции тона.

Вся эта схема реализована на плате Perf, которая имеет разъемы для подключения платы разработки. Поскольку это проект USB HID, я выделил USB-порт для этой функции и использовал ключ ST-Link для программирования и отладки. устройство, а также использовал последовательный USB-адаптер для мониторинга потока отладки. Простой логический анализатор использовался для устранения проблем с шиной питания и электрического шума зуммера.

Пациент с дополнительными устройствами для разработки

Прошивка для этого проекта находится на github, не стесняйтесь форкнуть. Код был написан с использованием IDE PlatformIO. Это не особенно сложно. Возможно, самая запутанная часть — это логика состояния для обработки нажатий кнопок. Я реализовал только обнаружение одиночных нажатий кнопок за раз (т.е. без комбинаций), хотя я думаю, что более одной кнопки можно обнаружить с достаточно стабильным АЦП.


Learn more

     ico 3M  ico armolan  ico suntek  ico llumar ico nexfil ico suncontrol jj rrmt aswf