2009-08-14 2 views
2

Я ищу программу, которая может считывать вес по USB-шкале, а именно портативную шкалу USB Pelouze 10lb. Я думал, что у него будет виртуальный драйвер COM-порта, но вместо этого он использует HID-драйверы. Я искал целый месяц для программы, которая может помочь мне перенести чтение шкалы в Microsoft Excel. Может кто-нибудь помочь мне или указать мне в правильном направлении? Я абсолютно неграмотен для программирования. Огромную благодарность за любую помощь.Программа для HID USB Scale

+0

Вы уверены, что устройство поддерживает связь через USB, а не только питание? – Lunatik

+0

Вот ссылка на страницу продукта в масштабе http://global.dymo.com/enUS/Products/10_lb__USB_Mailing_Scale.html Я уверен, что он обменивается данными по USB, потому что он поставляется с программным обеспечением для Stamps.com. Я попробовал, и он показывает вес на ПК, но я не могу экспортировать вес в Excel. Кроме того, я использовал SimpleHIDWrite.exe и обнаружил, что он распознает масштаб и показывает вес в том, что выглядит как шестнадцатеричные числа. – Alex

ответ

-3

Я бы предположил, что выход USB-устройства HID, подобного этому, должен появиться на USB-хосте точно так же, как если бы вход был введен на клавиатуре, то есть на стабилизированном шкале, вес передавался через USB. Именно так работают большинство USB-сканеров штрих-кодов.

Если это так, то весы должны просто стрелять по весу и появляться в любом приложении; Excel, если это то, в чем вы хотели, чтобы вход закончился.

Тем не менее, я просмотрел спецификации и руководство по указанному вами масштабу, и, если я не рассматриваю неправильную модель, хотя она питается от USB, я не вижу упоминания о том, что это также обменивается данными через USB. У вас есть URL или номер детали?

+0

Это, конечно, не так. Мышь также является HID-устройством, и это, конечно, не клавиатура. – MSalters

+0

Очень верно. Я привык иметь дело со сканерами и т. Д., И предположил, что масштаб будет соответствовать профилю клавиатуры, так как это не имеет большого смысла для того, чтобы он постоянно издавал флуктуирующее чтение. – Lunatik

+0

Колебания не являются проблемой; проблема в том, что шкала должна давать свое чтение, когда ПК хочет этого. Клавиатура и сканер штрих-кода вызывают события на ПК по мере их возникновения. – MSalters

0

Первый вопрос, на который вам нужно ответить, - это точное использование HID. USB описывает большое количество связанных протоколов. USB HID - это подмножество, но это все еще охватывает большой массив устройств. Спецификации HID определяют 32-битный «идентификатор использования», поддерживающий до 4 миллиардов различных типов HID-устройств, хотя до сих пор была назначена только часть этих значений.

Windows API, который вам, вероятно, понадобится, - Raw Input. К сожалению, это не интерфейс для программирования безграмотных.

5

Я могу предложить полезные ссылки.

Весы используют опцию USB HID точки продажи, ссылку на которую можно найти в разделе комментариев в блоге, о котором я упоминаю ниже. Я бы связался напрямую, но механизм предотвращения спама предохраняет меня.

Там в блоге на рассмотрении версии 25lb шкалы от C#, здесь: http://nicholas.piasecki.name/blog/2008/11/reading-a-stamps-com-usb-scale-from-c-sharp/

Комментарии на этот пост полезны - вот где вы найдете USB spec, есть также комментарий, показывающий, как добраться данные без использования полной библиотеки HID.

Удачи вам в вашем проекте!

+0

Эта запись в блоге очень полезна и хорошо написана. К сожалению, ссылка в блоге мертва. Тем не менее блог все еще стоит. –

+0

Похоже, что код HID USB, используемый в блоге, переместился на: https://github.com/mikeobrien/HidLibrary –

+0

Ссылка не работает. Любой шанс, что у вас есть содержание этого сообщения, вокруг которого вы могли бы поделиться здесь? – DaveH

0

Для устройств USB, которые не поддерживаются напрямую O/S, вам либо нужно быть программистом, либо вам нужна программа, поставляемая поставщиком устройства. В этом случае, поскольку вам кажется, что вы не программист, обратитесь к производителю, чтобы узнать, могут ли они предоставить какие-либо диагностические или тестовые программы, которые могут использоваться для чтения и сбора данных масштаба. Если вам повезет, такая программа может быть «упакована», а выход перенаправлен или что-то в этом роде. Удачи.

0

Elane продает линейку весов USB HID, а также программу Windows для считывания веса. К сожалению, из-за Stamps.com эта программа больше не является бесплатной. В 15,50 доллара это не обязательно то, что я хочу попробовать вслепую, но вот он: http://www.elane.net/index.php?go=USB_pcsoftware

2

Я написал код для чтения с USB-накопителя Dymo с использованием Python. Это требует libusb и PyUSB.

Этот код довольно общий; он должен работать с любым 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 

Для шкалы DYMO М10 я использую, пакет данных представляет собой 6-элемент массива, как этот array('B', [3, 2, 11, 255, 0, 0]).

Последние два элемента используются для расчета веса.

В кг режиме grams = data[4] + (256 * data[5]) и в фунтах/унциях режиме ounces = 0.1 * (data[4] + (256 * data[5])).

Дополнительная информация о my blog post.

0

http://r.lagserv.net/scalereader.htm

Это отличный код, чтобы получить началось с C# и шкалы Dymo с использованием HidLibrary.

Просто измените идентификатор поставщика, чтобы он соответствовал вашему весу.

Вы можете запустить и запустить процесс регистрации через несколько минут.

Я использовал его с Dymo S400.

0

Я написал мою версию nodejs и поделился кодом на https://github.com/PhantomRay/dymo-scale-nodejs.

Он протестирован только в Windows 10. Кроме того, он имеет простой серверный режим веб-сокета, построенный для него, чтобы любая веб-страница могла подключаться к нему для чтения данных.

+0

Я проверил масштаб в Ubuntu и Mac. Он по умолчанию не распознается как HID-устройство. Таким образом, код не работает в этой ОС. Не уверен, есть ли способ заставить его как устройство HID. Возможно, некоторые водители. – yautja

Смежные вопросы