2010-04-23 13 views
8

मैं एक डाक पैमाने की तलाश में हूं जिसमें पहले से ही एक शिपिंग सिस्टम के लिए लिनक्स समर्थन (ड्राइवर, आदि) है जो मैं काम कर रहा हूं। मैं उबंटू 9.04 का उपयोग करने की योजना बना रहा हूं, लेकिन मैं अनुकूलता के लिए डिस्ट्रो को स्विच करने के लिए तैयार हूं।क्या कोई यूएसबी पोस्टेज स्केल के बारे में जानता है जो लिनक्स संगत है?

क्या किसी को वर्तमान में काम करने वाले किसी भी पैमाने के बारे में पता है? क्या कोई ओपन सोर्स प्रोजेक्ट है जो स्केल ड्राइवर या इसी तरह काम कर रहा है?

धन्यवाद!

उत्तर

9

मैं 5lb stamps.com पैमाने का उपयोग करता हूं। यदि आप उनके साथ किसी खाते के लिए साइन अप करते हैं और फिर इसे रद्द करते हैं तो आप इसे $ 10 के लिए चुन सकते हैं।

लिनक्स में इसे से पढ़ने के लिए, इस स्क्रिप्ट मिलती है: http://gist.github.com/503896

संपादित उचित hidraw डिवाइस पथ सेट करने के लिए स्क्रिप्ट फ़ाइल। स्केल प्लग करने के बाद आप dmesg चलाकर पथ पा सकते हैं। आपको "/ dev/hidraw2" जैसे कुछ दिखाई देंगे।

लिपि में hidraw पथ स्थापित करने के बाद अनुमति निष्पादित जोड़ने और फिर रूट के रूप में इसे चलाने:

chmod + x usbscale.pl

sudo ./usbscale.pl

प्लेस एक वस्तु पैमाने पर और यह वजन मुद्रित करेगा।

+0

जानकारी के लिए धन्यवाद! हम पहले से ही stamps.com ग्राहक हैं (यह उनका एपीआई है जिसे हम अपने ऐप के लिए उपयोग कर रहे हैं)। लेकिन हमें प्राप्त होने वाले मुक्त पैमाने (बहुत समय पहले) में यूएसबी नहीं है। यह एक नया पैमाने होना चाहिए जो यूएसबी संगत है। मैं फोन कर सकता हूं और उनसे पूछ सकता हूं कि क्या वे हमें नए पैमाने पर देंगे। 5 एलबीएस हम जो कुछ भेजते हैं वह करेंगे। हालांकि हमें कभी-कभी 30 एलबीएस तक जाने की जरूरत है। लेकिन स्क्रिप्ट लिंक के लिए धन्यवाद, यह मेरे लिए संशोधित करने के लिए एक अच्छी शुरुआत जगह है। – Nick

+0

यह Stamps.com स्केल दिखता है जैसे यह 25LBS पर जाता है। क्या यह आपके जैसा है जो स्क्रिप्ट के साथ काम करता है? http://customer.stamps.com/Store/catalog/sku.jsp?productId=prod22441145&id=SC00002510 – Nick

+1

मुझे यकीन नहीं है ... जब मैंने इसे प्राप्त किया तो वेबसाइट पर 5 एलबीएस कहा। लेकिन, मैंने निश्चित रूप से उन चीजों का वजन करने के लिए उपयोग किया है जो 5 एलबीएस से अधिक हैं और यह सटीक लग रहा था। – mattismyname

5

अद्यतन:

मुझे लगता है कि जुड़ा हुआ mattismyname मेरी पहले स्क्रिप्ट के एक नए संस्करण बना लिया है। यह सी में लिखा है, और आप इसे https://github.com/erjiang/usbscale

पर पा सकते हैं इसका इस्तेमाल करने के लिए, बस स्रोत कोड और रन डाउनलोड (अपने निर्देशिका के अंदर):

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

आप अपने /etc/udev/rules.d को 50-usb-scales.rules कॉपी करना पड़े (या root, हाहा के रूप में चलाएं) यदि आप अनुमति त्रुटियों में भाग लेते हैं।

0

एक्सपोनेंट मान हस्ताक्षरित पूर्णांक के रूप में पारित किया जाता है, और वजन थोड़ा एंडियन बाइट ऑर्डर में पारित किया जाता है। इन कारकों के लिए अन्य उत्तर do not properly accountSee 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"; 
    } 
} 
संबंधित मुद्दे

 संबंधित मुद्दे