Skip to content

Basic API (Class) to read a Darts Connect dartboard

License

Notifications You must be signed in to change notification settings

psymin/darts-connect

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

darts-connect

This project provides a class that connects to a Darts Connect dartboard and reads the throws in real time. It does not know how to read the photo that is passed from the built in camera.

Usage

The following example shows you how to create a client and parse the throw data into an object and print it. You'll need to know it's IP address for now. If you don't know the IP address simply launch the app that came with the board and on the screen that connects to the board it will show the IP address.

var DartsConnectClient = require(__dirname + '/DartsConnectClient.class.js'),
    client = new DartsConnectClient({log: false});

client.connect('192.168.1.109', {callback: (event) => {
  var throwData = null;
  switch(event.type) {
    case 'throw':
      let data = event.data.toLocaleLowerCase(),
          type = data.substr(0, 1),
          number = data.substr(1);

      switch(type) {
        case 'd':
          type = 'DOUBLE';
          break;

        case 'o':
          type = 'SINGLE_OUTER';
          break;

        case 't':
          type = 'TRIPLE';
          break;

        case 'i':
          type = 'SINGLE_INNER';
          break;
      }
      throwData = {type: type, number: ('b' === number ? 21 : parseInt(number))};
      console.log(throwData);
      break;

    case 'next':
      throwData = {type: 'MISS', number: 0};
      console.log(throwData);
      break;

    case 'connected':
      console.log(' -connected');
      break;

    case 'pinged':
      console.log(' -pinged');
      break;

    default:
      break;
  }
}});

If you look in index.js you'll see an example that creates a Darts Connect client and passes the data to a darts game server (like this one).

For a complete list of the events you can receive in your callback look in DartsConnectClient.class.js at the emit() method.

About

Basic API (Class) to read a Darts Connect dartboard

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%