Code Monkey home page Code Monkey logo

openbci_nodejs's Introduction

OpenBCI NodeJS SDK

banner

Provide a single source to program all OpenBCI biosensors in NodeJS

Stories in Ready Join the chat at https://gitter.im/OpenBCI/OpenBCI_NodeJS Build Status npm

Welcome!

First and foremost, Welcome! πŸŽ‰ Willkommen! 🎊 Bienvenue! 🎈🎈🎈

Thank you for visiting the OpenBCI NodeJS SDK repository. This repository does not contain any specific source code and bugs for a specific biosensor should be open in their respective repositories: Cyton | Ganglion | WiFi Shield | Utilities. Checkout this blog post to understand the rational behind this modular structure of our java script code base.

This document (the README file) is a hub to give you some information about the project. Jump straight to one of the sections below, or just scroll down to find out more.

What are we doing?

The problem

  • There are a bunch of NodeJS repos for the Ganglion, Cyton and Wifi Shield
  • Examples are spread out across all these NodeJS repos
  • Some examples across NodeJS repos have the same code
  • There is no common interface for these NodeJS repos
  • NodeJS is a powerful tool for

So, if even the very best developers want to use NodeJS with their OpenBCI boards, they are left scratching their heads with where to begin. integrate the current easy to use Cyton and Ganglion NodeJS drivers, they are still burdened by the limitations of the physical hardware on the OpenBCI system.

The solution

The OpenBCI NodeJS SDK will:

  • Allow NodeJS users to import one module and use any board they choose
  • Provide examples of using NodeJS to port data to other apps like python and lab streaming layer
  • Provide a no low level device specific code to prevent the need to rewrite new examples for each board
  • Provide examples of filtering and different functions to transform raw data
  • Provide a common interface to all openbci boards to increase the speed at which new boards can be integrated

Using this repo provides a building block for developing with NodeJS. The goal for the NodeJS library is to provide a single source to program all OpenBCI biosensors in NodeJS

Who are we?

If we look back in time, we see this library took shape when the Cyton board was the only OpenBCI board around. Then the Ganglion came around which required it's own nodejs libary! When the wifi shield was in development, we created the wifi nodejs driver which was had a lot of overlap with Cyton and Ganglion nodejs drivers. Therefore we pulled out the common code between all three NodeJS modules and created the [nodejs utilities][link_nodejs_utilities] which as of today is also available to use in the browser.

The contributors to these repos are people using NodeJS mainly for their data acquisition purposes. For example, the entire OpenBCI GUI is dependent on the NodeJS ecosystem to provide cross platform support.

What do we need?

You! In whatever way you can help.

We need expertise in programming, user experience, software sustainability, documentation and technical writing and project management.

We'd love your feedback along the way.

Our primary goal is to provide a single source to program all OpenBCI biosensors in NodeJS, and we're excited to support the professional development of any and all of our contributors. If you're looking to learn to code, try out working collaboratively, or translate you skills to the digital domain, we're here to help.

Get involved

If you think you can help in any of the areas listed above (and we bet you can) or in any of the many areas that we haven't yet thought of (and here we're sure you can) then please check out our contributors' guidelines and our roadmap.

Please note that it's very important to us that we maintain a positive and supportive environment for everyone who wants to participate. When you join us we ask that you follow our code of conduct in all interactions both on and offline.

Contact us

If you want to report a problem or suggest an enhancement we'd love for you to open an issue at this github repository because then we can get right on it.

You can also hang out, ask questions and share stories in the OpenBCI NodeJS room on Gitter.

Find out more

You might be interested in:

And of course, you'll want to know our:

Glossary

OpenBCI boards are commonly referred to as biosensors. A biosensor converts biological data into digital data.

The Ganglion has 4 channels, meaning the Ganglion can take four simultaneous voltage readings.

The Cyton has 8 channels and Cyton with Daisy has 16 channels.

Generally speaking, the Cyton records at a high quality with less noise. Noise is anything that is not signal.

Thank you

Thank you so much (Danke schΓΆn! Merci beaucoup!) for visiting the project and we do hope that you'll join us on this amazing journey to make programming with OpenBCI fun and easy.

Installation:

npm install openbci

Developing:

Running:

npm install --all

License:

MIT

openbci_nodejs's People

Contributors

baffo32 avatar teonbrooks avatar andrewheusser avatar conorrussomanno avatar khwilson avatar asyrique avatar gabrielibagon avatar haniawni avatar waffle-iron avatar gitter-badger avatar gerrievanzyl avatar nategeorge avatar octopicorn avatar

Watchers

James Cloos avatar Muhammad Shanawar Khan 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.