Saya mencari cara agar Pi bertindak sebagai klien USB dan menyamar sebagai flash drive.
Saya telah melihat banyak saran, namun sebagian besar sudah tua (1+ tahun) sekarang dan tidak jelas / tidak lengkap - saya ingin meminta penyegaran tentang apa yang berhasil, apa yang tidak, dll.
Ada juga banyak saran untuk menggunakan Pi sebagai perangkat tipe NAS. Ini tidak akan berfungsi untuk tujuan saya, karena saya memiliki host "bodoh" yang hanya dapat menerima flash drive (dan saya ingin menggunakan Pi untuk membuatnya "lebih pintar")
ringkasan saran yang telah saya lihat:
- meniru klien USB melalui pin GPIO
- meniru koneksi serial melalui GPIO, kemudian gunakan kabel yang ada untuk beralih dari serial ke USB
- menggunakan model A, gunakan perangkat lunak untuk meyakinkan pi untuk bertindak seperti klien
- menggunakan kabel USB host-to-host (tidak yakin saya melihat ada yang mendukung linux ..)
adakah yang bisa menjelaskan lebih dalam beberapa solusi yang diusulkan itu?
PS - Saya tidak perlu atau mengharapkan kinerja tinggi dari konfigurasi ini, kecepatan USB 1.1 akan cukup.
sunting: Saya juga akan tertarik dengan alternatif apa pun yang dapat menyediakan fungsionalitas ini, namun saya belum melihat adanya stik usb "pintar" atau varian android-on-a-stick yang bisa.
usbnet
pengemudi. Mereka memiliki halaman yang menyebutkan beberapa; itu terlihat ketinggalan zaman sehingga mungkin ada lebih banyak sekarang. Sebelum Anda membeli sesuatu, periksa sekitar.Jawaban:
Anda akan beruntung jika port USB pada PI adalah OTG dan bukan USB Host.
Mungkin Anda harus mempertimbangkan beberapa perangkat lain karena tidak ada solusi yang Anda sarankan mungkin praktis:
meniru klien USB melalui pin GPIO: Secara teori dimungkinkan untuk meniru USB menggunakan bit-banging the pin. Ini dapat menyebabkan overhead perangkat lunak yang cukup besar dalam hal pengembangan perangkat lunak. Solusinya akan relatif sulit untuk diterapkan. Secara teori adalah mungkin tetapi Anda perlu melakukan analisis biaya / manfaat.
mengemulasi koneksi serial melalui GPIO, kemudian menggunakan kabel yang ada untuk beralih dari serial ke USB: Solusi ini tidak akan melayani tujuan Anda karena Anda (lebih tepatnya DUMB Host Anda) ingin emulasi "Mass Storage Device" (tipe perangkat 0x08) dan bukan "Komunikasi dan Kontrol CDC" (tipe perangkat 0x02) emulasi.
menggunakan model A, gunakan perangkat lunak untuk meyakinkan pi untuk bertindak seperti klien: Tidak jelas apa yang telah disarankan
menggunakan kabel USB host-to-host (tidak yakin saya melihat ada yang mendukung linux ..): Dalam hal ini kedua perangkat akan melihat perangkat Mass Storage yang terhubung ke pengontrol host mereka. Dengan menggunakan metode ini, pi Raspberry Anda akan ditampilkan sebagai perangkat penyimpanan massal yang mengekspor penyimpanan berbasis kartu SD Anda. Dengan solusi ini Anda mungkin ingin mempertimbangkan jenis penyimpanan apa yang ingin Anda ekspor ke host DUMB. Tuan rumah DUMB Anda mungkin tidak mengekspor sendiri sebagai perangkat Mass Storage. Pada titik ini Anda akan memiliki opsi USB lain selain Raspberry Pi.
sumber
Sekarang ada varian Pi nol, yang dapat melakukan apa yang saya inginkan, dan Adafruit membuat tutorial untuk itu:
https://learn.adafruit.com/turning-your-raspberry-pi-zero-into-a-usb-gadget/overview
Nama resmi untuk ini tampaknya adalah "sistem gadget usb", dan hanya membutuhkan kabel OTG.
Saya belum dapat menguji ini, karena Pi nol kehabisan stok cukup banyak di mana-mana, tetapi saya pikir ini adalah rute terbaik saat ini.
sumber