Giter VIP home page Giter VIP logo

node-thinkgear-sockets's Introduction

node-thinkgear-sockets

Client library for the ThinkGear Socket Protocol from NeuroSky.

This library is based on node-neurosky, but updated to work with ThinkGear Connect 4.1.8.

Usage

Install with NPM:

$ npm install node-thinkgear-sockets

Include the module:

var thinkgear = require('node-thinkgear-sockets');

Create a client instance:

var client = thinkgear.createClient({ enableRawOutput: true });

Data Events

Clients fire three types of data events: blink_data, raw_data, data. You can add a listener like this:

client.on('data',function(data){

	// magical and wonderful things

});

Connect to the headset

Connect to the headset like this:

client.connect();

All of this is in the example/app.js file too.

Troubleshooting

Make sure that your headset is paired and connected before you start the Node app. It may take 5-10 seconds for data to start streaming to your Node app after you make the connection.

The ThinkGear Connector app will multiplex connections to the headset, so if you are unsure if your connection is working correctly, you can use the included "Brainwave Visualizer App" while your Node app is running. If data is streaming correctly to the Brainwave Visualizer, then it should be streaming correctly to your Node app as well.

Data

data events

The output of data events looks like this:

{
	eSense: {
		attention: 53,
		meditation: 47
	},
	eegPower: {
		delta: 416474,
		theta: 33592,
		lowAlpha: 3877,
		highAlpha: 3142,
		lowBeta: 1569,
		highBeta: 3125,
		lowGamma: 3521,
		highGamma: 1451
	},
	poorSignalLevel: 0
}

blink_data events

Example: { blinkStrength: 55 }

raw_data events

Example: { rawEeg: 43 }

Note that raw_data events stream at a rate of about 500 per second, so make sure your event handlers are relatively quick!

TODO

  • Tests
  • Use Node Streams for raw data to add some buffering

node-thinkgear-sockets's People

Contributors

dluxemburg avatar afiedler avatar batuhangundogdu avatar jorgepedret avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.