2017-01-21 43 views
0

これを重複して呼んではいけません。私はPython経由でUSBデバイスにアクセスするという考え方に全く新しいです。QRコードスキャナーからスキャンされた情報を取得するPython

他の質問と回答は私が理解するには高すぎることがよくありました。

私は、USBプラグアンドプレイのqrコードスキャナを持っています。

私は何らかの理由でコマンドラインでそれを見つけることができず、私は困惑しています。

スキャナがQRコードをスキャンするとき、データをPythonスクリプトに送信したいので、データベースとの比較のため変数に設定することができます。

私はUSBデバイスにアクセスしてPythonで情報を取得する方法を理解していません。

私はそれについて、まだ何も読んでいません。

これを行う簡単な方法はありますか?

答えて

0

私はコンピューターに接続されたQR-Readerとして特別なデバイスを使っていませんでしたが、ウェブカムを使って画像データを提供し、バーコードをスキャンするzbarというツール私の場合はisbn本の本を読んでください)、その書籍に関する情報を見つけるためにブラウザを呼び出します。

私の意見では、同じことをすることができます。

私のコードは次のようになります。

import os 

p=os.popen('/usr/bin/zbarcam /dev/video1', 'r') 
while True: 
    code = p.readline() 
    print 'Got barcode:', code 
    isbn = code.split(':')[1] 
    os.system('google-chrome http://www.goodreads.com/search/search?q=%s'%isbn) 

ので、一般的なアプローチは、あなたのデバイスを利用するために必要なサポートをご提供する、お使いのシステムのためのツールを見つけることです(おそらくhttp://zbar.sourceforge.net/が良い出発ですポイント)。コマンドラインで呼び出すことができる場合は、os.popen()またはより良いsubprocess.popen()を使用してコマンドラインツールを呼び出し、必要に応じてデータを処理することができます。 (ヒューマンインターフェイスデバイス - http://www.usb.org/developers/hidpage

HTH

0

QRスキャナは、USB HIDのいずれかであるHID QRスキャナのための装置または複数の稀仮想COMポート(USB CDC ACMデバイスクラス)を実装

関連http://www.usb.org/developers/hidpage/pos1_02.pdf

あります

USBは、POSデバイスがHIDは、これらのレポートの構造はQため、HIDレポートディスクリプタで、USBの規格で与えられるを報告に(つまりは、QRコードをスキャンした)データを送り、HIDデバイスドライバはOS イベントをトリガーするデータを含むHIDレポートを送信するときScanned Data ReportRaw Scanned Data Report :Rとバーコードスキャナはhttp://www.usb.org/developers/hidpage/pos1_02.pdfページ37,38を参照してください。これらのイベントは、あなたが実装する必要がイベントハンドラによって捕獲されています

イベントハンドラを追加します。

バーコードスキャナアプリケーションは、2つの重要なイベントハンドラ、 DataReceivedReleaseDeviceRequestedを使用しています。

DataReceivedイベントはデバイスがバーコードをスキャンしたときに発生し、 はアプリがスキャンしたデータを受信して​​処理できるようにします。そのargs パラメータには、BarcodeScannerReportが含まれています。 には、スキャンで取得したデータが含まれています。

ソース:https://msdn.microsoft.com/en-us/library/dn792060%28v=winembedded.81%29.aspx(のpythonにこれを翻訳)

あなたはpywinusb.hid

を使用してpywinusb

を使用することができますHIDウィンドウのイベントを処理するには、./examplesを見ますいくつかの(現在、数少ない)スクリプト用のディレクトリです。 これらは、たとえば、イベントを処理するためにpywinusb.hidを使用する方法を示しています。 HIDクラスデバイスのイベントを使用します。

ソース:https://pypi.python.org/pypi/pywinusb/

多分にも便利なリンク:

http://www.beyondlogic.org/usbnutshell/usb1.shtml

http://eleccelerator.com/tutorial-about-usb-hid-report-descriptors/

http://ww1.microchip.com/downloads/en/AppNotes/01144a.pdf

PyUSB send HID reporthttps://pypi.python.org/pypi/pywinusb/

関連する問題