2010-04-23 21 views
8

Üzerinde çalıştığım bir gönderi sistemi için zaten linux desteği (sürücüler vb.) Içeren bir posta ölçeğini arıyorum. Ubuntu 9.04'ü kullanmayı planlıyorum, fakat distro'yu uyumluluk için değiştirmeye hazırım.Linux uyumlu bir USB Postage Scale bilen var mı?

Şu anda çalışan herhangi bir ölçek hakkında bilen var mı? Ölçek sürücüleri veya benzerleri üzerinde çalışan bir açık kaynak projesi var mı?

Teşekkürler!

cevap

9

5lb stamps.com ölçeğini kullanıyorum. Onlarla bir hesap için kaydolursanız ve sonra iptal ederseniz 10 $ 'a kadar alabilirsiniz.

, linux ondan okunan bu komut dosyasını almak için: http://gist.github.com/503896

Edit uygun hidraw cihaz yolunu ayarlamak için komut dosyası. Ölçeği tıkladıktan sonra yolu dmesg çalıştırarak bulabilirsiniz. "/ Dev/hidraw2" gibi bir şey göreceksiniz.

komut hidraw yolu ayarlandıktan sonra çalıştırma izni eklemek ve daha sonra kök olarak çalıştırın:

chmod + x usbscale.pl

sudo Yeri bir nesne

./usbscale.pl Ölçekte ve ağırlığı basacaktır.

+0

Bilgi için teşekkürler! Zaten stamps.com müşterileriyiz (uygulamamız için kullandığımız API'ları). AMA biz aldık ücretsiz ölçek (uzun zaman önce) hiç USB yok. USB uyumlu yeni bir ölçek olmalı. Bize daha yeni bir ölçek vereceklerse onları arayabilir ve sorabilirdim. 5 LBS, gönderdiklerimizin çoğunu yapacak. Yine de bazen 30 LBS'ye çıkmamız gerek. AMA komut dosyası için teşekkürler, benim için değiştirmek için iyi bir başlangıç ​​yeri. – Nick

+0

Bu Stamps.com ölçeği 25LBS'ye gider gibi görünüyor. Sende senaryodaki gibi mi çalışıyor? Ben aldığımda http://customer.stamps.com/Store/catalog/sku.jsp?productId=prod22441145&id=SC00002510 – Nick

+1

emin değilim ... Web sitesinde 5 lbs söyledi. Ancak, 5 lbs'den fazla olan şeyleri tartmak için kesinlikle kullandım ve doğru görünüyordu. – mattismyname

5

Güncelleme: Ben bağlantılı mattismyname benim daha önceki komut dosyası daha yeni bir sürümünü oluşturduk

. C dilinde yazılmış, ve sadece (onun dizin) kaynak kodunu ve koşmak indirmek Kullanmak için https://github.com/erjiang/usbscale

adresten bulabilirsiniz:

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

Sen /etc/udev/rules.d için 50-usb-scales.rules kopyalamanız gerekebilir izin hatasıyla karşılaşırsanız (veya root, haha ​​olarak çalıştırın).

0

Üstel değeri, imzalanmış tam sayı olarak geçirilir ve ağırlık küçük endian bayt sırasına geçirilir. Bu faktörler için diğer yanıtlar 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"; 
    } 
} 
İlgili konular