emotiv-ts
TypeScript icon, indicating that this package has built-in type declarations

0.0.2 • Public • Published

emotiv-ts

The emotiv-ts is a typescript library to communicate with Emotiv headsets.

Installation

The most recent release can be installed using npm:

npm install emotiv-ts

Getting started

To be able to use the functionalities of an Emotiv headset, you first need to connect to its API using the credentials provided for your app. You can check how to get the credentials in the Emotiv website.

The simplest way to connect to the Emotiv API using the emotiv-ts is via the EmotivService class:

const socketUrl = "wss://localhost:6868"
const appCredentials = {
  clientId: "YOUR_CLIENT_ID",
  clientSecret: "YOUR_CLIENT_SECRET"
}

let emotivService = new EmotivService(socketUrl, appCredentials);
emotivService.connect();

The line emotivService.connect() returns a Promise, which means all your logic that requires the Emotiv communication needs to be handled after the Promise is resolved.

A common usage of Emotiv Headsets is the Mental Command. For that, you will need basically 2 things: load a profile with trained commands, and subscribe to the Mental_Command stream.

emotivService.connect().then(() => {
    let profileName = 'test'
    emotivService.setupProfile(profileName, ProfileActions.LOAD)

    emotivService.readData([DataStream.MENTAL_COMMAND], (dataStream) => yourMentalCommandHandler(dataStream))
})  

After subscribing to the Mental_Command stream, you can then verify what command was executed like so:

private yourMentalCommandHandler(dataStream: any) {
    let commandReceived = dataStream['com']
   
    if (commandReceived) {
        switch (commandReceived[0]) {
            case MentalCommand.PUSH:
                console.log("Command PUSH executed")
                // your logic for PUSH command here...
                break;
            case MentalCommand.PULL:
                console.log("Command PULL executed")
                // your logic for PULL command here...
                break;
        }
    }
}

Package Sidebar

Install

npm i emotiv-ts

Weekly Downloads

2

Version

0.0.2

License

ISC

Unpacked Size

167 kB

Total Files

214

Last publish

Collaborators

  • apolomcmelo