有人知道Linux兼容的USB邮资秤吗?

时间:2010-04-23 20:00:00

标签: linux usb scale

我正在寻找已经为我正在处理的运输系统提供linux支持(驱动程序等)的邮资规模。我打算使用Ubuntu 9.04,但我愿意为了兼容性而改变发行版。

有人知道目前有哪些尺度吗?是否有一个开源项目正在使用规模驱动程序或类似的?

谢谢!

3 个答案:

答案 0 :(得分:9)

我使用5lb stamps.com量表。如果您注册一个帐户然后取消它,您可以以10美元的价格购买它。

要在linux中读取它,请获取此脚本:http://gist.github.com/503896

编辑脚本文件以设置正确的hidraw设备路径。插入比例尺后,您可以通过运行dmesg找到路径。您将看到类似“/ dev / hidraw2”的内容。

在脚本中设置hidraw路径后,添加执行权限,然后以root身份运行:

chmod + x usbscale.pl

sudo ./usbscale.pl

在秤上放置一个物体,它将打印重物。

答案 1 :(得分:5)

<强>更新

我创建了我之前脚本的较新版本,即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,哈哈)。

答案 2 :(得分: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";
    }
}