私はラズベリーパイ(Linuxを使用しています)といくつかの値を測定するデバイスを持っています。
私はPythonサーバーを持っており、クライアントが「値が欲しい」コマンドを送信すると、デバイスにいくつかの値を尋ねます。これは私のデバイスの機能です:
def usbDevice:
dev = usb.core.find(idVendor=0xXXXX, idProduct=0xXXXX)
if dev is None:
return 'Not found'
dev.set_configuration()
dev.write(1, '\x05', 0) # ask for the values
time.sleep(2)
ret = dev.read(0x81,2048 , 0,1200) # endpoint, siz, interf, timeout ->meas. vals
print ret
return ret
通信を開始すると、常にうまくいきます(どちらの方法でも、コマンドを送信すると適切な応答が得られます...)。デバイスから応答がありません。リクエストを送信できることはわかっています (印刷の「ステップ XX」を使用して、どこが失敗しているかを確認しました)。
初めて使用した後は、USB通信を閉じた方がいいですか?どのように?とはいえ、常にsudoパーミッションでコンパイルしていますが、.rulesファイルを作成したので、問題はないと思います。
これとは別に、私は過去に似たようなものを使用していたので、USB通信を確立するこの方法に何か問題があるかどうかを本当に知りたい. (そして、私はPythonが苦手です...)