2010-04-23 3 views
8

Я ищу почтовую шкалу, которая уже поддерживает linux (драйверы и т. Д.) Для системы доставки, над которой я работаю. Я планирую использовать Ubuntu 9.04, но я готов переключить дистрибутив на совместимость.Знает ли кто-нибудь о стандарте USB Postage Scale, совместимом с Linux?

Кто-нибудь знает о каких-либо масштабах, которые в настоящее время работают? Есть ли проект с открытым исходным кодом, который работает с драйверами масштаба или аналогичными?

Спасибо!

ответ

9

Я использую масштаб 5lb stamps.com. Вы можете забрать его за 10 долларов США, если вы зарегистрируетесь в учетной записи, а затем отмените ее.

Чтобы читать из него в Linux, получить этот скрипт: http://gist.github.com/503896

Отредактируйте файл сценария, чтобы установить правильный путь hidraw устройства. Вы можете найти путь, запустив dmesg после того, как вы включили масштаб. Вы увидите что-то вроде «/ dev/hidraw2».

После установки пути hidraw в сценарии, добавьте разрешение на выполнение, а затем запустить его в качестве корня:

CHMOD + х usbscale.pl

Судо ./usbscale.pl

Разместить объект на шкале, и он напечатает вес.

+0

Благодарим за информацию! Мы уже являемся клиентами stamps.com (это их API, который мы используем для нашего приложения). НО свободная шкала, которую мы получили (давным-давно), не имеет USB вообще. Это должен быть более новый масштаб, совместимый с USB. Я мог бы позвонить и спросить их, дадут ли они нам новую шкалу. 5 LBS будет делать большую часть того, что мы отправляем. Тем не менее, нам нужно поднимать до 30 LBS. НО спасибо за ссылку на скрипт, это хорошее место для меня, чтобы изменить. – Nick

+0

Эта шкала Stamps.com выглядит так, как будто она идет до 25LBS. Это похоже на тот, который у вас есть, который работает со сценарием? http://customer.stamps.com/Store/catalog/sku.jsp?productId=prod22441145&id=SC00002510 – Nick

+1

Я не уверен ... он сказал 5 фунтов на веб-сайте, когда я его получил. Но я определенно использовал его, чтобы взвесить вещи размером более 5 фунтов, и это казалось точным. – mattismyname

5

Update:

Я создал новую версию своего ранее сценария, mattismyname связаны между собой. Он написан на C, и вы можете найти его на https://github.com/erjiang/usbscale

Чтобы использовать его, просто загрузить исходный код и запустить (в его каталоге):

sudo aptitude install libusb-1.0-0-dev 
make 
./usbscale 

Вам может понадобиться скопировать 50-usb-scales.rules на ваш /etc/udev/rules.d (или запустите как root, haha), если вы столкнулись с ошибкой разрешений.

0

Значение экспоненты передается как целое число со знаком, а вес передается в младшем байтовом порядке. Другие ответы do not properly account для этих факторов. See a more comprehensive example here.

<?php 
$binary = fread(fopen('/dev/hidraw3', 'r'), 7); 
$data = (object) unpack('Creport/Cstatus/Cunit/cexponent/vweight', $binary); 

if ($data->report == 0x03 && $data->status == 0x04) { 
    $data->weight = $data->weight * pow(10, $data->exponent); 
    if ($data->unit == 0x0B) { 
     // convert ounces to grams 
     $data->weight *= 28.349523125; 
     // and unit to grams 
     $data->unit = 0x02; 
    } 

    if ($data->unit == 0x02) { 
     echo "{$data->weight} g\n"; 
    } else { 
     echo "{$data->weight} in other unit\n"; 
    } 
} 

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

  • Нет связанных вопросов^_^