Nearly Post-Money

    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

    Install

    npm i openbci-observable

    DownloadsWeekly Downloads

    1

    Version

    1.0.5

    License

    MIT

    Last publish

    Collaborators

    • alexcastillo