https://github.com/danieloneill/nodeusbscale
Node.js bindings for several USB scales (Pitney Bowes, Dymo, etc.)
https://github.com/danieloneill/nodeusbscale
Last synced: 5 months ago
JSON representation
Node.js bindings for several USB scales (Pitney Bowes, Dymo, etc.)
- Host: GitHub
- URL: https://github.com/danieloneill/nodeusbscale
- Owner: danieloneill
- License: gpl-2.0
- Created: 2016-01-02T23:35:38.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-01-02T23:44:00.000Z (over 10 years ago)
- Last Synced: 2025-10-08T10:51:36.101Z (9 months ago)
- Language: C++
- Size: 11.7 KB
- Stars: 8
- Watchers: 1
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# nodeusbscale
Node.js+Linux (HID) bindings for several USB scales (Pitney Bowes, Dymo, etc.)
Tested with:
* 0922:8004 Dymo-CoStar Corp.
* 0d8f:0200 Pitney Bowes
Data packets are in the following format:
```javascript
{
'weight': xxxxxx,
'balanced':
}
```
### Example
```javascript
#!/usr/bin/env node
var UsbScale = require('nodeusbscale');
var dev = UsbScale.create();
dev.open( '/dev/usb/hiddev0', function(obj, err) {
if( err ) {
console.log("UsbScale: Failed to open device: "+err);
return false;
}
dev['data'] = function(data) {
console.log("UsbScale event: "+JSON.stringify(data, null, 2));
};
});
// Hack to prevent Node.js from exiting, sorry.
var http = require('http');
var httpServer = http.createServer(function(){});
httpServer.listen(8084);
console.log("Listening for keyboard input...");
```
# Methods
## Factory
### usbscale::create()
`Returns an initialised usbscale object.`
* Returns: An initialised usbscale object.
---
## usbscale object
### usbscaleObject::open( path, callback( usbscaleObject, error ) )
`Open an usbscale device, associate it to this object, and fire the provided callback upon completion.`
The parameters passed to the provided callback function are **usbscaleObject** which is a reference to the usbscale object, and **error** which will be an error string in the case of an error, or undefined on success.
* Returns: A reference to itself.
### usbscaleObject::data( usbscaleEvent )
`A virtual method of the usbscaleObject. Reimplement it to handle usbscaleEvents. It can be ignored, but if you ignore it, you might as well not use this module at all.`