![]() |
ДжосТик iDrive CAN + Android + Andruino
Всем доброго времени суток, хочу поставить себе джостик с iDrive, который работает по кан шине.
Ставить будем в bmw e39 , уже стоит мафн на андроиде в стиле под родной, теперь хотелось бы и джостик в тему. Собственно джостик. http://www.euronavi.ru/published/pub...285%29_enl.jpg Имеет распиновку +12, Groung , Can-H , Can-L Имеем в наличие андруинку Nano v7 Хотелось бы с помощью нее будить джостик и ловить с него данные. В джостике на выходе висит микруха TJA1055T Собственно вопрос номер один, как разбудить устройство , тобишь данный джостик, при подаче питания нуль реакции, джостик новый куплен у оффдилера бмв. зы темы аналогичные видел, но там простые джостики коммутировали напрямую андруинкой. Хотелось бы здесь реализовать полноценный джостик. С функционалом клавишь согласно их гравировке )) |
Я заморачивался! скажем так если сами не осилите скеч для ардуины то можете забыть о родной схеме.....
Правда у меня был от Е60 Выпотрошил девайс и перерезал дорожки всех кнопок (там движения кнопок лево право верх низ это физические кнопки а не сенсорные) потом выпотрошил клавиатуру с ЭНКОДЕРОМ и подключил нужные клавиши к кнопкам джойстика! потом удалил сенсоры с крутилки и воткнул механический энкодер которого подключил к той-же плате от клавиатуры.... Покажется что колхоз и конечно жалко ковырять чудо девайс от БМВ (мне было пофиг так как не люблю бмв) но это самый легкий и надежный способ в винде кнопки можно перенаправить с помощью KeyRemapper а в андрюше Multilanguage key refinder |
Цитата:
Подать питание на джойстик, крутить-нажимать и смотреть, ловит ли что-нибудь ардуина. Скорее всего будет ловить. А там уже писать скетч. |
Цитата:
|
Хотя есть идея изучить TJA1055T , ибо смысл использовать двойное преобразование , в кан потом обратно из кан, может удасться подключить на прямую не используя кан шину.
Смотрю даташит и не могу понять, эта микруха тупой трансивер или при определенной кодовой последовательности она бУдит устройство. |
Цитата:
|
Это значит что пока джойстик не получить заветную команду скажем на пробуждение или что установлены в машине соответствующие блоки, которые будут реагировать на этот джойст по шине, он не будет отдавать свои данные.
|
Порыл интернеты, вот что пишут про БээНВэ:
Цитата:
Вот еще, здесь уже пишут ЧТО ИМЕННО надо отправлять: Цитата:
А вот еще пишут что iDrive это вообще ни какой не CAN: Цитата:
|
Нашел еще вот такой проект iDrivino - ардуино и iDrive. Наверняка там можно нарыть интересного. Информации в сети - горы. Надо только лопату побольше и копать глубже :D
|
Спасибо за информацию, я не сильно знаю енглишь, но в первом цитировании сказано что от любого сигнала просыпается или всетаки второе вернее ?
То что там кан это 100% точно , максимальная 128кб\с скорость, и описание интерфейса подтверждает это. Осталось дождаться с эбея каншилд и пробовать. |
202 FD 00, а также только первые отсчетов байт, так что мы могли бы использовать только 202 FD (для максимальной яркости) или 202 44 (для тусклой яркости)
Также после отправки этой команды яркости, CON бодрствует, 100mA @ 12В Чтоб не забыть , это корявый перевод гугла )) |
Посылка 5C1
F0 00 00 63 - ПРИ АКТИВАЦИИ БЛОКА (ВКЛ ЗАЖИГАНИЯ) 00 00 00 63 - ОТПУСКАНИЕ КЛАВИШИ 13 00 XX 63 - ИЗМЕНЕНИЕ ГРОМКОСТИ, XX - направление колеса от 00 до 0F, при увеличении приращение на 1, при уменьшении декремент на 1, ограничено одним полубайтом, зацикленно, т.е при увеличении громкости после 0F следует 00, при уменьшении после 00 следует 0F 2A 00 00 63 - НАЖАТИЕ КОЛЕСА ГРОМКОСТИ 02 00 00 63 - СТРЕЛКА ВЛЕВО 03 00 00 63 - СТРЕЛКА ВПРАВО 14 00 XX 63 - КОЛЕСО ИЗМЕНЕНИЯ ПУНКТА МЕНЮ, XX - аналогично громкости 28 00 00 63 - НАЖАТИЕ КОЛЕСА МЕНЮ 1A 00 00 63 - КНОПКА "ТЕЛЕФОН" |
Апну немного, приехал мой канбусшилд, а андруинка что-то не торопиться... имеющийся "обрезок" андруинки с нерабочим ISP портом оказался, не выдает тактирующие импульсы на ножке SCK
|
As for "waking up" the iDrive knob, I've never tried what you're doing but I'll go out on a limb and say it doesn't need it. I'm willing to guess the knob is pretty dumb in that it just issues the same CAN commands over & over and lets the CAN gateway deal with the messages. Search my code in file idrivino.pde for the CAN section dealing w/ iDrive knob presses. You will be looking for CAN IDs starting with 0x1B8, which are the knob rotation & MENU button press. If you have an LCI iDrive controller, you'll have to sniff your own buttons related to the new direct buttons like NAV, etc.
заметка |
Known Can-Bus Codes so far:
(0x202, 2, 0xFD 0x00) – Light to maximum. заметка |
Девайсы получил, с шилдом соединился удачно, но пока не могу понять как разбудить устройство, и если коды что выше верные, не могу понять как их отправить, по сути адрес данные посылки каким образом посылать, пока непонятно в теле программы адрес прописывать или из терминальной строки в каком то формате отправлять.
|
С адресом вроде разобрался , в скетче задается, осталось разобраться с данными подбирать из имеющихся
|
Я вот так в шину FF3 отправлял:
PHP код:
|
Цитата:
Спасибо сейчас не около девайса, завтра попробую |
Я пробовал в своё время разобраться. Плюнул на всё это и поставил во внутрь ардуино. Год уже работает без проблем.
Будем следить что у вас получится. |
Ничего не понимаю пока, ток потребления 85mA , при нажатии на кнопки увелчивается на 0.1mA , при использовании крутилки на 4mA, но цуко нет подсветки, так не могу понять оно пробудилось или нет и почему нет ничего на шине CAN.
|
Подсветка, скорей всего включается по команде. Там по-моему даже яркость регулируется командами по шине.
Ты уверен что взял правильный CAN шилд? |
|
А есть ли разница какой чип используется? Протокол CAN единый.
|
Вот тутhttp://www.volcano.at/iDrive/?p=21 у человека все есть :) собираюсь собирать шилд как у него, только на 1054, а то 55 дорогая шибко
|
Цитата:
|
Цитата:
|
Так что то я совсем в ардуинах запустался, я что то про мини на сайте производителя не вижу, китайские вижу, а оригинального нет :) Ладно в принципе не важно это :) Все равно едет и то и то :) Если он герберы даст, то перерисую и под про мини и вытравлю и тех и тех плат
|
Цитата:
|
Цитата:
В общем мне едет: Leonardo Pro Micro ATmega32U4 16MHz Arduino MICRO ATmega32U4 16MHz На сколь я понял TJA1054at отличается от TJA1055t только энергопотреблением 10ма против 5 и у TJA1055 посильнее защита от скачков напряжения? |
Цитата:
Хотя поправьте меня TJA1055T разве не совместим с каншилдом на MCP2551 |
либо MCP2515 + TJA1055T, либо MCP2515 + MCP2551
2515 - трансляция сообщений из CAN в SPI 2551, 1055/1054 - согласователь уровней CAN и 2515 P.S. Вместо 2515 может быть сразу контроллер с поддержкой CAN |
Сейчас проверил , каншилдом отправляю , usb elm327 принимает данные
|
Цитата:
|
Походу драйвера КАН не совместимы...в шилд тоже нужно пихать TJA1050(1055)
|
Цитата:
|
Вложений: 1
Заказал пока 1050 на всякий случай, бум думать може пока едет какой конвертер из навеснухи можно собрать ?
|
ХМ сейчас глянул даташиты на 1050 и 2551 , микрухи идентичны абсолютно
поправьте если не так тогда для контроля попробую заставить работать elm327 на 100 кбит\с и добивать джойстик |
Если внимательно посмотришь на ссылку, что я давал выше, то увидишь, что уровни сигналов разные. Вот именно согласованием уровней и занимаются 2551 и 1055. Каждая заточена под свои уровни.
В джойстике у тебя 1055 преобразует сигнал конотроллера в CAN с соот-ми уровнями. А ты пытаешься их связать с 2551, которая рассчитана на другие уровни. Получается нестыковка. Скажем так, пока я не заменил 2551 на 1041 (в машине стоит 1041 или 1050, не помню точно), ничего не получалось. Но пока едет 1050 - пытайся, может получится ;) |
Gorynch , спасиб за инфу посмотрим
так а пока я настроил елм327 на 100кб\с делать так atdp B - устанавливаем нужный кан протокол с 125кб\с at pp 2b sv 05 - устанавливаем скорость для него 100кб\с впринципе в мануале есть, но вдруг с енглишем кто не сильно дружит |
Часовой пояс GMT +4, время: 13:31. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot