openbci-observable

1.0.5 • Public • Published

OpenBCI Observable

Reactive OpenBCI for Node

Getting started

This library works with the following OpenBCI hardware:

Get started by importing the module:

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

Package Sidebar

Install

npm i openbci-observable

Weekly Downloads

4

Version

1.0.5

License

MIT

Last publish

Collaborators

  • alexcastillo