Skip to main content

Library for interfacing with Neurosky's Mindwave EEG headset

Project description

NeuroSkyPy

NeuroSkyPy library written in python3.7 to connect, interact, get, save and plot data from NeuroSky's MindWave EEG headset, the first one ( black ).

This library is based on the mindwave mindset communication protocol published by Neurosky and is tested with Neurosky Mindwave EEG headset. Where It's readen the data in hex, after that it's decoded.

Installation

Source file

  1. Download the source file from github
  2. Unzip and navigate to the folder containing setup.py and other files
  3. Run the following command: python setup.py install

Pip

    pip3 install NeuroSkyPy

Usage

A test-script which is used as experiment it's left in order to check and learn how to use the class. The basic steps to use the class are:

  1. Importing the module: from NeuroPy import NeuroPy
  2. Initializing: neuropy = NeuroPy()
  3. After initializing, either the callbacks can be set or just extract data from the object as it's done in test-script.
  4. Then call neuropy.start() method, it will start fetching data from mindwave.
  5. To stop call neuropy.stop() WARNING: The main problem it's that the thread is not stopped so it will trigger a error. Nevermind you could continue using the script.

Obtaining Data from Device

  • Obtaining value: attention = neuropy.attention #to get value of attention_

    Other Variable attention, meditation, rawValue, delta, theta, lowAlpha, highAlpha, lowBeta, highBeta, lowGamma, midGamma, poorSignal and blinkStrength

  • Setting callback: A call back can be associated with all the above variables so that a function is called when the variable is updated. Syntax:

    setCallBack("[variable]",callback_function)
    

    for eg. to set a callback for attention data the syntax will be

    setCallBack("attention",callback_function)
    

    Other Variables: attention, meditation, rawValue, delta, theta, lowAlpha, highAlpha, lowBeta, highBeta, lowGamma, midGamma, poorSignal and blinkStrength

Sample Program 1 (Access via callback)

from NeuroPy import NeuroPy
from time import sleep

neuropy = NeuroPy() 

def attention_callback(attention_value):
    """this function will be called everytime NeuroPy has a new value for attention"""
    print ("Value of attention is: ", attention_value)
    return None

neuropy.setCallBack("attention", attention_callback)
neuropy.start()

try:
    while True:
        sleep(0.2)
finally:
    neuropy.stop()

Sample Program 2 (Access via object)

from NeuroPy import NeuroPy
from time import sleep

neuropy = NeuroPy() 
neuropy.start()

while True:
    if neuropy.meditation > 70: # Access data through object
        neuropy.stop() 
    sleep(0.2) # Don't eat the CPU cycles

Python Compatibility

Note

This library comes from the libraries NeuroPy and mindwave-python. The library is tested and comes with extracted data.

More Information

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

NeuroSkyPy-1.6.tar.gz (8.2 kB view hashes)

Uploaded Source

Built Distribution

NeuroSkyPy-1.6-py3-none-any.whl (20.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page