Bisakah MCU ke-2 pada UNO R3 digunakan untuk emulasi keyboard?

9

Sebagai lanjutan dari Apa header ICSP ke-2 di Arduino Uno R3? Saya bertanya-tanya bagaimana ini bisa diretas untuk keuntungan kita.

Misalnya, bisakah firmware itu ditulis ulang agar UNO diakui sebagai input mouse / keyboard? Mungkinkah ini dilakukan setelah proses boot loader dan membiarkan proses pengunggahan tetap berlaku?

Mengingat IO terbatas, sepertinya fungsinya mungkin terbatas. Ditambah lagi, saya tidak tahu berapa banyak kode yang tersedia.

Madivad
sumber
Sebagai tambahan untuk pertanyaan ini, jangan ragu untuk menambahkan ide lain ini dapat digunakan untuk sementara waktu (sejauh mungkin), meninggalkan lingkungan arduino dalam kebijakan. Artinya, apa lagi yang bisa diretas untuk meningkatkan fungsionalitasnya?
Madivad
Flash-nya terlalu kecil untuk menampung banyak peretasan, tetapi situs web LUFA (ditautkan dalam pertanyaan saya) memiliki banyak peretasan berbeda yang kompatibel dengan 16u2
TheDoctor
Terlalu kecil? 16kB banyak flash. Saya terkejut mereka tidak tetap menggunakan 8U2 seperti pada aslinya (walaupun mungkin ada masalah ketersediaan yang terlibat).
Ignacio Vazquez-Abrams
Saya baru saja memeriksa Digi-Key dan perbedaan harga antara 8U2 dan 16U2 adalah sekitar $ 0,01. Pada harga itu, tidak perlu repot, bahkan jika Anda tidak memerlukan flash tambahan.
Ignacio Vazquez-Abrams
Pertanyaan ini muncul dari sebuah proyek yang saya lihat di hackaday tahun lalu, dan seorang teman dan saya telah mendiskusikannya berulang kali sejak itu. Saya baru saja menemukan ini (baru berusia dua minggu): hackaday.com/2014/03/16/…
Madivad

Jawaban:

7

Ya itu mungkin. menggunakan LUFA, Anda dapat membakar firmware baru ke Serial converter. Satu-satunya masalah adalah Anda perlu membakar kembali konverter USB-Serial untuk mengunggah program lain.

Info: http://www.fourwalledcubicle.com/LUFA.php

Halaman spesifik: http://mitchtech.net/arduino-usb-hid-keyboard/

Dokter
sumber
Apakah ada informasi lebih lanjut tentang firmware yang ada di MCK ke-2? Saya belum dapat menemukan apa pun di situ. Saya yakin seseorang telah meretasnya secara khusus. Secara pribadi, saya ingin melihat kodenya. Penekanan (bagi saya) sebagian besar akan meninggalkan lingkungan dalam kebijaksanaan untuk memungkinkan reflashing di masa depan. Yang menurut saya tidak akan terlalu sulit untuk dimasukkan setelah tidak ada dari IDE setelah reset.
Madivad
@Madivad, ini adalah file rakitan sederhana yang mengubah sinyal USB menjadi serial. Anda harus menggunakan AvrDude telanjang untuk mem-flash-nya.
TheDoctor
dari salah satu tautan yang saya temukan: arduino.cc/en/Hacking/DFUProgramming8U2 Saya mencari info semacam ini, jelas istilah pencarian yang salah :) Terima kasih atas tautan Anda Doc.
Madivad
3

MCU kedua mirip dengan yang digunakan dalam Leonardo, tetapi lebih kecil dan kurang mampu ( ATmega16U2 vs ATmega32U4 ). Tentu saja mungkin untuk memprogram ulang untuk melakukan apa yang Anda suka, tetapi batasannya berarti Anda dapat memiliki lebih sedikit "perangkat" USB pada saat yang sama.

Saya belum melihat firmware yang ada, tetapi tentu harus dimungkinkan untuk menambahkan kode kustom Anda sendiri ke dalamnya sehingga koneksi serial normal ke MCU utama serta kode tambahan Anda dapat hidup berdampingan.

Ignacio Vazquez-Abrams
sumber