PCCar.ru - Ваш автомобильный компьютер

Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > Общение с машиной

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2013, 16:16   #1
zyxel812
Старший Пользователь
 
Регистрация: 18.02.2013
Возраст: 42
Город: Санкт-Петербург
Регион: 78, 98
Машина: e46
Сообщений: 163
zyxel812 is a name known to allzyxel812 is a name known to allzyxel812 is a name known to allzyxel812 is a name known to allzyxel812 is a name known to allzyxel812 is a name known to all
По умолчанию BMW IBUS to USB Keyboard

Начну уже, пожалуй, тему.
И так, много народу сталкивается с необходимостью подключить кнопки на руле своего автомобиля к carpc. Среди них, в том числе, и владельцы BMW. В BMW нажатия кнопок на руле (и многие другие данные связанные с мультимедиа и приборной панелью) передаются по шине, называемой IBUS (по крайней мере, в e46 и в соседних по модельному ряду). Физически она представляет собой, так называемую, K-Line диагностическую линию связи, по которой данные передаются в одном общем проводе. Передаются они так же, как и в последовательном интерфейсе RS-232, более известном как COM порт, на скорости 9600 бит/с, по 8 бит в байте, с одним стоп-битом, без контроля четности (как на этой картинке). Это если описывать шину в двух словах, интересующиеся техническими деталями смогут найти их на необъятных просторах Интернета.

Задача: «отлавливать» на шине нажатия кнопок на руле и передавать эти нажатия в carpc, эмулируя нажатия кнопок на обычной клавиатуре.

Для этого собирается адаптер по вот такой схеме:
(схема во вложении)

Это пока черновик, еще не собранный. Все узлы ранее проверялись по отдельности. Я сейчас в процессе написания прошивки. Уже готова часть, эмулирующая клавиатуру. Изучены посылки, которые передаются по шине при нажатии кнопок. Осталось научить контроллер распознавать эти посылки и при их обнаружении посылать в компьютер код одной из клавиш клавиатуры. Для каждой кнопки на руле свой код клавиши. Это могут быть горячие клавиши WinAMP’а или любые другие произвольные клавиши. Я это делаю для Android, который понимает клавиатуры с мультимедиа кнопками, и собираюсь эмулировать мультимедиа кнопки управления звуком и переключения треков.
Проект уже близок к финишной прямой. Начинаю тему здесь заранее, чтобы перед воплощением в железе услышать пожелания по дополнительному функционалу, который возможно будет включен в проект. Схема, печатная плата и прошивка контроллера будут выложены тут. Если кому есть что сказать, высказывайтесь.
Миниатюры
Нажмите на изображение для увеличения
Название: ibus_usb.png
Просмотров: 1806
Размер:	52.9 Кб
ID:	30226  
zyxel812 вне форума   Ответить с цитированием
Старый 08.03.2013, 22:46   #2
m50b20
Старший Пользователь
 
Аватар для m50b20
 
Регистрация: 29.09.2009
Возраст: 42
Регион: 77, 97, 99, 177
Машина: BMW Z4 Coupe
Сообщений: 183
m50b20 will become famous soon enoughm50b20 will become famous soon enough
По умолчанию

А когда примерно будет готов и сколько будет стоить ?
m50b20 вне форума   Ответить с цитированием
Старый 09.03.2013, 13:24   #3
zyxel812
Старший Пользователь
 
Регистрация: 18.02.2013
Возраст: 42
Город: Санкт-Петербург
Регион: 78, 98
Машина: e46
Сообщений: 163
zyxel812 is a name known to allzyxel812 is a name known to allzyxel812 is a name known to allzyxel812 is a name known to allzyxel812 is a name known to allzyxel812 is a name known to all
По умолчанию

Первый вариант работоспособной прошивки, если пройдет полевые испытания, то сегодня или завтра будет готов.
Купив вот такую плату, микросхему MC33290, пару керамических конденсаторов на 0,1мкФ и такой винтовой клемник вполне можно самостоятельно изготовить работоспособный девайс уже сейчас.
Я же буду еще дорабатывать схему, разрабатывать свою печатную плату, в которую собираюсь добавить контроллер питания carpc и только потом можно будет говорить об изготовлении девайса. Надеюсь закончить работу в течении этого месяца.
zyxel812 вне форума   Ответить с цитированием
Старый 11.03.2013, 13:17   #4
zyxel812
Старший Пользователь
 
Регистрация: 18.02.2013
Возраст: 42
Город: Санкт-Петербург
Регион: 78, 98
Машина: e46
Сообщений: 163
zyxel812 is a name known to allzyxel812 is a name known to allzyxel812 is a name known to allzyxel812 is a name known to allzyxel812 is a name known to allzyxel812 is a name known to all
По умолчанию

Полевые испытания пока не пройдены, в микроконтроллер не попадают все байты с шины. При более внимательном прочтении datasheet'а на mc33290 обнаружил, что забыл резистор на 510..560 Ом между первой (vbb) и четвертой (iso) ногой микросхемы. Надеюсь вечером получить положительный результат.
Зато, теперь в прошивку включен еще CDC Class Device (COM-Порт), т.е. теперь адаптер представляется компьютеру составным устройством: USB-клавиатурой и USB-COM-портом. В COM-порт попадает всё, что "пролетает" по шине. Его можно открыть, например, в HyperTerminal'е и смотреть данные, "летающие" по шине. В финальной версии данные можно будет отправлять на шину, для тех, кто хочет не только слушать, но и управлять устройствами автомобиля. Однако, для этого легче купить BM9213 готовый адаптер, если конечно не нужна эмуляция нажатия клавиш клавиатуры.
zyxel812 вне форума   Ответить с цитированием
Старый 11.03.2013, 13:37   #5
m50b20
Старший Пользователь
 
Аватар для m50b20
 
Регистрация: 29.09.2009
Возраст: 42
Регион: 77, 97, 99, 177
Машина: BMW Z4 Coupe
Сообщений: 183
m50b20 will become famous soon enoughm50b20 will become famous soon enough
По умолчанию

ждем, удачи
m50b20 вне форума   Ответить с цитированием
Старый 11.03.2013, 20:18   #6
zyxel812
Старший Пользователь
 
Регистрация: 18.02.2013
Возраст: 42
Город: Санкт-Петербург
Регион: 78, 98
Машина: e46
Сообщений: 163
zyxel812 is a name known to allzyxel812 is a name known to allzyxel812 is a name known to allzyxel812 is a name known to allzyxel812 is a name known to allzyxel812 is a name known to all
По умолчанию

И так, всё работает. Правда видео не очень получилось.

Дело было не в забытом резисторе, а в том, что в протоколе используется контроль четности, а я его не включил. Т.е. скорость шины не 9600 8n1, а 9600 8e1.
Итого, девайс можно собрать на таком контроллере, используя приложенную к данному сообщению прошивку. Только контроллер нужно дополнить микросхемой MC33290, например навесным монтажом, как на фотках. Я для пробы собирал всё это на том, что было под рукой. В качестве контроллера бывший программатор, "допиленный" немного под данную задачу. Далее, уже не спеша, буду дооснащать это дело другими, нужными, мне функциями, а так же делать свою печатную плату.
Контроллер можно запрограммировать на эмуляцию нажатия любых клавиш, сейчас он эмулирует "+", "-", ".", ",".
Он точно будет работать на e46 с аудиосистемой bmw business. С другими аудиосистемами не тестировалось, в них, возможно, будут другие коды назначения. Однако, если кто соберет и работать не будет именно по причине других кодов, то нужно будет записать лог с com-порта, выложить сюда, я поправлю.
.inf файл в архиве - это драйвер com-порта, который понадобится.
В контроллере из 3-го поста стоит кварц 8МГц, а нужен 16МГц, поэтому, если возьмёте тот контроллер, то берите и кварц на 16МГц, его нужно будет перепаять.
Миниатюры
Нажмите на изображение для увеличения
Название: IMG_0782.jpg
Просмотров: 891
Размер:	153.6 Кб
ID:	30295   Нажмите на изображение для увеличения
Название: IMG_0784.jpg
Просмотров: 869
Размер:	128.2 Кб
ID:	30296   Нажмите на изображение для увеличения
Название: IMG_0786.jpg
Просмотров: 858
Размер:	95.0 Кб
ID:	30297   Нажмите на изображение для увеличения
Название: IMG_0812.jpg
Просмотров: 970
Размер:	111.2 Кб
ID:	30298  
Вложения
Тип файла: rar ibus2key.rar (21.5 Кб, 686 просмотров)
zyxel812 вне форума   Ответить с цитированием
Старый 11.03.2013, 20:31   #7
m50b20
Старший Пользователь
 
Аватар для m50b20
 
Регистрация: 29.09.2009
Возраст: 42
Регион: 77, 97, 99, 177
Машина: BMW Z4 Coupe
Сообщений: 183
m50b20 will become famous soon enoughm50b20 will become famous soon enough
По умолчанию

Я так понял, что к Андроиду просто так подключить не получится?
m50b20 вне форума   Ответить с цитированием
Старый 11.03.2013, 21:33   #8
awtoap
Гуру
 
Аватар для awtoap
 
Регистрация: 19.09.2009
Возраст: 46
Город: Мелитополь
Регион: Украина
Сообщений: 2,022
awtoap is a splendid one to beholdawtoap is a splendid one to beholdawtoap is a splendid one to beholdawtoap is a splendid one to beholdawtoap is a splendid one to beholdawtoap is a splendid one to beholdawtoap is a splendid one to behold
По умолчанию

Автор написал, что это будет составное устройство, тобиш одновременно COM порт и HID клава. В ведроиде должна сразу завестись как внешняя клава, только нужно освоить в ведре как переназначать коды клавиш.
awtoap вне форума   Ответить с цитированием
Старый 11.03.2013, 21:40   #9
m50b20
Старший Пользователь
 
Аватар для m50b20
 
Регистрация: 29.09.2009
Возраст: 42
Регион: 77, 97, 99, 177
Машина: BMW Z4 Coupe
Сообщений: 183
m50b20 will become famous soon enoughm50b20 will become famous soon enough
По умолчанию

Цитата:
Сообщение от awtoap Посмотреть сообщение
Автор написал, что это будет составное устройство, тобиш одновременно COM порт и HID клава. В ведроиде должна сразу завестись как внешняя клава, только нужно освоить в ведре как переназначать коды клавиш.

ну вот это я и имел в виду под "просто так"
m50b20 вне форума   Ответить с цитированием
Старый 11.03.2013, 21:50   #10
Hamster
Больной. Диагноз "Car PC"
 
Аватар для Hamster
 
Регистрация: 01.09.2005
Возраст: 51
Город: Москва
Регион: 77, 97, 99, 177
Машина: 08\Acura\MDX •••• 07\Honda\Civic 4D
Сообщений: 4,379
Hamster is a splendid one to beholdHamster is a splendid one to beholdHamster is a splendid one to beholdHamster is a splendid one to beholdHamster is a splendid one to beholdHamster is a splendid one to beholdHamster is a splendid one to behold
По умолчанию

Цитата:
Сообщение от m50b20 Посмотреть сообщение
"просто так"
Просто так ничего в этом мире не делается
Чтобы переназначить кнопки USB клавы нужно править конфиг. Ничего сложного там нет - не боги горшки обжигают
Вот статейка с хабра, там все расписано.

А с другой стороны - зачем переназначать коды клавиш HID клавы, если можно поправить прошивку девайса?
__________________
Старый проект Honda Accord RHD
Теперь будет Acura MDX 2008 и Honda Civic 4D 2007 и Mitsubishi Outlander XL 2011
Hamster вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 08:51.


Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot