ssp

Node.JS implementation of Encrypted Smiley ® Secure Protocol (eSSP, SSP)

MIT License

Downloads
51
Stars
5

@kybarg/ssp

Node.JS implemenation of Encrypted Smiley ® Secure Protocol (eSSP, SSP)

Supported devices: NV9USB, NV10USB, BV20, BV50, BV100, NV200, NV200 Spectral, SMART Hopper, SMART Payout, NV11, NV22

[!WARNING]

NV11 is not fully tested and supported. Maintainer is required.

Table of Contents

  1. Basis usage
  2. Methods
  3. Documentation

Basis usage

const sspLib = require('@kybarg/ssp')

let eSSP = new sspLib({
  id: 0x00,
  timeout: 3000,
  fixedKey: '0123456701234567',
})

eSSP.on('READ_NOTE', result => {
  console.log('READ_NOTE', result)
})

eSSP.command('GET_SERIAL_NUMBER').then(result => {
  console.log('Serial number:', result.info.serial_number)
  return
})

const portOptions = { baudRate: 9600 }

eSSP.open('COM1', portOptions)

Config values

const options = {
  fixedKey: '123', // device internal encryption key
  encryptAllCommand: true, // should command commands also be encrypted
  id: 0, // device id in case multiple acceptors connected to the host
  timeout: 1000, // command response timeout after wich command considered failed
  commandRetries: 20, // how many time to retry before throwing error or emitting ERROR event
}

Methods

All methods return Promise

  • eSSP.open('COM1') - Connect device
  • eSSP.close() - Disconnect device
  • eSSP.initEncryption() - Initializing Diffie-Hellman key exchange and enable encryption
  • eSSP.enable() - Enable device and start listen events
  • eSSP.disable() - Disable device and stop listen events
  • eSSP.poll() - Start/Stop polling the device
  • eSSP.command('COMMAND_NAME') - Execute command and get answer

License

Distributed under the MIT License. See LICENSE.txt for more information.