Fråga:
Hur man programmerar en USB-enhet med Debian / Python
winwaed
2012-06-14 01:46:55 UTC
view on stackexchange narkive permalink

Pi marknadsförs som en pedagogisk enhet främst för Python. I linje med detta har det redan funnits några bra exempel online på personer som har tillgång till GPIO från Python.

De flesta externa kringutrustning (i stället för hembryggning) har dock USB-gränssnitt. Hur går man åt åtkomst till dessa med standard Debian / Python-kortet? Finns det ett Python-bibliotek tillgängligt och en bra handledning?

Jag tror att detta måste vara mer specifikt. Vad försöker du göra med USB exakt?
Det här är en mycket bra fråga, jag har alltid undrat hur man gör USB-enheter.
Den specifika applikationen jag har i åtanke är ett JMRI-system för att komma åt ett DCC-styrgränssnittsmodellgränssnitt (t.ex. Digitrax PR3). Men det är alldeles för specifikt för den här webbplatsen! Frågan riktar sig till den lägre nivån "hur pratar jag med vilken enhet som helst på USB från Python" - det antas implicit att programmeraren har protokolldokumentationen för den enhet de vill programmera.
Jag kommer att titta noga på denna fråga. Jag tittar på två pekskärmsdisplayer, båda med enkla ASCII-kommandosatser och USB-gränssnitt, som jag vill prova med RasPi.
Två svar:
David Sykes
2012-06-15 09:55:47 UTC
view on stackexchange narkive permalink

USB är bara en seriell kommunikationsenhet. Hur data kommuniceras är standard, men vad dessa data består av är enhetsberoende. Din controller-tillverkare har uppfunnit ett api som består av kommandon och meddelanden i formuläret "gör detta", eller "detta händer"

Om du känner till detta api borde du kunna kommunicera. Två möjliga användbara länkar är

https://walac.github.io/pyusb/

https://web.archive.org /web/20130327005316/http://www.digitalmihailo.com/post/usb-programming-with-python-on-linux

En värdefull informationskälla är USB Complete

Tack - ja det är den typen av nivå jag siktade på min fråga. Protokoll / produkt-API: er för specifika kringutrustning är andra frågor eller är en fråga för leverantörens dokumentation.
B1llaB0ng23
2014-10-06 08:16:57 UTC
view on stackexchange narkive permalink

Klistrar in det här för alla andra på kaninspåret som jag var idag (5 okt 2014). OBS: det här är från en mycket oerfaren PoV så det kan vara uppenbart för många av er, men det var inte för mig och tog ett tag att räkna ut.

Jag försöker gränssnitt en enkel laser streckkodsläsare till en RaspberryPi B + via USB, bokstavligen ingen erfarenhet av Linux / RBPi etc. Så småningom sökte Google mig till den här sidan.

Jag fick svaret från David Sykes den 15 juni 2012 med PyUSB-referens och därifrån hittade jag ADAFruit's Installing Python & PyUSB, som en del av deras hacking av en Microsoft Kinect ..

Jag känner att jag kunde ha gått igenom det ganska snabbt om det var bara på min dator. Men att göra detta genom en RaspberryPi kastade mig verkligen för en slinga. Om du läser igenom guiden kommer du att träffa samma vägspärr som jag gjorde där du inte kan ladda ner saker och du inte bara kan blanda i de saker de säger utan filerna. Så hur får du filerna om du inte kan ladda ner dem? [Det finns kanske ett sätt att ladda ner dessa filer, men på min Pi fick jag ett fel 400 på source forge och Midori skulle inte ladda ner Tar- eller Zip-filerna.]

Med hänvisning till Walacs PyUSB kan du gå in i första delen i LXTerminal för att få libusb, men nästa kommando förutsätter att du har filerna för PyUSB och att du kan hitta dem genom katalogen.

Så HÄR är mina förändrade steg för att få LibUSB och PyUSB installerade på en RaspberryPi:

Kommandorad som jag angav i LXTerminal:

  sudo apt-get install python libusb-1.0  

Bekräfta med Y

  sudo apt-get install python-pip  

then

  sudo pip install - upgrade pyusb  

OBS: en del av detta kan redan finnas på din RBPi beroende på vad du ' har gjort innan detta, men att göra kommandona igen kommer inte att skada det, det berättade helt enkelt för mig att filen var uppdaterad.

Det senaste kommandot "--upgrade pyusb" gav mig följande:

  Nedladdning / uppackning av pyusb Nedladdning av pyusb-1.0.0b1.tar.gz (44Kb): 44Kb nedladdadRunning setup.py egg_info för paketet pyusbInstallera samlade paket: pyusbRunning setup.py installera för pyusbSuccely installerat pyusbRengöring ...  

Så, jag tycker att det är bra nu och jag kan gå tillbaka till mina självstudier.

Återigen använder jag en RaspberryPi B +, standard NOOBS-installation .. Jag har mest hänvisat till källor som ADAFRUITS LEARN-system som gjordes med mestadels Model B, men allt jag har gjort hittills arbetar med B +.

Förhoppningsvis hjälper den informationen alla andra som har fastnat vid samma punkt.



Denna fråga och svar översattes automatiskt från det engelska språket.Det ursprungliga innehållet finns tillgängligt på stackexchange, vilket vi tackar för cc by-sa 3.0-licensen som det distribueras under.
Loading...