USB istemcisi olarak Pi


16

Pi'nin USB istemcisi gibi davranmasının ve flash sürücü olarak maskelenmesinin bir yolunu arıyorum.

Birçok öneri gördüm, ancak çoğu eski (1+ yaş) şimdi ve belirsiz / eksik - Neyin işe yaradığı, neyin işe yaramadığı vb.

Pi'yi NAS tipi bir cihaz olarak kullanmak için de çok sayıda öneri var. Sadece flash sürücüleri kabul edebilen bir "aptal" ana bilgisayarım olduğu için bu benim amacım için işe yaramayacak (ve Pi'yi "daha akıllı" yapmak için kullanmak istiyorum)

Zaten gördüğüm önerilerin özeti:

  1. GPIO pinleri aracılığıyla bir USB istemcisini taklit etme
  2. GPIO üzerinden seri bağlantı taklit edin, ardından seri kablodan USB'ye geçmek için mevcut kabloları kullanın
  3. model A kullanarak, pi'yi istemci gibi davranmaya ikna etmek için yazılımı kullanın
  4. bir ana bilgisayardan ana bilgisayara USB kablosu kullanarak (linux'u destekleyen herhangi bir şey gördüğümden emin değilim.)

önerilen çözümlerden bazılarını daha derinlemesine açıklayan var mı?

PS - Bu yapılandırmadan yüksek performansa ihtiyacım yok veya beklemiyorum, USB 1.1 hızları yeterli olacaktır.

edit: Ben de bu işlevselliği sağlayabilir herhangi bir alternatif ilgilenen olurdu, ancak henüz herhangi bir "akıllı" usb sopa veya sopa üzerinde android varyantlar görmedim.


1
Linux'un desteklediği kablolar kesinlikle vardır; bu usbnetsürücü ile hedefin bir parçasıdır . Bazı sözler bir sayfa var ; eski görünüyor, bu yüzden şimdi daha fazlası olabilir. Bir şey satın almadan önce kontrol edin.
goldilocks


Ayrıca usbip: stackoverflow.com/a/19689740/544721 veya linux-usb.org/gadget gibi projeleri birleştirme çözümünde yararlı bulabilirsiniz .
Grzegorz Wierzowiecki

Yanıtlar:


7

PI'daki USB bağlantı noktaları USB Ana Bilgisayar değil OTG olsaydı şanslı olursunuz .

Belki de önerdiğiniz çözümlerin hiçbiri pratik olmayabileceği için başka bir cihazı düşünmelisiniz:

USB istemcisini GPIO pinleri üzerinden taklit etme: Teorik olarak, pinleri bit hızlandırarak USB'yi taklit etmek mümkündür. Bu, yazılım geliştirme açısından oldukça büyük bir yazılım yüküne neden olabilir. Çözümün uygulanması nispeten zor olacaktır. Teorik olarak mümkündür ancak maliyet / fayda analizini yapmanız gerekir.

GPIO üzerinden seri bağlantı taklit edin, ardından seri kablodan USB'ye geçmek için mevcut kabloları kullanın: Bu çözüm sizin amacınıza hizmet etmeyecektir (bunun yerine DUMB Ana Bilgisayarınız) bir "Yığın Depolama Aygıtı" öykünmesi (cihaz türü 0x08) isteyecektir, "İletişim ve CDC Kontrolü" (aygıt tipi 0x02) aygıt öykünmesi.

model A kullanarak, pi'yi bir istemci gibi davranmaya ikna etmek için yazılımı kullanın: Size ne önerildiği belli değil

bir ana bilgisayardan ana bilgisayara USB kablosu kullanarak (linux'u destekleyen herhangi bir şey görmediğimden emin değilim.): Bu durumda her iki cihaz da ana bilgisayar denetleyicilerine bağlı bir Yığın Depolama aygıtı görür. Bu yöntemi kullanarak, Raspberry pi'niz SD kart tabanlı depolama alanınızı ihraç eden bir Yığın depolama cihazı olarak görünecektir. Bu çözümle, DUMB ana bilgisayarına ne tür bir depolama alanı vermek istediğinizi düşünmek isteyebilirsiniz. DUMB ana bilgisayarınız kendisini bir Yığın Depolama aygıtı olarak dışa aktaramayabilir. Bu noktada Raspberry Pi dışında başka USB seçenekleriniz olacak.


Ne tür başka cihazlar önerirsiniz? (Wifi ve dropbox veya bittorent senkronizasyonu veya benzer bir şey çalıştırma yeteneği ile umuyorum)
user2813274 5:14

DUMB sunucusunun servisiyle ilgili ihtiyaçlarınız oldukça belirsizdir. Daha fazla netlik gereklidir.
Chetan Bhargava

2
Tamam, bugün arabamda mp3 çalan bir flash sürücüm var - üzerindeki müziği değiştirmek istediğimde, flash sürücüyü fiziksel olarak hareket ettirmem gerekiyor - Masaüstümdeki bir şeyle sadece bir cihaz senkronizasyonu yapmak istiyorum ve araba için bir USB arayüzü sunmak - ayrıca, A Pi modelindeki USB portu bir OTG yongasıdır (ve B modelinde, ancak ethernet portu bu işlevselliği devre dışı bırakır) - kaynak
user2813274 5:14

Yazıyı yorumlarla karıştırmamak için sohbete geçelim (Fırın) :-)
Chetan Bhargava

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.