Конфігурується контролер кнопок і кнопок на кермі автомобілів BMW
Пропоную Вашій увазі пристрій, який підключається до pccar за допомогою USB порту. Пристрій «прикидається» клавіатурою і послідовним портом (COM-портом) одночасно.
До пристрою можна підключити до 15-ти кнопок і / або до 14 світлодіодів (або, наприклад, реле для управління чим-небудь). При цьому коди клавіш і призначення висновків конфигурируется за допомогою програми-конфігурувати.
Пристрій може бути підключено до шини IBUS автомобілів BMW. По шині пристрій «відловлює» натискання кнопок на кермі і емітує натискання клавіші клавіатури. Натискання яких саме клавіш емулювати, задається конфігуратором.
Пристрій уміє емулювати натискання не тільки окремих простих клавіш, але і в поєднанні з модифікаторами, такими як shift, control, alt і клавішею windows. А також натискання мультимедійних клавіш, які «на ура» сприймає Android, в результаті можливо з кнопок керувати звуком, треками, а так само запускати окремі програми, наприклад, браузер або плеєр.
Через віртуальний послідовний порт можливо отримувати всі дані з шини IBUS і передавати в неї дані.
Кнопки підключаються одним висновком до землі (позначена gnd), другим виводом до відповідного порту (позначені Bx, Cx, Dx, де x - будь-яка цифра).
Світлодіоди підключаються одним висновком до порту, іншим можуть бути підключені як до землі, так і до +5. У конфігураторі передбачено інвертування вихідних сигналів. Не забуваємо послідовно включити резистор, зазвичай 470 Ом.
Контролер за вказаною мною посиланням вже має прошитий завантажувач. Щоб залити в нього прошивку, не потрібно мати програматор, потрібно просто підключити його до комп'ютера, натиснути єдину наявну на ньому кнопку і з командного рядка видати наступну команду:
teensy_loader.exe -v -mmcu = at90usb162 MultiKeyboard.hex
Програму teensy_loader.exe і файл MultiKeyboard.hex шукайте в доданому архіві.
Після прошивки, на комп'ютері з windows пристрій визначиться як складене пристрій, при цьому драйвер на клавіатурну частина покладена автоматично, а для послідовного порту буде потрібно драйвер, який є в архіві.
Після установки драйвера, можна приступати до конфігурації. Конфігурація проводиться програмою ibus2keyconf.exe. Виберіть порт, який був присвоєний нашого віртуального послідовного порту, натисніть «Підключитися». Якщо не буде помилок, в пристрій можна буде записати конфігурацію і вважати її. Можливості програми конфігурації наочно демонструються скріншетамі:
Поясню процес.
Натискання кнопок на кермі передаються по шині I-BUS. Рідна голова працює з шиною на пряму. Чи не рідні пристрої, такі як планшет, комп'ютер (car pc), не рідні голови нічого про I-BUS не знають. Так ось, цей контролер за допомогою мікросхеми L9637 або MC33290 перехоплює дані на шині I-BUS (не залежно від наявності рідний БМВешной голови), виявляє натискання кнопок на кермі і пересилає натискання в підключений до порту USB пристрій прикидаючись клавіатурою. Тобто комп'ютер або планшет бачать даний пристрій як звичайну клавіатуру з мультимедіа клавішами (приклад). Натискання кнопки на кермі передається по шині I-BUS через мікросхему в контролер і контролер емулює натискання однієї з таких мультимедіа клавіш (або однієї зі звичайних клавіш, в залежності від налаштувань контролера). Зазвичай пристрої з андроїдом без всяких танців з бубном розуміють такі мультимедійні клавіші, досить увіткнути контролер і все буде працювати без додаткових налаштувань (під всім я маю на увазі управління гучністю і перемикання треків). Винда же мультимедіа кнопки без додаткових драйверів зазвичай не розуміє. Для роботи з виндой контролер зазвичай налаштовують на емуляцію звичайних "гарячих" клавіш, які розуміє використовуваний плеєр.
Тобто даний контролер можна використовувати для підключення кнопок на кермі до CarPC, даний контролер можна використовувати для підключення кнопок на кермі до не штатний голові (хоча, якщо не штатна голова вміє працювати зі звичайною клавіатурою, то можна, але я таких не зустрічав). Без мікросхеми контролер перетворюється на звичайну клавіатуру, безпосередньо до нього можна підключити тільки звичайні кнопки.
Хм, про магнітолу так, я так і зрозумів - у мене адаптер десь валяється для управління нерідний. Ну виходить ці мультимедійні кнопки для андроїда через ibus2keyconf.exe теж треба буде прописувати, так? І підключення до i-bus якщо штатної голови немає треба буде від чогось ще знайти (від старих проводів або клімат наприклад).
P.S. Замовлю тоді 32u4 - буду вдячний якщо вийде зробити прошивку під неї.