Skip to content

Node.js bindings for several USB scales (Pitney Bowes, Dymo, etc.)

License

Notifications You must be signed in to change notification settings

travis5491811/nodeusbscale

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

{
	'weight': xxxxxx,
	'balanced': <true/false>
}

Example

#!/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.

About

Node.js bindings for several USB scales (Pitney Bowes, Dymo, etc.)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 88.5%
  • JavaScript 9.3%
  • Python 2.2%