Updated Version (2017.12.23)
Original repository: https://github.com/CymatiCorp/CyKITv2
Chat Discussion:
https://discordapp.com/invite/gTYNWc7
(Do not need discord app, just click for browser chat)
CyKit 2.0 (2017.12)
- for Python 2.7.6 (Windows)
- for Python 2.7, 3.5, 3.6 (Linux)
Python Data Controller for Neural EEG headsets.
Streams EEG data to a browser for data handling. Works with Chrome and Firefox thus far.
See requirements.txt.
- Install Python 2.7.6
- Install pycrypto
- Extract pywinusb-0.4.2
- Copy pywinusb/ folder to Python27\Lib\site-packages\
Tested with Arch Linux so far. Feel free to contribute!
Note: I'll outline the installation process for Python 3.6 in what follows.
- Install one of python 2,7, 3.5, 3.6
sudo pacman -S python
(for the latest python version) - Clone this repository and
cd
into the cloned repository - Install virtualenv and create it (as you like to keep your global site-packages clean)
sudo pacman -Syy python-virtualenv
virtualenv ./venv
- Install packages into local virtualenv
source ./venv/bin/activate
pip install -r requirements.txt
- Optionally, create missing symlinks for .so's from your virtualenv to your system folder. In my case, this was:
sudo ln -s path/to/venv/lib/python3.6/site-packages/hidraw.cpython-36m-x86_64-linux-gnu.so /usr/local/lib/libhidapi-libusb.so.0
Example 1.
python CyKITv2.py 127.0.0.1 18675 2
Example 2.
python CyKITv2.py 127.0.0.1 15309 4 info
Example 3.
python CyKITv2.py 127.0.0.1 12991 6 info+confirm
- Open a browser. (Firefox/Chrome)
- Open Web Document in project: /Web/CyKITv2.html
- Enter localhost and listen port used to run CyKITv2.py
- Press "Connect"
- Uses Python threading.
- Able to connect localy to localhost. (no need for http servers)
- Scrolling
- Able to make use of EEG data via javascript.
- EEG graphing.
- Masking (Advanced feature lets you manipulate data functions in real-time)
Note: Does not currently stream to openvibe.
Only a browser can access this data.
Updated 12.23.2017
Gyro Data not yet supported.
Depending on the headset, you may be able to view gyros in manual control.
Epoc+ gyros will not currently be displayed.
Note: Switching to Gyro-mode may cause EEG to stop displaying.
Refresh the browser if this occurs.
Recordings work, however it has not been tested with importing
to any application, and the headers may need some work.
Todo:
Fix (All, Counter) buttons.
Add Gyros.
Add Game.
Add Epoc+ Settings change.
Fix CSV header data.
Add OpenVIBE support.
Add Generic TCP layer.
Fix Misc. visual bugs with scrolling.
- Feel free to offer comments and suggests via Issues, for further
information check our Discord server. Submit new push requests,
if you have something to contribute.