2010-04-23 28 views
8

Tôi đang tìm kiếm một quy mô bưu chính đã có hỗ trợ linux (trình điều khiển, vv) cho một hệ thống vận chuyển mà tôi đang làm việc trên. Tôi đang lên kế hoạch sử dụng Ubuntu 9.04, nhưng tôi sẵn sàng chuyển đổi khả năng tương thích của distro.Có ai biết quy mô bưu chính USB tương thích với Linux không?

Có ai biết bất kỳ quy mô nào hiện đang hoạt động không? Có một dự án nguồn mở đang làm việc trên các trình điều khiển quy mô hay tương tự?

Cảm ơn!

Trả lời

9

Tôi sử dụng thang 5lb tem.com. Bạn có thể nhận nó với giá $ 10 nếu bạn đăng ký một tài khoản với họ và sau đó hủy bỏ nó.

Để đọc từ nó trong Linux, có được kịch bản này: http://gist.github.com/503896

Chỉnh sửa các tập tin kịch bản để thiết lập các đường dần đến device hidraw thích hợp. Bạn có thể tìm đường dẫn bằng cách chạy dmesg sau khi bạn đã cắm quy mô vào. Bạn sẽ thấy một cái gì đó như "/ dev/hidraw2".

Sau khi thiết lập con đường hidraw trong kịch bản, thêm quyền thực thi và sau đó chạy nó như là người chủ:

chmod + x usbscale.pl

sudo ./usbscale.pl

Nơi một đối tượng trên quy mô và nó sẽ in trọng lượng.

+0

Cảm ơn thông tin! Chúng tôi đã là khách hàng tem.com (đó là API họ đang sử dụng cho ứng dụng của chúng tôi). NHƯNG quy mô miễn phí, chúng tôi đã nhận (một thời gian dài trước đây) không có USB ở tất cả. Nó phải là một quy mô mới hơn tương thích với USB. Tôi có thể gọi và hỏi họ xem họ có cho chúng tôi thang đo mới hơn không. 5 LBS sẽ làm hầu hết những gì chúng tôi gửi. Tuy nhiên, chúng ta cần phải lên tới 30 LBS. NHƯNG cảm ơn cho các liên kết kịch bản, nó là một nơi bắt đầu tốt cho tôi để sửa đổi. – Nick

+0

Quy mô Stamps.com này trông giống như nó đi đến 25LBS. Nó giống như cái bạn có làm việc với kịch bản? http://customer.stamps.com/Store/catalog/sku.jsp?productId=prod22441145&id=SC00002510 – Nick

+1

Tôi không chắc ... nó nói 5lbs trên trang web khi tôi nhận được. Nhưng, tôi đã chắc chắn sử dụng nó để cân nhắc những thứ có nhiều hơn 5lbs và nó có vẻ chính xác. – mattismyname

5

Cập nhật:

tôi đã tạo ra một phiên bản mới hơn của kịch bản trước đó của tôi mà mattismyname liên kết. Nó được viết bằng C, và bạn có thể tìm thấy nó ở https://github.com/erjiang/usbscale

Để sử dụng nó, chỉ cần tải về mã nguồn và chạy (bên trong thư mục của nó):

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

Bạn có thể cần phải sao chép 50-usb-scales.rules-/etc/udev/rules.d của bạn (hoặc chạy dưới dạng root, haha) nếu bạn gặp lỗi quyền.

0

Giá trị số mũ được chuyển dưới dạng số nguyên đã ký và trọng số được truyền theo thứ tự byte nhỏ nhất định. Các câu trả lời khác do not properly account cho các yếu tố này. 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"; 
    } 
} 
Các vấn đề liên quan