Skip to content
This repository has been archived by the owner on Jul 29, 2020. It is now read-only.

neurosity/openbci-observable

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenBCI Observable

Reactive OpenBCI for Node

Getting started

This library works with the following OpenBCI hardware:

Get started by importing the library:

npm install --save openbci-observable
const { Cyton, Ganglion, Wifi } = require('openbci-observable');

// Or with an alias...

const BrainObservable  = require('openbci-observable').Ganglion;

Examples

Basic usage

Cyton
const { Cyton } = require('openbci-observable');

async function init () {
    const cyton = new Cyton();
    await cyton.connect();
    await cyton.start();

    cyton.stream.subscribe(sample =>
        console.log('sample', sample)
    );
}

init();
Ganglion
const { Ganglion } = require('openbci-observable');

async function init () {
    const ganglion = new Ganglion();
    await ganglion.connect();
    await ganglion.start();

    ganglion.stream.subscribe(sample =>
        console.log('sample', sample)
    );
}

init();
Wifi
const { Wifi } = require('openbci-observable');

async function init () {
    const wifi = new Wifi();
    await wifi.connect({ ipAddress: 'xx.xx.xx.xx' });
    await wifi.start();

    wifi.stream.subscribe(sample =>
        console.log('sample', sample)
    );
}

init();

Adding operators

** All operators from this library have been migrated to the eeg-pipes project. Now these can be used as "lettable" RxJS operators. **

// npm install openbci-observable eeg-pipes
const { Ganglion } = require('openbci-observable');
const { voltsToMicrovolts, bufferFFT, alphaRange } = require('eeg-pipes');

async function init () {
    const ganglion = new Ganglion();
    await ganglion.connect();
    await ganglion.start();

    ganglion.stream.pipe(
        voltsToMicrovolts(),
        bufferFFT({ bins: 256 })
        alphaRange()
    ).subscribe(buffer =>
        console.log('alpha buffer', buffer)
    );
}

init();

And now we have an FFT buffer of Alpha waves!

Dependencies Prerequisites

Make sure you have Node version >= 7.8 installed for development purpose.

License

MIT © Alex Castillo