Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
openbci-cyton-ble
Advanced tools
The Node.js SDK for the OpenBCI Cyton running BLE Biosensor Board.
Prove the Cyton over BLE instead of Gazell stack
First and foremost, Welcome! :tada: Willkommen! :confetti_ball: Bienvenue! :balloon::balloon::balloon:
Thank you for visiting the OpenBCI Cyton BLE NodeJS SDK repository.
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.
So, these problems add up to limit the amount of devices the cyton can stream it's high quality data to, and that's sad.
The OpenBCI Cyton BLE NodeJS SDK will:
Using BLE allows for every modern day computer to get data from the Cyton.
The author of the OpenBCI Cyton BLE NodeJS SDK is AJ Keller and he was sponsored by NEBA Health, LLC. We are in search of a reliable BLE driver to really get this project going! We used this repo to test the firmware we were writing.
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 prove the Cyton works over BLE instead of the Gazell stack 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.
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.
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. But you can also contact AJ by email (pushtheworldllc AT gmail DOT com) or on twitter.
You can also hang out, ask questions and share stories in the OpenBCI NodeJS room on Gitter.
You might be interested in:
And of course, you'll want to know our:
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.
To set up Cyton to do BLE, keeping in mind the switch on the Cyton between PC and BLE does nothing, you must change the firmware.
To undo an go back to the default firmware that ships with the Cyton
Please edit this document if you can improve it!
npm install openbci-cyton-ble
Object
Board optional configurations.
Kind: global class Author: AJ Keller (@pushtheworldllc)
InitializationObject
Promise.<T>
Promise.<T>
| *
Promise
Promise
null
| String
null
| Buffer
Promise
Promise
Promise
Promise
boolean
boolean
boolean
boolean
Number
Number
Promise
global.Promise
| Promise
Promise
Promise
Promise
Promise
The initialization method to call first, before any other method.
Param | Type | Description |
---|---|---|
options | InitializationObject | (optional) - Board optional configurations. |
callback | function | (optional) - A callback function used to determine if the noble module was able to be started. This can be very useful on Windows when there is no compatible BLE device found. |
InitializationObject
Kind: instance property of CytonBLE
Private Properties (keep alphabetical)
Kind: instance property of CytonBLE
Public Properties (keep alphabetical)
Kind: instance property of CytonBLE
Used to start a scan if power is on. Useful if a connection is dropped.
Kind: instance method of CytonBLE
Promise.<T>
Send a command to the board to turn a specified channel off
Kind: instance method of CytonBLE
Author: AJ Keller (@pushtheworldllc)
Param |
---|
channelNumber |
Promise.<T>
| *
Send a command to the board to turn a specified channel on
Kind: instance method of CytonBLE
Author: AJ Keller (@pushtheworldllc)
Param |
---|
channelNumber |
Promise
The essential precursor method to be called initially to establish a ble connection to the OpenBCI ganglion board.
Kind: instance method of CytonBLE
Returns: Promise
- If the board was able to connect.
Author: AJ Keller (@pushtheworldllc)
Param | Type | Description |
---|---|---|
id | String | Object | a string local name or peripheral object |
Destroys the noble!
Kind: instance method of CytonBLE
Destroys the multi packet buffer.
Kind: instance method of CytonBLE
Promise
Closes the connection to the board. Waits for stop streaming command to be sent if currently streaming.
Kind: instance method of CytonBLE
Returns: Promise
- - fulfilled by a successful close, rejected otherwise.
Author: AJ Keller (@pushtheworldllc)
Param | Type | Description |
---|---|---|
stopStreaming | Boolean | (optional) - True if you want to stop streaming before disconnecting. |
null
| String
Return the local name of the attached CytonBLE device.
Kind: instance method of CytonBLE
null
| Buffer
Get's the multi packet buffer.
Kind: instance method of CytonBLE
Returns: null
| Buffer
- - Can be null if no multi packets received.
Promise
Run a complete impedance test on a single channel, applying the test signal individually to P & N inputs.
Kind: instance method of CytonBLE
Returns: Promise
- - Fulfilled with a single channel impedance object.
Author: AJ Keller (@pushtheworldllc)
Param | Description |
---|---|
channelNumber | A Number, specifies which channel you want to test. |
Promise
Run impedance test on a single channel, applying the test signal only to P input.
Kind: instance method of CytonBLE
Returns: Promise
- - Fulfilled with a single channel impedance object.
Author: AJ Keller (@pushtheworldllc)
Param | Description |
---|---|
channelNumber | A Number, specifies which channel you want to test. |
Promise
Run impedance test on a single channel, applying the test signal to N input.
Kind: instance method of CytonBLE
Returns: Promise
- - Fulfilled with a single channel impedance object.
Author: AJ Keller (@pushtheworldllc)
Param | Description |
---|---|
channelNumber | A Number, specifies which channel you want to test. |
Promise
To test specific input configurations of channels!
Kind: instance method of CytonBLE
Returns: Promise
- - Fulfilled with a loaded impedance object.
Author: AJ Keller (@pushtheworldllc)
Param | Description |
---|---|
arrayOfChannels | The array of configurations where: 'p' or 'P' is only test P input 'n' or 'N' is only test N input 'b' or 'B' is test both inputs (takes 66% longer to run) '-' to ignore channel EXAMPLE: For 8 channel board: ['-','N','n','p','P','-','b','b'] (Note: it doesn't matter if capitalized or not) |
boolean
Checks if the driver is connected to a board.
Kind: instance method of CytonBLE
Returns: boolean
- - True if connected.
boolean
Checks if bluetooth is powered on.
Kind: instance method of CytonBLE
Returns: boolean
- - True if bluetooth is powered on.
boolean
Checks if noble is currently scanning.
Kind: instance method of CytonBLE
Returns: boolean
- - True if streaming.
boolean
Checks if the board is currently sending samples.
Kind: instance method of CytonBLE
Returns: boolean
- - True if streaming.
Number
This function is used as a convenience method to determine how many channels the current board is using.
Kind: instance method of CytonBLE
Returns: Number
- A number
Note: This is dependent on if you configured the board correctly on setup options
Author: AJ Keller (@pushtheworldllc)
Number
Get the the current sample rate is.
Kind: instance method of CytonBLE
Returns: Number
- The sample rate
Note: This is dependent on if you configured the board correctly on setup options
Promise
List available peripherals so the user can choose a device when not automatically found.
Kind: instance method of CytonBLE
Returns: Promise
- - If scan was started
Param | Type | Description |
---|---|---|
maxSearchTime | Number | The amount of time to spend searching. (Default is 20 seconds) |
global.Promise
| Promise
Called to end a search.
Kind: instance method of CytonBLE
Promise
Sends a soft reset command to the board
Kind: instance method of CytonBLE
Returns: Promise
- - Fulfilled if the command was sent to board.
Author: AJ Keller (@pushtheworldllc)
Promise
Sends a start streaming command to the board.
Kind: instance method of CytonBLE
Returns: Promise
- indicating if the signal was able to be sent.
Note: You must have successfully connected to an OpenBCI board using the connect
method. Just because the signal was able to be sent to the board, does not
mean the board will start streaming.
Author: AJ Keller (@pushtheworldllc)
Promise
Sends a stop streaming command to the board.
Kind: instance method of CytonBLE
Returns: Promise
- indicating if the signal was able to be sent.
Note: You must have successfully connected to an OpenBCI board using the connect
method. Just because the signal was able to be sent to the board, does not
mean the board stopped streaming.
Author: AJ Keller (@pushtheworldllc)
Promise
Used to send data to the board.
Kind: instance method of CytonBLE
Returns: Promise
- - fulfilled if command was able to be sent
Author: AJ Keller (@pushtheworldllc)
Param | Type | Description |
---|---|---|
data | Array | Buffer | Buffer2 | Number | String | The data to write out |
Configuring Options
Kind: inner property of CytonBLE
Object
Board optional configurations.
Kind: global typedef Properties
Name | Type | Description |
---|---|---|
debug | Boolean | Print out a raw dump of bytes sent and received. (Default false ) |
nobleAutoStart | Boolean | Automatically initialize noble . Subscribes to blue tooth state changes and such. (Default true ) |
nobleScanOnPowerOn | Boolean | Start scanning for CytonBLE BLE devices as soon as power turns on. (Default true ) |
sendCounts | Boolean | Send integer raw counts instead of scaled floats. (Default false ) |
Boolean | Print out useful debugging events. (Default false ) |
npm install
npm test
development
: git checkout development
git checkout -b my-new-feature
npm test
)git commit -m 'Add some feature'
git push origin my-new-feature
development
branch when submitting! :DMIT
FAQs
The Node.js SDK for the OpenBCI Cyton running BLE Biosensor Board.
The npm package openbci-cyton-ble receives a total of 20 weekly downloads. As such, openbci-cyton-ble popularity was classified as not popular.
We found that openbci-cyton-ble demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.