Чи можна використовувати 2-й MCU на UNO R3 для емуляції клавіатури?


9

Слідкуйте за тим, що таке другий заголовок ICSP в Arduino Uno R3? Мені було цікаво, як це можна зламати на нашу користь.

Наприклад, чи можна цю прошивку переписати, щоб UNO визнано входом миші / клавіатури? Чи можна це зробити після процесу завантажувача та залишити процес завантаження в такті?

Зважаючи на обмежений IO, здається, що його функції можуть бути обмеженими. Плюс я не маю уявлення, скільки коду є місця.


На додаток до цього питання, не соромтеся додати інші ідеї, для яких це можна було б використати (наскільки це можливо), залишаючи середовище ардуїно в такті. Тобто, що ще можна зламати в ньому, щоб підвищити його функціональність?
Мадівад

Це спалах занадто малий, щоб розмістити декілька хаків, але на веб-сайті LUFA (пов’язаний з моїм запитанням) є безліч різних хак, сумісних із 16u2
TheDoctor

Занадто малий? 16 кБ - це багато спалаху. Я здивований, що вони не дотримуються 8U2, як в оригіналі (хоча можуть бути проблеми з доступністю).
Ігнасіо Васкес-Абрамс

Щойно я перевірив Digi-Key і різниця в ціні між 8U2 і 16U2 становить приблизно 0,01 долара. За цією ціною це не просто, навіть якщо вам не потрібен додатковий спалах.
Ігнасіо Васкес-Абрамс

Це питання породжене проектом, який я бачив в хакаде минулого року, і ми з другом обговорювали це питання з того часу. Я щойно знайшов це (усього два тижні): hackaday.com/2014/03/16/…
Мадівад

Відповіді:


7

Так, можливо. за допомогою LUFA ви можете записати нову прошивку на послідовний перетворювач. Єдина проблема полягає в тому, що вам потрібно повторно записати USB-послідовний перетворювач, щоб завантажити іншу програму.

Інформація: http://www.fourwalledcubicle.com/LUFA.php

Конкретна сторінка: http://mitchtech.net/arduino-usb-hid-keyboard/


Чи є додаткова інформація про прошивку, яка існує у 2-й mcu? Я нічого не зміг знайти на ньому. Я впевнений, що хтось десь це зламав конкретно. Особисто я хотів би побачити код. Наголос (для мене) в значній мірі залишить оточення в такті, щоб дозволити майбутнє переосмислення. Я не думаю, що було б занадто важко включити, якщо після скидання нічого від IDE немає.
Мадівад

@Madivad - це простий збірний файл, який перетворює USB-сигнали в серійні. Для його спалаху потрібно використовувати голий AvrDude.
TheDoctor

з одного з цих посилань я знайшов: arduino.cc/en/Hacking/DFUProgramming8U2 Я шукав цю інформацію, очевидно, неправильні пошукові терміни :) Дякую за ваші посилання Док.
Мадівад

3

Другий MCU схожий на той, що використовується в Леонардо, але менший і менш здатний ( ATmega16U2 проти ATmega32U4 ). Безумовно, можна перепрограмувати його на те, що вам подобається, але його обмеження означають, що ви можете мати менше USB-пристроїв "одночасно".

Я не розглядав існуючу вбудовану програму, але, безумовно, має бути можливість додати в неї власний власний код, щоб нормально послідовне підключення до основного MCU, а також ваш додатковий код могли співіснувати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.