2017-05-31 14 views
1

私はこれまで、デバイスを見つけるの段階に得ているを使用してUSBデバイスと対話するために、今私は、ページ上のspecificationにレイアウトされたデバイスのプロトコルを使用してUSBに話をする準備ができています22どのようPyUSB

libusbは私のマシンにインストールされていて、PyUSBもインストールされています。

import usb.core 
import usb.util 

# find our device 
dev = usb.core.find(idVendor=0x067b, idProduct=0x2303) 

# was it found? 
if dev is None: 
    raise ValueError('Device not found') 

# b are bytes, w are words 

reqType = '' 
bReq = '' 
wVal = '' 
wIndex = '' 

dev.ctrl_transfer(reqType, bReq, wVal, wIndex, []) 

上記の例では、プロトコルの説明どおりの制御転送を使用しようとしています。

私はちょうど私が右のラインに沿って、または私は根本的に間違って何かをやっている場合だかどうかを知りたいです。

デバイスが見つかりました。それは私が確信している次の部分です。

+0

ウィンドウでのLinuxか何かのアナログに標準のttyプログラム(echoscreenputtysocat、...)を使用できますか? – frankyjuang

+0

'reqType'、' bReq'などの設定に関してどこから始めたらいいかわかりません –

答えて

2

の例では、エンドポイント(バルク転送など)に書き込みたい場合は、USBツリー構造従うする必要が蜂蜜

>>> msg = 'test' 
>>> assert dev.ctrl_transfer(0x40, CTRL_LOOPBACK_WRITE, 0, 0, msg) == len(msg) 
>>> ret = dev.ctrl_transfer(0xC0, CTRL_LOOPBACK_READ, 0, 0, len(msg)) 
>>> sret = ''.join([chr(x) for x in ret]) 
>>> assert sret == msg 

、私にhttps://github.com/walac/pyusb/blob/master/docs/tutorial.rstの話ではあります:-> configuration -> claim interface -> get endpointを...仕様書の22ページ

は、USBプロトコルは、(私は知らない)GNETプロトコルではありません。要点は、デバイスに話すために低レベルのUSBを必要としないということです。あなたは

はなぜちょうどそれを試してみません
+0

PuTTY経由で私のデバイスのCOMポートに接続できましたが、フィードバック(黒い画面)私が入力して盲目的に 'STX、N、CR'コマンドを入力すると、おそらく別の質問をするべきです。 –