I'm looking for a program that can read the weight on a USB scale, namely the Pelouze 10lb USB Portable Scale. I thought it would have a virtual COM port driver but instead, it uses HID drivers. I've been searching for a whole month for a program that can help me transfer the reading of the scale to Microsoft Excel. Can someone help me out or point me in the right direction? I am absolutely illiterate to programming. Much gratitude any help given.
9 に答える
Pythonを使用してDymoUSBスケールから読み取るコードを作成しました。libusbとPyUSBが必要です。
このコードはかなり一般的です。構成が1つしかないHIDデバイスで動作するはずです。
import usb.core
import usb.util
VENDOR_ID = 0x0922
PRODUCT_ID = 0x8003
# find the USB device
device = usb.core.find(idVendor=VENDOR_ID,
idProduct=PRODUCT_ID)
# use the first/default configuration
device.set_configuration()
# first endpoint
endpoint = device[0][(0,0)][0]
# read a data packet
attempts = 10
data = None
while data is None and attempts > 0:
try:
data = device.read(endpoint.bEndpointAddress,
endpoint.wMaxPacketSize)
except usb.core.USBError as e:
data = None
if e.args == ('Operation timed out',):
attempts -= 1
continue
print data
私が使用しているDYMOM10スケールの場合、データパケットはこのような6要素の配列array('B', [3, 2, 11, 255, 0, 0])
です。
最後の2つの要素は、重みの計算に使用されます。
kgモードgrams = data[4] + (256 * data[5])
、およびポンド/オンスモードounces = 0.1 * (data[4] + (256 * data[5]))
。
私のブログ投稿の詳細。
O / Sで直接サポートされていないUSBデバイスの場合は、プログラマーであるか、デバイスベンダーが提供するプログラムが必要です。この場合、あなたはプログラマーではないように思われるので、製造元に連絡して、スケールデータの読み取りとキャプチャに使用できる診断またはテストウェアプログラムを提供できるかどうかを確認する必要があります。運が良ければ、そのようなプログラムは「バッチ処理」され、出力がリダイレクトされるなどの可能性があります。幸運を。
http://r.lagserv.net/scalereader.htm
これは、HidLibrary を使用した C# および Dymo スケールの開始に最適なコードです。
スケールのベンダー ID に一致するようにベンダー ID を変更するだけです。
数分で起動して実行できます。
Dymo S400で使用しました。
nodejs バージョンを作成し、https://github.com/PhantomRay/dymo-scale-nodejsでコードを共有しました。
Windows 10 でのみテストされています。また、単純な Web ソケット サーバー モードが組み込まれているため、任意の Web ページが接続してデータを読み取ることができます。
答える必要がある最初の質問は、正確な HID の使用です。USB は、関連するプロトコルの幅広いファミリを記述します。USB HID はサブセットですが、それでも多数のデバイスをカバーしています。HID 仕様は、最大 40 億の異なるタイプの HID デバイスをサポートする 32 ビットの「使用」識別子を定義しますが、これまでに割り当てられた値はほんの一部です。
おそらく必要になる Windows API はRaw Inputです。残念ながら、これはプログラミングに疎い人向けのインターフェースではありません。
あなたが探偵を演じたいなら、この男のアドバイスが役立つかもしれません:
http://nicholas.piasecki.name/blog/2008/11/reading-a-stamps-com-usb-scale-from-c-sharp/
自分でDYMOスケールを注文したので、結果を投稿します
Elane は一連の USB HID スケールを販売しており、重量を読み取るための Windows プログラムもあります。残念ながら、Stamps.com のおかげで、そのプログラムは無料ではなくなりました。15.50 ドルなので、必ずしもやみくもに試してみたいとは思いませんが、ここにあります: http://www.elane.net/index.php?go=USB_pcsoftware
このような USB HID デバイスからの出力は、入力がキーボードで入力された場合とまったく同じように USB ホストに表示されるはずです。これは、ほとんどの USB バーコード スキャナーが動作する方法です。
この場合、体重計は体重を横切って起動するだけで、アクティブなアプリケーションに表示されます。それが入力を終了させたい場所である場合は、Excel。
ただし、指定されたスケールの仕様とマニュアルを調べましたが、間違ったモデルを見ていなければ、USB で給電されていますが、USB 経由でも通信するという事実については何も言及されていません。 . URLまたは部品番号はありますか?